My First Raspberry Pi Game " Part 03 " It's like a magic spell

November 14, 2012 [My First Raspberry Pi Game, Programming Languages, Python, Raspberry Pi, Tech, Videos]

Parts: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.

Writing your first ever computer program on the Raspberry Pi.

Today we will write the very basic outline of our game. When we've finished it won't actually do anything. In fact, it won't even run.

Writing a computer program is a lot like doing magic. To write programs well it is really helpful to treat it like magic, and not think about how it works (until you have to...). We're going to do that - write down in very simple terms what our program will do, but not yet think about how it will do it.

The program we are going to write is a very simple test of your reactions. It will show you either a green circle or a red square. If you see a green circle, you have to press a key as quickly as you can. If you see a red square, you must not press anything.

That's the whole of the game (for now).

To make this game, we need to start up, then show a ready screen, then wait for a while showing the ready screen, then show a shape and wait for a key press, then finish.

So, let's write our magic spell. Start up LeafPad just like we did in part 2. Click File, then Open, click on "pi" on the left, then double-click redgreen.py to load up our Hello, world program. Delete everything that's there, and type exactly this instead:

start()

ready_screen()

wait()

shape()

end()

The brackets after each word mean "do it" - what they really mean is find a "function" with this name, and run it. A function is like a mini-program.

So, now our program is finished, right?

Let's run it. Go to the File menu in LeafPad and click Save, then open LXTerminal just like in part 2 and run the program by typing "python redgreen.py" as before. Here's what happens:

$ python redgreen.py
Traceback (most recent call last):
  File "redgreen.py", line 3, in 
    start()
NameError: name 'start' is not defined

We told python to run a function called "start", but we haven't written any functions yet, so it couldn't find it.

Our spell is cast, but we next time we need to start on the ingredients it uses. See you then.

Comments

Andy Balaam's Blog » Blog Archive » My First Raspberry Pi Game – Part 02 – Saying hello 2012-11-14

[…] Free Software « My First Raspberry Pi Game – Part 01 – Before we start My First Raspberry Pi Game – Part 03 – It’s like a magic spell […]

Bill Gentles 2012-11-18

This is very helpful. I’m a total newbie at Linux. Thanks for making things so clear. Hope there’s more to come.

Andy Balaam 2012-11-18

Hi Bill, thanks! I am working on the next one…

Andy Balaam's Blog » Blog Archive » My First Raspberry Pi Game – Part 01 – Before we start 2012-11-19

[…] My First Raspberry Pi Game – Part 01 – Before we start Parts: 1, 2, 3. […]

Mark Kelly 2012-11-20

This is very easy to follow. I look forward to the next one and many more after that. You have a talent for teaching.
So many others have this look at lot more complicated than it is. You have done the clever thing of making it seem simple; not an easy task to do.