increpare
Guest
|
|
« Reply #20 on: November 24, 2008, 01:30:55 PM » |
|
another grid...
*[[[e*[sw*[e*]]]s*]n*]
shortest whitescreen code?
*[[e*]*s*]*
shortest grid code?
*[[ee*]*es*]*
I quite like this one:
*[[[[e*]ssw*]n*]*n]
(also this one
*[[[e*]*[s*]*n[e*]*w[n*]*[sw*]*[*n][*se*]e]*]
)
|
|
« Last Edit: November 24, 2008, 01:52:44 PM by increpare »
|
Logged
|
|
|
|
Hideous
|
|
« Reply #21 on: November 24, 2008, 01:41:43 PM » |
|
Now make it generate TIG-Pixel-pictures.
|
|
|
Logged
|
|
|
|
increpare
Guest
|
|
« Reply #22 on: November 24, 2008, 01:54:55 PM » |
|
One thing, if you introduced coloured syntax (something that doesn't interest me too much in and of itself) would be to have a correspondence between syntax elements and language symbols, so that you'd be able to feed a program back into itself.
|
|
|
Logged
|
|
|
|
Farbs
|
|
« Reply #23 on: November 24, 2008, 04:31:11 PM » |
|
mjau's Whee is awesome!
I tried to copy data between rows last night, but couldn't figure it out without destroying the original or losing the pointer. Hrm.
If you wanted to make it pretty without destroying the simplicity you could show pixel colour based on age. Set and unset pixels could blend across different colour gradients based on how long since they were last touched or modified. I'm not sure how well flash would deal with the drawing load though.
|
|
|
Logged
|
|
|
|
Alevice
|
|
« Reply #24 on: November 24, 2008, 04:59:46 PM » |
|
Self-deleting and redrawing boxed cross *[[e*]*w[s*]*n[w*]*e[n*]*
[se*]*e[ne*]*e[*se]*nw*e[*ne]*sw*e [*e]w*[*s]n*[*w]e*[*n]*]
|
|
|
Logged
|
|
|
|
increpare
Guest
|
|
« Reply #25 on: November 24, 2008, 05:41:02 PM » |
|
more atomic statements: black square
[*]
white square
[*]* if statements sort of look like this I think (wait no, it's wrong...I think maybe impossibly just using one cell?): *[* IFBLACK *]*[ IFWHITE *]*
(provided the ifblack statement doesn't modify the square being checked, and that you end on that square) an unconditional loop of sorts(ergo also wrong)? *[* *[* LOOPCODE ] *]*[ [ LOOPCODE ] *]
|
|
« Last Edit: November 24, 2008, 06:13:24 PM by increpare »
|
Logged
|
|
|
|
increpare
Guest
|
|
« Reply #26 on: November 24, 2008, 06:16:39 PM » |
|
Just thinking now, one thing that would be nice would be a trace tool, showing which part of the code is currently getting executed.
|
|
|
Logged
|
|
|
|
Farbs
|
|
« Reply #27 on: November 24, 2008, 06:39:22 PM » |
|
*[* IFBLACK *]*[ IFWHITE *]*
I'm pretty sure the first part of that condition will loop indefinitely if black. Also the second part will leave the test pixel as white regardless of the input state. This is why I couldn't duplicate data last night, since my tests always destroyed the source. Good work on the atomics though. And yes, trace and step functionality would be awesome.
|
|
|
Logged
|
|
|
|
increpare
Guest
|
|
« Reply #28 on: November 24, 2008, 06:55:44 PM » |
|
I'm pretty sure the first part of that condition will loop indefinitely if black. Yeah, it doesn't work. (just tried to implement this, but...yeah...it's not quite working just yet ) One thing that would make coding a lot easier would be to have an 'if' bracket, that would run it's contents if the current square was white (as opposed to looping). Also: having the text-entry area be resizeable would be coolbeans.
|
|
« Last Edit: November 24, 2008, 06:59:35 PM by increpare »
|
Logged
|
|
|
|
Farbs
|
|
« Reply #29 on: November 24, 2008, 07:00:13 PM » |
|
Heh, that's exactly what I was trying to do
|
|
|
Logged
|
|
|
|
increpare
Guest
|
|
« Reply #30 on: November 24, 2008, 07:02:51 PM » |
|
Heh, that's exactly what I was trying to do :D
|
|
|
Logged
|
|
|
|
Farbs
|
|
« Reply #31 on: November 24, 2008, 07:13:51 PM » |
|
Read and write access to a single one bit register would be extremely handy, but then it's not really in the spirit of the language. Hrm.
|
|
|
Logged
|
|
|
|
increpare
Guest
|
|
« Reply #32 on: November 24, 2008, 07:19:46 PM » |
|
Read and write access to a single one bit register would be extremely handy, but then it's not really in the spirit of the language. Hrm.
in principle, we have everything we need to hand already, languagewise ... :/
|
|
|
Logged
|
|
|
|
increpare
Guest
|
|
« Reply #33 on: November 24, 2008, 07:57:16 PM » |
|
I tried to copy data between rows last night, but couldn't figure it out without destroying the original or losing the pointer. Hrm.
This copies a point one row down, but it destroys stuff up to two rows above, I thinkn [*] n [*] ss
[ n [*]* n [*]* ss *]
n
s [*] s [*] n n
[ s [*]* s [*]* nn *]
s
That what you were talking about, or? (for instance, this seems to work ok: *[ee*]
s [*]* [ n
n [*] n [*] ss
[ n [*]* n [*]* ss *]
n
s [*] s [*] n n
[ s [*]* s [*]* nn *]
s
s e [*]* ] ) For the automata, these should be easily-enough modifiable to turn into 'save/restore' functions (given that you're only going to need to read one row of output to produce the next one).
|
|
« Last Edit: November 24, 2008, 08:17:14 PM by increpare »
|
Logged
|
|
|
|
Loren Schmidt
|
|
« Reply #34 on: November 24, 2008, 08:42:25 PM » |
|
*[[w*ee*]*nnn*]
s*[e*n*w*s]
|
|
|
Logged
|
|
|
|
Farbs
|
|
« Reply #35 on: November 24, 2008, 08:59:43 PM » |
|
Oh that's clever increpare! Although you can't inspect a bit without destroying it, on inspecting it you can copy it to multiple locations. I've simplified this below to use only one helper bit: * n [*] s [ n * s *] s [*] nn [ s * s * nn *] s
By step it: Sets source data (remove to copy 0 rather than 1) Clears tile above Moves test tile to upper tile (leaving test clear) Clears lower tile Moves upper tile to test and lower tile, clearing upper tile Returns pointer to test tile
|
|
|
Logged
|
|
|
|
increpare
Guest
|
|
« Reply #36 on: November 24, 2008, 09:02:46 PM » |
|
I think I have that universal automata done...it runs very slowly though, from what I can see it's producing the right sort of output, but it's five to five, and I have tutorials early in the morning to give, so forgive me if I have any mistakes in it *big fingers crossed* ( source ) ---- and yip farbs, your modifications is close to what I did in the end (only storing information above instead of below, because the automata moves down...) *[[w*ee*]*nnn*]
s*[e*n*w*s]
The delux version: *[ [[w*ee*]*nnn*]
s*[e*n*w*sn] * ]
|
|
« Last Edit: November 24, 2008, 09:13:05 PM by increpare »
|
Logged
|
|
|
|
Decipher
Guest
|
|
« Reply #37 on: November 25, 2008, 03:16:51 AM » |
|
So there goes my maze-solver, I coded this during a very boring ToK (Theory of Knowledge) lesson while listening to a TED talk on something I don't (want to) know. And because of that guy my maze solver isn't perfect :/, it leaves trace... I can solve it when I get to home. I call this Westwood Maze Solver, because it solves the maze west-ward. Anyways, have fun. *[e*]* ssss eee*eeeee*[e*]* ssss wwwwww*wwwww*[w*]* ssss ww*wwwww*[w*]* ssss eeeeeee*eeeee*[e*]* ssss ww*eeeee*[e*]*
nnnn nnnn nnnn nnnn nn
*[*w*ss[nn*]*]
|
|
|
Logged
|
|
|
|
increpare
Guest
|
|
« Reply #38 on: November 25, 2008, 03:51:24 AM » |
|
So there goes my maze-solver, I coded this during a very boring ToK (Theory of Knowledge) lesson while listening to a TED talk on something I don't (want to) know. And because of that guy my maze solver isn't perfect :/, it leaves trace... I can solve it when I get to home. I call this Westwood Maze Solver, because it solves the maze west-ward. very cute
|
|
|
Logged
|
|
|
|
jeb
|
|
« Reply #39 on: November 25, 2008, 03:54:44 AM » |
|
The world's slowest rain animation: *s*s*eeeee*s*s*eee*s*s*eee*s*s*eenee*s*s*eee*s*s*eeee*s*s*eee*s*s*eee*s*s*eee*s*s*eee*s*s*eee*s*eee*s*s*eee*s*s* eee*s*s*eeee*s*s*ee*s*s*eee*s*s*eeee*s*s*ee*s*s*eene*s*s*eee*s*s*eee*s*eee*s*s*eee*s*s*eee*s*s*eee*s*s* eene*s*s*eeee*s*s*eee*s*s*eee*s*s*eee*s*s*ee*s*s*eee*s*s*eee*s*s*eeeee*s*s*eee*s*s*eee*s*s*eee*s* eee*s*s*eeee*s*s*eee*s*s*eee*s*s*eee*s*s*ee*s*s*eee*s*s*eee*s*s*eeeee*s*s*eee*s*s*eee*s*s*eee*s* eee*s*s*eeee*s*s*eee*s*s*eee*s*s*eee*s*s*ee*s*s*eee*s*s*eee*s*s*eeeee*s*s*eee*s*s*eee*s*s*eee*s* [e*[*e*]*[n]s*s[s]*]
|
|
|
Logged
|
|
|
|
|