(1) Using VNA Code, make a program that copies itself to a new location 70 nodes forward while COMPLETELY ERASING its previous self in the process - it can leave no trace of itself behind.... the program must be as small & efficient as possible of course.
If nobody can get it after a little while, I may post some hints or my answer (I'm sure there are multiple ways to do it). For the shortest number of lines that I've made, open this spoiler:
Spoiler for number of lines my solution has:
1 Talk about efficiency
(2&3) Consider a new command, 'SPAWN' (it's not an actual command I've made but let's pretend it exists solely for riddles #2 and #3). Say that this command creates an entirely new program pointer at the node denoted by the SPAWN's a-parameter. The new program is completely independent of the other programs and also is now trying to win, just like the others. It's turn directly follows the program that spawned it.
(2) What is the fatal design flaw in this program? [there may be several]
COPY 3;50;0
COPY 3;b(-1);0
SHIFT 3;b(-2);4
EDITI 1;2;1
SHIFT 1;10;-1
BOMB 0;0;0
SPAWN sub(b(-6),6);0;0
EDITI -7;45;1
JUMP -8;0;0
(3) Now say that your only goal is to defeat the enemy program, so all of your SPAWNed programs are like your allies. Write a program that evolves via natural selection to build the optimal program for destroying the enemy. [This one is tough, I haven't attempted it yet, although I'm pretty sure it's possible ]
(SPAWN is not an actual command and was only used for 2&3. It doesn't exist anymore for the rest of the problems )
(4) Write a program specifically to defeat this program before it overwrites you:
SHIFT 0;3;3
(5) Describe how you could use existing functions to create a random/pseudorandom/unpredictable 1-digit number as a result (there was a rand function in VNA 2.0 for a short time, but I removed it for many reasons - #5 is like creating your own rand function)
Question
unreality
VNA Riddles!!!
(1) Using VNA Code, make a program that copies itself to a new location 70 nodes forward while COMPLETELY ERASING its previous self in the process - it can leave no trace of itself behind.... the program must be as small & efficient as possible of course.
(2&3) Consider a new command, 'SPAWN' (it's not an actual command I've made but let's pretend it exists solely for riddles #2 and #3). Say that this command creates an entirely new program pointer at the node denoted by the SPAWN's a-parameter. The new program is completely independent of the other programs and also is now trying to win, just like the others. It's turn directly follows the program that spawned it.
(2) What is the fatal design flaw in this program? [there may be several]
COPY 3;50;0
COPY 3;b(-1);0
SHIFT 3;b(-2);4
EDITI 1;2;1
SHIFT 1;10;-1
BOMB 0;0;0
SPAWN sub(b(-6),6);0;0
EDITI -7;45;1
JUMP -8;0;0
(3) Now say that your only goal is to defeat the enemy program, so all of your SPAWNed programs are like your allies. Write a program that evolves via natural selection to build the optimal program for destroying the enemy. [This one is tough, I haven't attempted it yet, although I'm pretty sure it's possible ]
(SPAWN is not an actual command and was only used for 2&3. It doesn't exist anymore for the rest of the problems )
(4) Write a program specifically to defeat this program before it overwrites you:
SHIFT 0;3;3
(5) Describe how you could use existing functions to create a random/pseudorandom/unpredictable 1-digit number as a result (there was a rand function in VNA 2.0 for a short time, but I removed it for many reasons - #5 is like creating your own rand function)
(6) Write a program that does something cool
Link to comment
Share on other sites
14 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.