RE: attn: Ray Smith
- Posted by Steve <bleak_outlook at hotmail.com> Sep 29, 2003
- 482 views
Sorry this is a bit long. I removed a few of the unimportant routines to shorten it some. procedure update_screen() blit(back_image, buffer, 1, 1, 1, 1, 1024, 768) if someone_died = 1 then blit(boom_image, buffer, 1, 1, loc_x, loc_y, 100, 100) else masked_blit(ship_image, buffer, 1, 1, loc_x, loc_y, 87, 61) end if if someone_died = 2 then blit(boom_image, buffer, 1, 1, enemy_loc_x, enemy_loc_y, 100, 100) else masked_blit(enemy_image, buffer, 1, 1, enemy_loc_x, enemy_loc_y, 87, 24) end if blit(player_status, buffer, 1, 1, 50, 50, player_life, 20) blit(enemy_status, buffer, 1, 1, 750, 50, enemy_life, 20) blit(buffer, screen_ptr, 1, 1, 1, 1, 1024, 768) end procedure procedure enemy_shoot() -- Enemy shoot routine enemy_shotx = enemy_loc_x + 33 enemy_shoty = enemy_loc_y + 24 update_screen() line(screen_ptr, enemy_shotx, enemy_shoty, (enemy_shotx - 300), enemy_shoty, makecol(200, 0, 0) ) if loc_x >= (enemy_shotx - 300) and enemy_loc_x >= loc_x then if loc_y <= enemy_shoty and (loc_y + 61) >= enemy_shoty then player_life -= 20 if player_life <= 0 then someone_died = 1 update_screen() rest(2000) end if end if end if rest(20) update_screen() end procedure procedure fire_laser() -- Player shoot routine shotx = loc_x + 70 -- these guys are for moving the laser start point to the actual laser gun shoty = loc_y + 53 update_screen() line(screen_ptr, shotx, shoty, (shotx + 300), shoty, 255) if enemy_loc_x <= (shotx + 300) and loc_x <= enemy_loc_x then if enemy_loc_y <= shoty and (enemy_loc_y + 24) >= shoty then enemy_life -= 20 if enemy_life <= 0 then someone_died = 2 update_screen() rest(2000) end if end if end if rest(20) update_screen() end procedure set_color_depth(32) -- set the color depth to 32 bit ret = allegro_init() -- fire up allegro if ret < 0 then -- if allegro is pooched then allegro_exit() -- shut the prog down abort(1) -- tell windoze that end if -- its broke ret = install_keyboard() ret = set_gfx_mode(GFX_AUTODETECT, 1024, 768, 1024, 768) ret = install_timer() ret = install_int(routine_id("increment_counter"), 100) screen_ptr = SCREEN() shipPalette = allocate_palette() set_palette(default_palette() ) buffer = create_bitmap( SCREEN_W(), SCREEN_H() ) back_image = load_tga("background_2.tga", default_palette() ) ship_image = load_tga("soda_cruiser.tga", default_palette() ) enemy_image = load_bitmap("enemy_ship.bmp", default_palette() ) player_status = load_bitmap("player_status.bmp", default_palette() ) enemy_status = load_bitmap("enemy_status.bmp", default_palette() ) boom_image = load_bitmap("boom.bmp", default_palette() ) update_screen() while endflag != 1 and someone_died = 0 do enemy_decision() if key(KEY_UP) then loc_y -= 8 if loc_y < 0 then loc_y = 768 end if update_screen() elsif key(KEY_DOWN) then loc_y += 8 if loc_y > 768 then loc_y = 1 end if update_screen() elsif key(KEY_RIGHT) then loc_x += 8 if loc_x > 1024 then loc_x = 1 end if update_screen() elsif key(KEY_LEFT) then loc_x -= 8 if loc_x < 0 then loc_x = 1024 end if update_screen() elsif key(KEY_SPACE) then fire_laser() elsif key(KEY_ESC) then endflag = 1 end if end while exit_game()