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
RooneyEngine.cpp
00001 /* 00002 ELEC2645 Embedded Systems Project 00003 School of Electronic & Electrical Engineering 00004 University of Leeds 00005 2019/20 00006 00007 Name:Yang Zhenye 00008 Username:el17zy 00009 Student ID Number:201199680 00010 Date:2020/5/12 00011 */ 00012 00013 #include "RonneyEngine.h" 00014 00015 00016 RooneyEngine::RooneyEngine(){} 00017 RooneyEngine::~RooneyEngine(){} 00018 void RooneyEngine::init() { 00019 reset(); 00020 _start_flag = true; 00021 } 00022 00023 void RooneyEngine::reset() { 00024 _player_x=38; 00025 _player_y=5; 00026 _collisicon_flag = false; 00027 _player_score = 0; 00028 _x = WIDTH/2 - _size/2; 00029 _y = HEIGHT/2 - _size/2; 00030 } 00031 00032 void RonneyEngine::check_reset(N5110 &lcd, Gamepad &gamepad) { 00033 if(get_reset_flag()){ 00034 gamepad.leds_on(); 00035 lcd.clear(); 00036 for (int i = 0; i<60; i++) { 00037 lcd.printString("lose the game", 0, 2); 00038 lcd.printString("sccore:", 0, 4); 00039 lcd,refresh(); 00040 wait(0.00001); 00041 sprintf(buffer,"%2d",_player_score); 00042 lcd.printString(buffer,16,4); 00043 reset(); 00044 } 00045 } 00046 00047 void RooneyEngine::check_start(N5110 &lcd, Gamepad &gamepad) { 00048 if(_start_flag == true) { 00049 check_reset(lcd, gamepad);} 00050 _start_flag = get_start_flag(); 00051 } 00052 00053 void RooneyEngine::check_collision(Gamepad &gamepad) { 00054 if ((_player_x == _x() - 2) && (_player_y == _y() - 5)) { 00055 _collision_flag = true; 00056 _player_score++; 00057 } 00058 00059 void RooneyEngine::get_score() { 00060 return _player_score; 00061 } 00062 00063 void RooneyEngine::get_sprite() { 00064 lcd.drawLine(unsigned int const x0, 00065 unsigned int const y0, 00066 unsigned int const x1, 00067 unsigned int const y1, 00068 FullBlack); 00069 lcd.drawSprite(_player_x, _player_y, 5, 10, (int *)get_form(ronnybody)); 00070 lcd.drawRect(_x,_y,_size,_size,FILL_BLACK); 00071 } 00072 00073 void RooneyEngine::update_lcd(N5110 &lcd) { 00074 get_sprite(); 00075 sprintf(buffer,"%2d",_player_score); 00076 lcd.printString("score",0,0); 00077 lcd.printString(buffer,30,0); 00078 } 00079 00080 void RooneyEngine::get_ronney_x(Gamepad &gamepad) { 00081 _speed=speed; 00082 if (joy_x < float(-0.5){ 00083 _speed=-0.5; 00084 _player_x=38+_speed; 00085 else if (x<=0){ 00086 _speed = 0 00087 } 00088 } 00089 if (joy_x > float(0.5){ 00090 _speed=0.5; 00091 _player_x=38+_speed; 00092 else if (x>=80){ 00093 _speed = 0 00094 } 00095 } 00096 00097 bool RooneyEngine::get_reset_flag() { 00098 return _reset_flag; 00099 } 00100 00101 bool RooneyEngine::get_start_flag() { 00102 return _start_flag; 00103 } 00104 00105 void RooneyEngine::run_engine(N5110 &lcd, Gamepad &gamepad) { 00106 init(); 00107 reset(); 00108 check_reset(N5110 &lcd, Gamepad &gamepad); 00109 check_start(N5110 &lcd, Gamepad &gamepad); 00110 check_collision(Gamepad &gamepad); 00111 _player_score=get_score(); 00112 get_sprite(); 00113 update_lcd(N5110 &lcd); 00114 get_reset_flag(); 00115 get_start_flag(); 00116 get_rooney_x(Gamepad &gamepad); 00117 } 00118 00119 00120 00121 00122 00123 00124 00125 00126 00127
Generated on Tue Jul 12 2022 18:57:15 by
1.7.2