Skip to content

sccjrd/SiummicSnake

Repository files navigation

Siummic Snake

Update on 14.12.2022

Team Members

  • Ambiveri Giulia
  • Ghilardini Matteo
  • Sacco Francesc Jordi
  • Toscano Sasha

Description of the idea

As the world cup started, and also as we thought that creating a normal version of snake would have been "already seen" we sort of got inspired by the meme of Cristiano Ronaldo shouting SIUM when he scored a goal.

That's why, even if so far we managed to do a normal working snake, our goal is to substitute the head with Ronaldo's, and change it when the "snake is gonna "eat" a "fruit" to the face of the meme. (See the PNGs for reference)


Activities carried out up until Milestone 1

The original revision was to try and use some sort of grid already implemented in Drracket. We found the module PPict but the website said it was deprecated.

We managed to find a way to read it by a crazy guy who saved it on git-hub but the only way it was going to work is with The Racket Language as it introduces the #lang dialect.

We asked the TA's then if there was a way and they gave us the idea to create from scratch our own grid, and to colour each square of it to recreate the snake, making it a lot easier to make.

So far we managed to make a working snake with a tail(GREEN) following the head(RED) that will stop when it hits itself and when it hits the border.

We are also trying to change the speed of it as we found out that the bing-bang only registered on the tick that you give at the beginning.

We are still going to try to implement some sort of sound to the game but that will be surely the last project's point.

The next step is to add the fruit powerups and the malus to change the velocity of the snake to add some sort of start game button and a try again when it finishes


Activities carried out up until Milestone 2

We successfully integrated the images and the sound effect in the program.

After realizing that the sound effect could be a bit bothersome to some people, we decided to add a "mute" button.

We managed to make the "fruits" spawn randomly, and whenever one is eaten the snake gets 1 square longer.

We also added the "malus" which we decided should be yellow cards, and a check that makes you lose if you get 2 of them (exactly like in soccer that if you get 2 you are disqualified).

We created the score system, which would keep track of how many "fruits" were eaten.

We successfully found a way to make the snake get increasingly faster based on how many fruits were eaten.

We also created a "menu" page, on which the player can read some of the buttons (the mute one, for example) and can restart the game when he loses.

We currently have a bug, in which if the player inputs two directions in succession too quickly it can override the movement control function and is able to move illegally.

Next on our list of objective, along with any bug fixes, there is the need to do all the tests plus the documentation.


Final updates of the project

We added every missing DataTypes

We forgot to mention in the last milestone that when you take a malus, movement speed increases

We successfully followed the design-recipe consistently with what was learned in the course

We divided our roles for writing the required documentation, and proceeded with completing them

We successfully implemented check-expects of all functions

We managed to fix the movement bug mentioned above

We restructured some functions to optimize the code, both in reading and execution


Final grade and review

SIUMMM

About

BCS @ USI | Programming Fundamentals 1

Resources

Stars

Watchers

Forks