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
Skateboarder/Stakeboarder.cpp
- Committer:
- lewisgw
- Date:
- 2019-03-20
- Revision:
- 7:bbc2b75c1418
- Parent:
- 6:8741d2011692
- Child:
- 8:5327418f823a
File content as of revision 7:bbc2b75c1418:
#include "Skateboarder.h" int skate_right[17][10] = { { 0,0,0,1,1,1,0,0,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,1,1,1,1,1,1,0,0,0 }, { 0,0,0,1,0,1,1,0,0,0 }, { 0,0,0,1,1,1,0,0,0,0 }, { 0,0,0,1,1,0,0,0,0,0 }, { 0,0,0,1,1,0,0,0,0,0 }, { 0,1,1,1,1,1,1,1,0,0 }, { 1,1,0,1,1,0,0,1,1,0 }, { 1,0,0,1,1,0,0,0,0,0 }, { 0,0,0,1,1,0,0,0,0,0 }, { 0,0,0,1,1,0,0,0,0,0 }, { 0,0,0,1,0,1,0,0,0,0 }, { 0,0,0,1,0,0,1,0,0,0 }, { 1,0,0,1,0,0,0,1,0,1 }, { 0,1,1,1,1,1,1,1,1,0 }, { 0,0,1,0,0,0,0,1,0,0 }, }; int skate_left[17][10] = { { 0,0,0,0,1,1,1,0,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,0,1,1,1,1,1,1,0 }, { 0,0,0,1,1,0,1,0,0,0 }, { 0,0,0,0,1,1,1,0,0,0 }, { 0,0,0,0,0,1,1,0,0,0 }, { 0,0,0,0,0,1,1,1,0,0 }, { 0,1,1,1,1,1,1,1,0,0 }, { 0,0,0,1,1,1,1,1,1,0 }, { 0,0,0,0,1,1,0,0,1,0 }, { 0,0,0,0,1,1,0,0,0,1 }, { 0,0,0,0,1,1,0,0,0,0 }, { 0,0,0,1,0,1,0,0,0,0 }, { 0,0,1,0,0,1,0,0,0,0 }, { 1,1,0,0,0,1,0,0,0,1 }, { 0,1,1,1,1,1,1,1,1,0 }, { 0,0,0,1,0,0,0,0,1,0 }, }; int skate_stand_left[17][10] = { { 0,0,0,0,1,1,0,0,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,0,1,1,1,1,1,1,0 }, { 0,0,0,1,0,0,1,0,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,0,0,1,1,0,0,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,1,1,1,1,0,1,0,0 }, { 1,1,0,1,1,1,0,1,0,0 }, { 0,0,0,1,1,1,0,0,0,0 }, { 0,0,1,1,1,1,0,0,0,0 }, { 1,0,1,0,0,1,0,0,0,0 }, { 1,1,0,0,0,1,0,0,0,0 }, { 0,1,0,0,0,1,0,0,0,0 }, { 1,0,1,0,0,1,0,0,0,0 }, { 0,0,0,1,0,1,0,0,0,0 }, { 0,0,1,0,1,1,1,0,0,0 }, }; int skate_stand_right[17][10] = { { 0,0,0,1,1,0,0,0,0,0 }, { 0,0,1,1,1,1,0,0,0,0 }, { 1,1,1,1,1,1,0,0,0,0 }, { 0,0,1,0,0,1,0,0,0,0 }, { 0,0,1,1,1,1,0,0,0,0 }, { 0,0,0,1,1,0,0,0,0,0 }, { 0,0,1,1,1,1,0,0,0,0 }, { 0,1,1,1,1,0,1,0,0,0 }, { 1,0,1,1,1,0,0,1,0,0 }, { 1,0,1,1,1,0,0,0,0,0 }, { 0,0,1,1,1,1,1,0,0,0 }, { 0,0,1,0,0,0,1,0,1,0 }, { 0,0,1,0,0,0,1,1,0,0 }, { 0,0,1,0,0,0,1,0,1,0 }, { 0,0,1,0,0,1,0,0,0,0 }, { 0,0,1,0,1,0,0,0,0,0 }, { 0,1,1,1,0,1,0,0,0,0 }, }; int skate_duck_right[17][10] = { { 0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,1,1,0,0,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,1,1,1,1,1,1,0,0,0 }, { 0,0,0,1,0,0,1,0,0,0 }, { 0,0,0,0,1,1,0,0,0,0 }, { 0,0,1,1,1,1,1,1,0,0 }, { 0,1,0,1,1,1,1,0,1,1 }, { 1,0,0,1,1,1,1,0,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,1,1,0,0,1,1,0,0 }, { 1,0,1,1,0,0,1,1,0,1 }, { 0,1,1,1,1,1,1,1,1,0 }, { 0,0,1,0,0,0,0,1,0,0 }, }; int skate_duck_left[17][10] = { { 0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,1,1,0,0,0,0 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,0,1,1,1,1,1,1,0 }, { 0,0,0,1,0,0,1,0,0,0 }, { 0,0,0,0,1,1,0,0,0,0 }, { 0,0,1,1,1,1,1,1,0,0 }, { 1,1,0,1,1,1,1,0,1,0 }, { 0,0,0,1,1,1,1,0,0,1 }, { 0,0,0,1,1,1,1,0,0,0 }, { 0,0,1,1,0,0,1,1,0,0 }, { 1,0,1,1,0,0,1,1,0,1 }, { 0,1,1,1,1,1,1,1,1,0 }, { 0,0,1,0,0,0,0,1,0,0 }, }; Skateboarder::Skateboarder(){} Skateboarder::~Skateboarder(){} void Skateboarder::set_x_position(float joy_x, int moving_counter, Skate_Direction direction, float joy_y) { _skate_direction = direction; _moving_counter = moving_counter; if(joy_x > float(0.1)){ _moving_counter = _moving_counter++; _skate_direction = Right; _sprite_value = Skate_right; } else if(joy_x < float(-0.1)) { _moving_counter = _moving_counter--; _skate_direction = Left; _sprite_value = Skate_left; } else if (_skate_direction == Left){ _sprite_value = Stand_left; } else { _sprite_value = Stand_right; } _x = 40 + 0.4*_moving_counter; if(joy_y < float(-0.1) && _skate_direction == Right){ _sprite_value = Skate_duck_right; } else if(joy_y < float(-0.1) && _skate_direction == Left){ _sprite_value = Skate_duck_left; } } void Skateboarder::set_y_position(bool jump, int jump_counter, int level) { _jump_counter = jump_counter; _level = level; if(jump && _jump_counter < 10) { _jump_counter = 40; } if(_jump_counter !=0){ _jump_counter--; } _y = 23 - 0.5*_jump_counter; /* if(_level == 0){ _y = 23 - 0.5*_jump_counter; } else { _y = 5 - 0.25*_jump_counter; } */ } int Skateboarder::get_x_position(){ return _x; } int Skateboarder::get_moving_counter(){ return _moving_counter; } int Skateboarder::get_y_position(){ return _y; } int Skateboarder::get_jump_counter(){ return _jump_counter; } Skate_Direction Skateboarder::get_direction(){ return _skate_direction; } Sprite_value Skateboarder::get_sprite_value(){ return _sprite_value; } int * Skateboarder::get_sprite(Sprite_value sprite){ if(sprite == Skate_right){ return *skate_right; } else if(sprite == Skate_left){ return *skate_left; } else if(sprite == Stand_left){ return *skate_stand_left; } else if(sprite == Skate_duck_right){ return *skate_duck_right; } else if(sprite == Skate_duck_left){ return *skate_duck_left; } else { return *skate_stand_right; } }