Ejemplo n.º 1
0
inline void renderMap (map *m)
{
    int i = 0;
    while (i < m->walls_len)
    {
        wall_draw (&m->walls[i]);
        i++;
    }
}
Ejemplo n.º 2
0
int main (void)
{    
	Wall wall;
	Heli heli;
	Landscape landscape;
	
	hardwareInit();
	initLandscape(&landscape, 70);
	heli_init(&heli);
	wall_init(&wall, 10, getYRoof(&landscape, 159), getYBottom(&landscape, 159) );
   
	while(1)
	{
		//DelayMs(100);

		heli_clear(&heli);
		if(DIORead(USW0)) {
			DPRINT("up\n");
			heli_update(&heli, 0.1, 100); // - means up
		}
		else {
			DPRINT("down\n");
			heli_update(&heli, -0.1, 100); // + means down
		}
		landscapeFlow(&landscape, 70);
		
		wall_clear(&wall);
		wall_update(&wall, 100);
		if(heli_check_collision(&heli, wall.x, wall.y1, wall.x, wall.y2)) {
			heli_init(&heli);
			wall_init(&wall, 10, getYRoof(&landscape, 159), getYBottom(&landscape, 159) );
		}
		if(touch(&landscape, heli.x, heli.y+heliRadius)) {
			heli_init(&heli);
			wall_init(&wall, 10, getYRoof(&landscape, 159), getYBottom(&landscape, 159) );
		}
		if(touch(&landscape, heli.x, heli.y-heliRadius)) {
			heli_init(&heli);
			wall_init(&wall, 10, getYRoof(&landscape, 159), getYBottom(&landscape, 159) );
		}

		wall_draw(&wall);
		heli_draw(&heli);
	} 
}