I’m currently working on what seemed to be a simple game but I’m having a hard time with this step.
I want to create a game where the player can record a series of input that can be recalled to control a robot.
In other words, I want the player to be able to press ‘‘Up’’, ‘‘Left’’, ‘‘Forward’’, ‘‘Forward’’, ‘‘Right’’, Backward, etc… and then press play to have the robot do all of these movements one after the other.
At this point I can control the robot exactly as I want (pressing left and right will simply rotate the robot in the same square and forward and backward will make him move relative to the direction it is facing). I can control it within boundaries with the keyboard.
Here are a few images showing the basic layout of the game as well as most of the code (you will be able to understand what I’ve done so far I hope).
I just need help finding a way to record and recall let’s say 10 moves that the robot will then do when the play button is pressed.
Use an array. Each time a key is pressed, push a value representing the move onto the array. To replay, simply take the first array entry (i.e. the one at index = 0); so that is read it and then delete it.
Also, you can simplify setting the animation by setting it directly to the variable value. And you can set the direction variable by using the mod (aka modulus) operator. It returns the remainder when the first value is divided by the second value. For mod 4, adding 3 is the same as subtracting one while keeping the result positive (because mod(-1, 4) is -1).
I am getting closer but I really need help understanding how to use the arrays, it looks like I can’t wrap my head around how to access them.
I can store the variables for each directions in the array (as you can see in the picture) but I just can’t find how to “take the first array entry (i.e. the one at index = 0); so that is read it and then delete it.” like you suggested. I posted a few images to show what I’ve done so far, hoping I’m at least on the right track.