Ahmed Adamjee
/
SnakeVSBlock
Snake vs Block Game to be run upon K64F.
SnakevsBlock/SnakevsBlock.cpp@8:890b986b16a4, 2019-03-26 (annotated)
- Committer:
- AhmedPlaymaker
- Date:
- Tue Mar 26 18:36:50 2019 +0000
- Revision:
- 8:890b986b16a4
- Parent:
- 7:48ba87cd79b5
- Child:
- 9:d1d79d4ee673
Created the snake completely with animation, of different lengths up-to 15,; the next step would be adding food to increase the length from default value.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AhmedPlaymaker | 7:48ba87cd79b5 | 1 | #include "SnakevsBlock.h" |
AhmedPlaymaker | 7:48ba87cd79b5 | 2 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 3 | SnakevsBlock::SnakevsBlock() |
AhmedPlaymaker | 7:48ba87cd79b5 | 4 | { |
AhmedPlaymaker | 7:48ba87cd79b5 | 5 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 6 | } |
AhmedPlaymaker | 7:48ba87cd79b5 | 7 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 8 | SnakevsBlock::~SnakevsBlock() |
AhmedPlaymaker | 7:48ba87cd79b5 | 9 | { |
AhmedPlaymaker | 7:48ba87cd79b5 | 10 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 11 | } |
AhmedPlaymaker | 7:48ba87cd79b5 | 12 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 13 | void SnakevsBlock::init() |
AhmedPlaymaker | 7:48ba87cd79b5 | 14 | { |
AhmedPlaymaker | 7:48ba87cd79b5 | 15 | //The snake length configuration and all the other initial information passing will be done here |
AhmedPlaymaker | 8:890b986b16a4 | 16 | length=15; |
AhmedPlaymaker | 7:48ba87cd79b5 | 17 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 18 | } |
AhmedPlaymaker | 7:48ba87cd79b5 | 19 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 20 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 21 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 22 | void SnakevsBlock::read_input(Gamepad &pad) |
AhmedPlaymaker | 7:48ba87cd79b5 | 23 | { |
AhmedPlaymaker | 7:48ba87cd79b5 | 24 | _d = pad.get_direction(); //Obtains Direction pushed towards on Joystick. |
AhmedPlaymaker | 7:48ba87cd79b5 | 25 | _mag = pad.get_mag(); //Obtains Magnitude of Joystick. |
AhmedPlaymaker | 7:48ba87cd79b5 | 26 | } |
AhmedPlaymaker | 7:48ba87cd79b5 | 27 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 28 | void SnakevsBlock::draw(N5110 &lcd, Gamepad &pad) |
AhmedPlaymaker | 7:48ba87cd79b5 | 29 | { |
AhmedPlaymaker | 8:890b986b16a4 | 30 | _s.draw(lcd, length); //Draws the Snake. |
AhmedPlaymaker | 7:48ba87cd79b5 | 31 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 32 | //Code to print length on game screen. |
AhmedPlaymaker | 7:48ba87cd79b5 | 33 | char bufferscore[14]; |
AhmedPlaymaker | 7:48ba87cd79b5 | 34 | sprintf(bufferscore,"%d",length); |
AhmedPlaymaker | 7:48ba87cd79b5 | 35 | lcd.printString(bufferscore,1,0); |
AhmedPlaymaker | 7:48ba87cd79b5 | 36 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 37 | if(pad.check_event(Gamepad::BACK_PRESSED)){ //Waits for Back button to be pressed. |
AhmedPlaymaker | 7:48ba87cd79b5 | 38 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 39 | NVIC_SystemReset(); //Software Reset. |
AhmedPlaymaker | 7:48ba87cd79b5 | 40 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 41 | } |
AhmedPlaymaker | 7:48ba87cd79b5 | 42 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 43 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 44 | } |
AhmedPlaymaker | 7:48ba87cd79b5 | 45 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 46 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 47 | void SnakevsBlock::update(Gamepad &pad) //Updates objects on screen. |
AhmedPlaymaker | 7:48ba87cd79b5 | 48 | { |
AhmedPlaymaker | 8:890b986b16a4 | 49 | _s.update(_d,_mag,length); |
AhmedPlaymaker | 7:48ba87cd79b5 | 50 | } |
AhmedPlaymaker | 7:48ba87cd79b5 | 51 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 52 | void SnakevsBlock::get_pos() |
AhmedPlaymaker | 7:48ba87cd79b5 | 53 | { |
AhmedPlaymaker | 7:48ba87cd79b5 | 54 | Vector2D snake_pos = _s.get_pos(); |
AhmedPlaymaker | 7:48ba87cd79b5 | 55 | //printf("player pos = %f %f \n", player_pos.x, player_pos.y); //top left of player sprite |
AhmedPlaymaker | 7:48ba87cd79b5 | 56 | // 81.000000 0.000000 top right |
AhmedPlaymaker | 7:48ba87cd79b5 | 57 | // 0.000000 0.000000 is top left |
AhmedPlaymaker | 7:48ba87cd79b5 | 58 | // 81.000000 45.000000 bottom right |
AhmedPlaymaker | 7:48ba87cd79b5 | 59 | snakex = snake_pos.x; |
AhmedPlaymaker | 7:48ba87cd79b5 | 60 | snakey = snake_pos.y; |
AhmedPlaymaker | 7:48ba87cd79b5 | 61 | //printf("snakexy in GAME = %d %d \n", snakex, snakey); |
AhmedPlaymaker | 7:48ba87cd79b5 | 62 | } |
AhmedPlaymaker | 7:48ba87cd79b5 | 63 | |
AhmedPlaymaker | 7:48ba87cd79b5 | 64 |