Maker.io main logo

Build a Raspberry Pi Scratch Game of Chance

31

2022-12-22 | By Maker.io Staff

License: See Original Project

You’ve probably flipped a coin to make some sort of trivial decision with your ‎friends, but what if we told you that you can make that coin flip a bit more ‎interesting? Or that flipping a coin could be turned into its own game?‎

In this project, we’ll show you how to get away from the manual approach to ‎flipping the coin and instead use an embedded computer-based game that can be ‎realized with the Raspberry Pi and a Sense HAT. Think of this as flipping the Coin ‎‎2.0: you’ll be guessing when a cat sprite lands on its feet. Even if you don’t use it ‎to replace your trusty favorite coin, it is still a fun project to work on!‎

Read below to learn more!‎

Reinventing the Coin Flip with the Gyro-Cat Scratch Game

Building the Gyro-Cat Scratch Game requires two main electronic components: a ‎Raspberry Pi and a Raspberry Pi (RPi) Sense HAT. The Sense HAT uses an 8x8 ‎matrix of addressable LEDs that can display various characters, scrolling text, and ‎numbers. With an 8x8 matrix, the Sense HAT provides 64 pixels for displaying ‎visual information. ‎

hat_1

The RPI Sense HAT.‎

Interacting with the Gyro Cat will require the player to start the flip using a ‎joystick. The RPi Sense HAT has a small joystick at the bottom right corner of the ‎printed circuit board (PCB). By pushing the RPI Sense HAT joystick in the upward ‎direction, the Raspberry Pi will move the Scratch cat sprite in an upward spiral ‎motion on the screen of the attached monitor. ‎

joystick_2

The RPI Sense HAT joystick.‎

The Raspberry Pi single-board computer (SBC) will provide the visual and audible ‎effects of the game using an attached monitor and speakers. The joystick position ‎data will be transferred to the Raspberry Pi from the RPi Sense HAT through the ‎‎40-pin connector. The Scratch cat rotational movement will be displayed on the ‎attached monitor using the Scratch blockly code programming language. There is ‎a cat meow sound produced using the Scratch sound code block.‎

The assembly of the Raspberry Pi and the RPi Sense HAT is illustrated below, and ‎you can see the parts list for this project in the following Scheme-it link: ‎https://www.digikey.com/schemeit/project/gyro-cat-scratch-game-‎fde79a6d1217495aa79c45d5c5f76002‎

assembly_3

The red transparency is added to make the scrolling messages easier to see.‎

console_4

The assembled Raspberry Pi Sense HAT game console

Using the Scratch Blockly Code

This Gyro Cat game software is built using Scratch, which is included with the ‎Raspberry Pi operating system. The game was developed in three sections: the ‎Start-player, the Timer, and the Reset player. The Start-player code allows the ‎game to be initiated by clicking the on-screen green flag in the stage window. ‎

With the green flag clicked, the title of the game scrolls across the LED matrix, as ‎shown below.‎

feature_5 ‎ ‎

The Gyro Cat scrolling title feature

Within the code structure, there is a conditional statement that looks for the ‎joystick being pushed upward by the player. When the joystick is pushed upward, ‎the cat will move and turn in a 10-step, - 90˚, and 30-step sequence. The code ‎used for checking the joystick position and sequencing the Scratch cat movements ‎is captured within a loop. The loop will run continuously until the player clicks the ‎on-screen red stop sign. ‎

Below are the code blocks for the Start-player game section. The sequence can be ‎modified to provide new sprite movements for the game by changing the move ‎and turn code blocks. ‎

blocks_6

The Start-player code blocks

The Timer section consists of code blocks that allow a 10-second window of play ‎within the game. The timer is initiated by the player tapping the spacebar on the ‎keyboard. The word Go is displayed on the Scratch stage, as shown below. ‎

go_7

Using the joystick, the player will move the Scratch sprite in a spiral matter. An ‎up-release motion with the joystick will allow the spiral motion to occur. Upon the ‎‎10-second timer elapsing, the Game-Over message will scroll across the RPi Sense ‎HAT LED matrix, and a cat meow sound will then be played. The Timer code blocks ‎are shown here:‎

timer_8

The final section for the Gyro Cat Scratch game is the Reset-player mode. This ‎section of code will allow the player to start a new game session by placing the ‎Scratch sprite back on its feet when the joystick is pressed down. The sprite will be ‎oriented 90˚ and placed at XY coordinates of (3,29). The Reset-player code is ‎shown here: ‎

view_9

The final console and operation of the Gyro-Cat Scratch game may be viewed by ‎watching the video here:

 

The Rules for your New Game

‎1.‎ Click the green flag

a.‎ Gyro-Cat name will scroll on the RPi Sense HAT LED matrix

b.‎ The RPI Sense HAT LED matrix will clear‎

2.‎ Click the spacebar on the keyboard

a.‎ The sprite will say (display) “GO”

‎‎3.‎ Move the joystick on the RPi Sense HAT to spin the Scratch sprite

a.‎ Periodically push up-release the joystick

b.‎ See if the Scratch sprite is standing on his feet‎

4.‎ Count (record) the number of times the Scratch sprite lands on its feet ‎within the time allotted

5.‎ When the time is up, the “Game-Over” message will scroll across the RPi ‎Sense HAT LED matrix

a.‎ A cat meow sound will be heard

‎b.‎ The cat meow sound signifies the game is over

‎‎6.‎ The player with the highest count wins the game

So, what do you think? How do you like the new approach to flipping a coin?‎

Mfr Part # SC0329
SENSE HAT 8X8 RGB LED 5 BUT
Raspberry Pi
283,50 kr
View More Details
Mfr Part # SC0358
CBL HDMI-A M TO MCR HDMI-D M 1M
Raspberry Pi
47,25 kr
View More Details
Mfr Part # SC0339R
64GB NOOBS MICROSD CARD
Raspberry Pi
62,65 kr
View More Details
Mfr Part # SC0197
RASPBERRY PI KEYBOARD (US) BLACK
Raspberry Pi
160,65 kr
View More Details
Mfr Part # SC0202
RASPBERRY PI MOUSE BLACK
Raspberry Pi
75,60 kr
View More Details
Mfr Part # SC0218
AC/DC WALL MNT ADAPTER 5.1V 15W
Raspberry Pi
75,60 kr
View More Details
Mfr Part # SC0193(9)
SBC 1.5GHZ 4 CORE 2GB RAM
Raspberry Pi
455,49 kr
View More Details
Add all DigiKey Parts to Cart
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.