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
Revision 29:bdc4138b5171, committed 2019-05-07
- Comitter:
- lewisgw
- Date:
- Tue May 07 17:21:00 2019 +0000
- Parent:
- 28:be77ad6c0bda
- Commit message:
- Final Submission. I have read and agreed with the Statement of Academic Integrity.
Changed in this revision
--- a/Coin/Coin.cpp Tue May 07 08:39:38 2019 +0000 +++ b/Coin/Coin.cpp Tue May 07 17:21:00 2019 +0000 @@ -30,8 +30,8 @@ } void Coin::generate_coin() { - // Toggle the state of the coin every 3 loop iterations so it looks like it is - // rotating. + // Toggle the state of the coin every 3 loop iterations. This will be used to + // print different coin sprites so it looks like it is rotating. if (_coin_counter == 2) { _coin_counter = 0; _rotate_coin = !_rotate_coin; @@ -40,6 +40,7 @@ } void Coin::set_coin(int rand_x, int rand_y) { + // Set the coin coords based on input values. if (rand_y > 40) { _y = 15; // Set the coin on the top platforms. } else {
--- a/Engine/Engine.cpp Tue May 07 08:39:38 2019 +0000 +++ b/Engine/Engine.cpp Tue May 07 17:21:00 2019 +0000 @@ -13,6 +13,7 @@ Engine::~Engine() {} void Engine::init() { + // Reset functions are used for init. reset_skater(); reset_engine(); srand(time(NULL)); // Set up for generating random numbers, [1]. @@ -30,6 +31,7 @@ } void Engine::execute_dying_sequence(N5110 &lcd, Gamepad &gamepad) { + // Player has died and game needs to restart, printing their score. wait(1); // Short pause. gamepad.leds_off(); lcd.clear(); @@ -50,6 +52,7 @@ } void Engine::reset_skater() { + // Initial values for skater. _skater_direction = Left; _start_platform_flag = true; // For printing start text in EngineController. _skater.set_reset_flag(false); @@ -59,6 +62,7 @@ } void Engine::reset_engine() { + // Inital values for engine (and gamepad input). _input.coord.x = 0; _input.coord.y = 0; _input.A_flag = false; @@ -72,7 +76,7 @@ } void Engine::read_input(Gamepad &gamepad) { - // Set up the input struct. + // Set up the input struct for use. _input.coord = gamepad.get_mapped_coord(); _input.A_flag = gamepad.check_event(Gamepad::A_PRESSED); } @@ -81,7 +85,7 @@ // Sets the y coord by first checking if the skater should be falling. set_fall_flag(); // Update the fall flag dependent on skater position. if (_fall_flag) { - _skater.fall(_fall_flag, gamepad); + _skater.fall(_fall_flag, gamepad); // Fall if the skater should be. } else { _skater.set_y_position(_input.A_flag, _jump_counter, _level_condition, gamepad); @@ -114,7 +118,7 @@ } void Engine::process_x(int game_counter) { - // Sets the x coord. + // Sets the x coord from input. _skater.set_x_position_and_sprite(_input.coord.x, _moving_counter, _skater_direction, @@ -244,6 +248,7 @@ _upper_line_1.y,FILL_BLACK); lcd.drawLine(_upper_line_3.x_start,_upper_line_3.y,_upper_line_3.x_end, _upper_line_3.y,FILL_BLACK); + // Print the score. sprintf(buffer,"%2d",_player_score); lcd.printString(buffer,0,0); draw_screen_fire(game_counter, lcd);
--- a/EngineController/EngineController.cpp Tue May 07 08:39:38 2019 +0000 +++ b/EngineController/EngineController.cpp Tue May 07 17:21:00 2019 +0000 @@ -34,6 +34,7 @@ EngineController::~EngineController() {} void EngineController::init() { + // Statrting values for the controller. _game_engine.init(); _game_counter = 0; _speed_divider = 10;
--- a/Fire/Fire.cpp Tue May 07 08:39:38 2019 +0000 +++ b/Fire/Fire.cpp Tue May 07 17:21:00 2019 +0000 @@ -23,11 +23,13 @@ Fire::~Fire() {} void Fire::init() { + // Starting position of the fire (Y coord is calculated externally). _x = -10; // Start fire off screen. _fire_counter = false; } void Fire::generate_fire() { + // Sets the X coord so it moves independently. _x++; // Keep fire moving from L to R. _fire_counter = !_fire_counter; // Toggle fire counter to generate different // sprites each iteration. @@ -36,7 +38,7 @@ } int * Fire::get_fire_sprite() { - // Return different fire sprites. + // Return different fire sprites for dynamic effect. if (_fire_counter) { return *fire_one; } else {
--- a/Menu/Menu.cpp Tue May 07 08:39:38 2019 +0000 +++ b/Menu/Menu.cpp Tue May 07 17:21:00 2019 +0000 @@ -91,6 +91,7 @@ Menu::~Menu() {} void Menu::init() { + // Starting setup of menu. _state = 1; // Starting state is the menu. _controller.init(); // Initialise counters for musical tune. @@ -113,11 +114,11 @@ void Menu::output(N5110 &lcd, Gamepad &gamepad) { // 0, 1 and 2 have been assigned to the output of each state respectively. if (_output == 0) { - run_game(lcd, gamepad); + run_game(lcd, gamepad); // Runs the main game loop. } else if (_output == 1) { - display_menu(lcd, gamepad); + display_menu(lcd, gamepad); // Displays the main menu. } else { - display_controls(lcd, gamepad); + display_controls(lcd, gamepad); // Displayes the control page. } } @@ -139,6 +140,7 @@ } void Menu::display_controls(N5110 &lcd, Gamepad &gamepad) { + // Print lines for aesthetics, and print controls text. lcd.drawLine(0,0,84,0,FILL_BLACK); lcd.drawLine(0,6,84,6,FILL_BLACK); lcd.drawLine(0,24,84,24,FILL_BLACK); @@ -149,10 +151,11 @@ lcd.printString("Collect Coins!",0,5); lcd.printString("A:",0,3); lcd.printString("-Jump",0,4); - play_tone(gamepad); + play_tone(gamepad); // Play the tune. } void Menu::display_menu(N5110 &lcd, Gamepad &gamepad) { + // Print lines and sprite for aesthetics, and print menu text. lcd.drawLine(0,0,84,0,FILL_BLACK); lcd.drawLine(0,6,84,6,FILL_BLACK); lcd.drawLine(0,24,84,24,FILL_BLACK); @@ -160,7 +163,7 @@ lcd.printString("START- Play!",0,1); lcd.printString("X- Controls",0,2); lcd.drawSprite(1,25,23,80,(int*)menu_sprite); - play_tone(gamepad); + play_tone(gamepad); // Play the tune. } void Menu::play_tone(Gamepad &gamepad) { @@ -199,9 +202,10 @@ } void Menu::play_chord_b(Gamepad &gamepad) { + // Same as play_chord_a, just different notes. if (_tone_counter < 5) { if (_tone_flag) { - gamepad.tone(174.61, 0.5); + gamepad.tone(174.61, 0.5); } else { gamepad.tone(349.23, 0.1); }
--- a/Platforms/Platforms.cpp Tue May 07 08:39:38 2019 +0000 +++ b/Platforms/Platforms.cpp Tue May 07 17:21:00 2019 +0000 @@ -33,6 +33,7 @@ } void Platforms::set_line_2(int length) { + // Same as set_line_1. _line_2.x_start--; if (_line_2.x_start < 80 - length) _line_2.x_end--; if (_line_2.x_start <= 0) _line_2.x_start = 0; @@ -43,6 +44,7 @@ } void Platforms::set_line_3(int length) { + // Same as set_line_1. _line_3.x_start--; if (_line_3.x_start < 80 - length) _line_3.x_end--; if (_line_3.x_start <= 0) _line_3.x_start = 0;
--- a/Skateboarder/Stakeboarder.cpp Tue May 07 08:39:38 2019 +0000 +++ b/Skateboarder/Stakeboarder.cpp Tue May 07 17:21:00 2019 +0000 @@ -130,12 +130,13 @@ float joy_x, int moving_counter, Skate_direction direction, - float joy_y) { + float joy_y) { + // Set up the new x coord and use that to set the sprite. _skate_direction = direction; _moving_counter = moving_counter; process_x_variables(joy_x); _x = 40 + 0.4*_moving_counter; // Moving counter is scaled for speed control. - check_duck(joy_y); + check_duck(joy_y); // Needed to overwrite sprite if ducking. } void Skateboarder::process_x_variables(float joy_x) {