USE UPS NEXT DAY AIR FOR ANY USA ORDER BEFORE 11AM ET *TODAY* 12/19/2014 TO GET YOUR PACKAGE IN TIME FOR XMAS - PLEASE SEE OUR SHIPPING DEADLINE NOTICE FOR MORE DETAILS!

April 27, 2012 AT 8:34 am

HOW TO – Text Adventure – Arduino Retro Gaming “Hunt the Wumpus”

From the first time I saw the D-Pad on the RGB LCD shield, I knew I wanted to play a game on the Arduino.  After a bit of thinking, I settled on Hunt the Wumpus as a good fit:

  • Different screens can have different backlight colors
  • The LCD is large enough for selecting caves to move to or shoot into
  • The Wumpus, bat, and pit can all have custom characters

For this project I used:

While coding Hunt the Wumpus, I ran into a problem with one of my functions.  I wanted to use an enum to represent different hazards (bats, pits, Wumpus) and have a common function to check a given cave for hazards and return the enum of the first one found.  This helps with showing hazards in neighboring caves as well as checking a cave before the player moves into it.

I started by declaring a function which returns an enum:

HazardType check_for_hazards(uint8_t room_idx) {
…
}

Unfortunately, this resulted in the following error message:

Hunt_The_Wumpus:-1: error: 'HazardType' does not name a type

It turns out that this is a known issue with a documented workaround and the fix was as simple as adding a header file to my project which contains the enum declaration and a function prototype:

enum HazardType { NONE=0, BAT=1, PIT=2, WUMPUS=4 };

HazardType check_for_hazards(uint8_t room_idx);

The full source is available on github so you too can hunt the Wumpus (or, perhaps, be eaten by the Wumpus).

 

What other classic games would be a good fit for the RGB LCD shield?


Check out all the Circuit Playground Episodes! Our new kid’s show and subscribe!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Learn resistor values with Mho’s Resistance or get the best electronics calculator for engineers “Circuit Playground”Adafruit’s Apps!



1 Comment

  1. I am both thrilled and disappointed. I had the same idea myself a while back as an exercise in using a similar, but not nearly as RGB, LCD & button shield available elsewhere. The idea got tossed on the todo pile along with many other idea.

    I am excited to see it implemented. It seems like many of the text based games from the 80’s might be a fun port to the Arduino and LCD shield. (see “Basic Computer Games” and “More Basic Computer Games”.)

Sorry, the comment form is closed at this time.