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 wave_player mbed-rtos 4DGL-uLCD-SE SDFileSystem
missile.cpp
00001 #include "missile.h" 00002 00003 void draw_missile_object(int blk_x, int blk_y, int missile_color, int m_width, int m_height) 00004 { 00005 uLCD.filled_rectangle(blk_x,blk_y-1,blk_x+m_width,blk_y-m_height,missile_color); 00006 } 00007 00008 void erase_missile(int blk_x, int blk_y, int m_width, int m_height) 00009 { 00010 uLCD.filled_rectangle(blk_x,blk_y-1,blk_x+m_width,blk_y-m_height,BACKGROUND_COLOR); 00011 } 00012 00013 void update_missile_pos(missile_t *g) 00014 { 00015 if (g->missile_blk_y < 18) 00016 { 00017 g->status = PLAYER_MISSILE_EXPLODED; 00018 } 00019 00020 if (g->status == PLAYER_MISSILE_ACTIVE) 00021 { 00022 missile_erase(g); 00023 g->missile_blk_y = g->missile_blk_y-3; 00024 missile_show(g); 00025 } 00026 else if (g->status == PLAYER_MISSILE_EXPLODED) 00027 { 00028 missile_erase(g); 00029 g->status = PLAYER_MISSILE_INACTIVE; 00030 g->missile_blk_y = 109; 00031 } 00032 } 00033 00034 void update_enemy_missile_pos(missile_t *g) 00035 { 00036 if (g->missile_blk_y > 128) 00037 { 00038 g->status = ENEMY_MISSILE_EXPLODED; 00039 } 00040 00041 if (g->status == ENEMY_MISSILE_ACTIVE) 00042 { 00043 missile_erase(g); 00044 g->missile_blk_y = g->missile_blk_y+1; 00045 missile_show(g); 00046 } 00047 else if (g->status == ENEMY_MISSILE_EXPLODED) 00048 { 00049 missile_erase(g); 00050 g->status = ENEMY_MISSILE_INACTIVE; 00051 g->missile_blk_y = 2; 00052 } 00053 } 00054 00055 void missile_init(missile_t * g, int blk_x, int blk_y, int color) 00056 { 00057 g->missile_blk_x = blk_x; 00058 g->missile_blk_y = blk_y; 00059 g->missile_color = color; 00060 g->missile_width = 1; 00061 g->missile_height = 8; 00062 g->status = PLAYER_MISSILE_INACTIVE; 00063 } 00064 00065 void enemy_missile_init(missile_t * g, int blk_x, int blk_y, int color) 00066 { 00067 g->missile_blk_x = blk_x; 00068 g->missile_blk_y = blk_y; 00069 g->missile_color = color; 00070 g->missile_width = 1; 00071 g->missile_height = 8; 00072 g->status = ENEMY_MISSILE_INACTIVE; 00073 } 00074 00075 void missile_show(missile_t * g) 00076 { 00077 draw_missile_object(g->missile_blk_x, g->missile_blk_y, g->missile_color, g->missile_width, g->missile_height); 00078 } 00079 00080 void missile_erase(missile_t *g) 00081 { 00082 erase_missile(g->missile_blk_x, g->missile_blk_y, g->missile_width, g->missile_height); 00083 }
Generated on Fri Jul 15 2022 11:23:44 by
1.7.2