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: 4DGL-uLCD-SE SDFileSystem mbed-rtos mbed wave_player
missile.cpp
- Committer:
- michaeljson
- Date:
- 2016-03-15
- Revision:
- 1:618aa2c4ca6a
- Parent:
- 0:3817adfaeb06
File content as of revision 1:618aa2c4ca6a:
#include "missile.h"
void draw_missile_object(int blk_x, int blk_y, int missile_color, int m_width, int m_height)
{
uLCD.filled_rectangle(blk_x,blk_y-1,blk_x+m_width,blk_y-m_height,missile_color);
}
void erase_missile(int blk_x, int blk_y, int m_width, int m_height)
{
uLCD.filled_rectangle(blk_x,blk_y-1,blk_x+m_width,blk_y-m_height,BACKGROUND_COLOR);
}
void update_missile_pos(missile_t *g)
{
if (g->missile_blk_y < 18)
{
g->status = PLAYER_MISSILE_EXPLODED;
}
if (g->status == PLAYER_MISSILE_ACTIVE)
{
missile_erase(g);
g->missile_blk_y = g->missile_blk_y-3;
missile_show(g);
}
else if (g->status == PLAYER_MISSILE_EXPLODED)
{
missile_erase(g);
g->status = PLAYER_MISSILE_INACTIVE;
g->missile_blk_y = 109;
}
}
void update_enemy_missile_pos(missile_t *g)
{
if (g->missile_blk_y > 128)
{
g->status = ENEMY_MISSILE_EXPLODED;
}
if (g->status == ENEMY_MISSILE_ACTIVE)
{
missile_erase(g);
g->missile_blk_y = g->missile_blk_y+1;
missile_show(g);
}
else if (g->status == ENEMY_MISSILE_EXPLODED)
{
missile_erase(g);
g->status = ENEMY_MISSILE_INACTIVE;
g->missile_blk_y = 2;
}
}
void missile_init(missile_t * g, int blk_x, int blk_y, int color)
{
g->missile_blk_x = blk_x;
g->missile_blk_y = blk_y;
g->missile_color = color;
g->missile_width = 1;
g->missile_height = 8;
g->status = PLAYER_MISSILE_INACTIVE;
}
void enemy_missile_init(missile_t * g, int blk_x, int blk_y, int color)
{
g->missile_blk_x = blk_x;
g->missile_blk_y = blk_y;
g->missile_color = color;
g->missile_width = 1;
g->missile_height = 8;
g->status = ENEMY_MISSILE_INACTIVE;
}
void missile_show(missile_t * g)
{
draw_missile_object(g->missile_blk_x, g->missile_blk_y, g->missile_color, g->missile_width, g->missile_height);
}
void missile_erase(missile_t *g)
{
erase_missile(g->missile_blk_x, g->missile_blk_y, g->missile_width, g->missile_height);
}