Quine in ZZT-OOP
Moderators: Commodore, Zenith Nadir
Quine in ZZT-OOP
Man i wrote this big long thing about quines in ZZT-OOP and the different possible ways to create them, but the bitch didn't post it give error.
Here follows a synopsis:
1. An infinite number of psuedoquines can be generated because ZZT-OOP displays any line of text not preceded by special characters (!@#:').
These are dumb. Moving on:
2. Create a quine using # commands, :labels, and fudging a bit using spaces in front of #commands and :labels and not caring in the final quine whether there's a space in front of the #command.
Also kinda dumb, but the only hope for creating a quine that displays in a text box.
3. Create an object that is constantly duplicating, and have it create the quine by walking to spots on the board and using #char to assemble itself into the quine on the screen.
Maybe I'm just being dumb, but the fact that movement requires two characters per move (/x ?x) seems to preclude this.
4. Create a ZZT-OOP interpreter in ZZT-OOP, with a limited set of input parameters and commands, and have it use an upper and lower line as input a la janson's composer engine. Then have the execution robot assemble those lines via the quine algorhythm.
Easily the most reachable goal. I haven't written a ZZT-OOP interpreter but I've written a brainfuck interpreter in ZZT-OOP that could quine itself if I could write a small enough quine for it.
Attempt a quine. Tell us your results.
Here follows a synopsis:
1. An infinite number of psuedoquines can be generated because ZZT-OOP displays any line of text not preceded by special characters (!@#:').
These are dumb. Moving on:
2. Create a quine using # commands, :labels, and fudging a bit using spaces in front of #commands and :labels and not caring in the final quine whether there's a space in front of the #command.
Also kinda dumb, but the only hope for creating a quine that displays in a text box.
3. Create an object that is constantly duplicating, and have it create the quine by walking to spots on the board and using #char to assemble itself into the quine on the screen.
Maybe I'm just being dumb, but the fact that movement requires two characters per move (/x ?x) seems to preclude this.
4. Create a ZZT-OOP interpreter in ZZT-OOP, with a limited set of input parameters and commands, and have it use an upper and lower line as input a la janson's composer engine. Then have the execution robot assemble those lines via the quine algorhythm.
Easily the most reachable goal. I haven't written a ZZT-OOP interpreter but I've written a brainfuck interpreter in ZZT-OOP that could quine itself if I could write a small enough quine for it.
Attempt a quine. Tell us your results.
- Zenith Nadir
- this is my hammer
- Posts: 2767
- Joined: Wed Mar 12, 2003 11:40 am
- Location: between the black and white spiders
- Zenith Nadir
- this is my hammer
- Posts: 2767
- Joined: Wed Mar 12, 2003 11:40 am
- Location: between the black and white spiders
oh, right
i remember flimsy once made a bunch of objects that duplicated themselves in the exact same order over and over, until they ran out of space on the board
that was pretty cool! it was a long time ago though
i remember flimsy once made a bunch of objects that duplicated themselves in the exact same order over and over, until they ran out of space on the board
that was pretty cool! it was a long time ago though
he looked upon the world and saw it was still depraved
Overall: Rotton egg for breakfast
Overall: Rotton egg for breakfast
- Quantum P.
- Level 17 Accordion Thief
- Posts: 1433
- Joined: Fri Sep 12, 2003 1:41 am
- Location: Edmonds, WA
- Contact:
I wrote a bf executer in ZZT a few years ago, and then thought it would never be interesting to anyone, but it turns out someone else has done the same thing. Brilliant!
I can't remember the exact specifics of my engine, but there was roughly a register for each column on the board. Each column could contain an integer up to the number of rows minus about 5 or 6. The value of each register was the number of boulders in it. The bf program was entered as a row of tiles (breakable in different colours I think), and I think I used the 8 symbol varient of bf, though integer entry was pretty gay.
I'm not convinced by the argument for 3:
I would be happy with an object that changed char to each of the symbols in the program in order.
I can't remember the exact specifics of my engine, but there was roughly a register for each column on the board. Each column could contain an integer up to the number of rows minus about 5 or 6. The value of each register was the number of boulders in it. The bf program was entered as a row of tiles (breakable in different colours I think), and I think I used the 8 symbol varient of bf, though integer entry was pretty gay.
I'm not convinced by the argument for 3:
but then again I've not tried writing one like this either. I don't think you can get the object to paste itself into the background anyway, so the whole walking around thing seems a bit redundant.Maybe I'm just being dumb, but the fact that movement requires two characters per move (/x ?x) seems to preclude this.
I would be happy with an object that changed char to each of the symbols in the program in order.
- Alexis Janson
- wacky morning DJ
- Posts: 307
- Joined: Fri Feb 20, 2004 1:05 am
I ran into that again not too long ago, but I can't remember where. It is pretty cool, but it's not really a quine, and technically could be reduced to just two duplicators in a row. Duplicatin' around.Zenith Nadir wrote:oh, right
i remember flimsy once made a bunch of objects that duplicated themselves in the exact same order over and over, untill they ran out of space on the board
that was pretty cool! it was a long time ago though