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.
Dependencies: mbed
snake_engine/snake_engine.cpp
- Committer:
- weiway
- Date:
- 2018-05-06
- Revision:
- 13:4026781772cb
- Parent:
- Snake_engine/Snake_engine.cpp@ 12:d45bc5d878ad
- Child:
- 15:47ea86f1ed70
File content as of revision 13:4026781772cb:
#include "snake_engine.h" snake_engine::snake_engine() { } snake_engine::~snake_engine() { } void snake_engine::init() { s.init(); } void snake_engine::draw(N5110 &lcd) { lcd.refresh(); lcd.clear(); lcd.drawRect(0,8,WIDTH ,HEIGHT -8,FILL_TRANSPARENT); s.draw(lcd); f.draw(lcd); print_point(lcd); } void snake_engine::update(Gamepad &pad, N5110 &lcd) { s.update(_d,_mag); if(getfruit(pad)) { f.reborn(); s.point(); } } bool snake_engine::getfruit(Gamepad &pad) { Vector2D _f_pos = f.get_pos(); Vector2D _s_pos = s.get_pos(); if ((_f_pos.y >= _s_pos.y || _f_pos.y == _s_pos.y-1) && (_f_pos.y <= _s_pos.y || _f_pos.y+1 == _s_pos.y-1) && (_f_pos.x >= _s_pos.x || _f_pos.x+1 >= _s_pos.x || _f_pos.x+1 >= _s_pos.x ) && (_f_pos.x <= _s_pos.x || _f_pos.x+1 <= _s_pos.x)) { return true; } else { return false; } } void snake_engine::print_point(N5110 &lcd) { int print_point = s.get_point(); char buffer[14]; sprintf(buffer,"%2d",print_point); lcd.printString(buffer,WIDTH/2 - 40,0); } void snake_engine::read_input(Gamepad &pad) { _d = pad.get_direction(); _mag = pad.get_mag(); }