#include "allegro.h" #define WHITE makecol(255,255,255) void main(void) { int x, y; float angle = 0; //initialize program allegro_init(); install_keyboard(); set_color_depth(32); set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0); textout(screen, font, "Rotate: LEFT / RIGHT arrow keys", 0, 0, WHITE); //load tank sprite BITMAP *tank = load_bitmap("tank.bmp", NULL); //calculate center of screen x = SCREEN_W/2 - tank->w/2; y = SCREEN_H/2 - tank->h/2; //draw tank at starting location rotate_sprite(screen, tank, x, y, 0); //main loop while(!key[KEY_ESC]) { //wait for keypress if (keypressed()) { //left arrow rotates left if (key[KEY_LEFT]) { angle -= 0.1; if (angle < 0) angle = 256; rotate_sprite(screen, tank, x, y, itofix(angle)); } //right arrow rotates right if (key[KEY_RIGHT]) { angle += 0.1; if (angle > 256) angle = 0; rotate_sprite(screen, tank, x, y, itofix(angle)); } //display angle textprintf(screen, font, 0, 10, WHITE, "Angle = %f", angle); } } } END_OF_MAIN()