Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: SnakeFood/SnakeFood.cpp
- Revision:
- 9:d1d79d4ee673
- Child:
- 10:751bd953fa27
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SnakeFood/SnakeFood.cpp Wed Mar 27 18:20:36 2019 +0000 @@ -0,0 +1,107 @@ +#include "SnakeFood.h" + +SnakeFood::SnakeFood() +{ + +} + +SnakeFood::~SnakeFood() +{ + +} + +//SnakeFood Sprite. +int food_sprite[3][3] = { + {0,1,0}, + {1,0,1}, + {0,1,0}, + }; + +int n = 0; +void SnakeFood::init() //Delete Int +{ + fooddrop=0; +} + + +void SnakeFood::draw(N5110 &lcd) +{ + + //_velocity.x = 1; + _velocity.y = 1; + + //add sideways velocity incase I want to make it dodgy. + + + //Remember to seed + + + + + /* int random = rand() % 3; + if(random == 0){ + _velocity.x = 0; + } + if(random == 1){ + _velocity.x = 2; + } + if(random == 2){ + _velocity.x = -2; + } + if(random == 3){ + _velocity.x = -2; + } + */ + + //Resets SnakeFood position if it reaches the bottom of the screen. + //Also prevents SnakeFood from going out of the side of the screen. + if(_fx < 0){ + _fx = 0; + } + if(_fx > 81){ + _fx = 81; + } + if(_fy >= 48){ + n = 0; + } + + if(n == 0){ + _fx = rand() % 82; + _fy = 0; + n = n+1; + } + + lcd.drawSprite(_fx,_fy,3,3,(int *)food_sprite); //Function to draw the sprite. +} + + + +Vector2D SnakeFood::get_pos() //Obtains the X and Y coordinate of the target. +{ + Vector2D snakefoodpos = {_fx,_fy}; + //printf("snakefoodpos from food = %f %f \n", snakefoodpos.x, snakefoodpos.y); + return snakefoodpos; +} + + + + +void SnakeFood::update() +{ + if(fooddrop == 0) { + _fx += _velocity.x; + _fy += _velocity.y; + } + fooddrop += 1; + + if(fooddrop == 2) { //make this a variable multiple of game speed + fooddrop = 0; + } +} + + +void SnakeFood::set_pos(Vector2D p) +{ + _fx = p.x; + _fy = p.y; +}