This repository has been archived on 2021-11-09. You can view files and clone it, but cannot push or open issues or pull requests.
pongr/pongr/pong.pb
2011-01-15 17:45:37 +01:00

72 lines
1.9 KiB
Plaintext

; Pongr
; Very simple game to get started with PureBasic and the game development.
; 2011 - Ruben Mueller, Aaron Mueller
XIncludeFile "structs.pb"
XIncludeFile "draw.pb"
XIncludeFile "events.pb"
; Global variables
fullscreen = 0
title.s = "Pongr - Build " + Str(#PB_Editor_BuildCount)
screen.ScreenDimension\width = 800
screen.ScreenDimension\height = 600
NewMap game_states.GameState()
game_states("MAIN_MENU")\draw_fun = @draw_main_nenu()
game_states("MAIN_MENU")\handle_event_fun = @handle_event_main_menu()
current_state.s = "MAIN_MENU"
; Initialize subsystems
If InitSprite() = 0 Or InitKeyboard() = 0
MessageRequester("Error", "Sorry, can't boot up.", 0)
End
EndIf
; Start the main loop which will create the window, wait for events and draw things
; on the screen. To escape from this loop, press ESC or close the window.
If OpenWindow(0, 0, 0, screen\width, screen\height, title, #PB_Window_ScreenCentered)
If OpenWindowedScreen(WindowID(0), 0, 0, screen\width, screen\height, 0, 0, 0)
EndIf
Repeat
; Event loop
Repeat
event = WindowEvent()
Until event = 0
; Handle global events
ExamineKeyboard()
If KeyboardReleased(#PB_Key_F)
CloseScreen()
If fullscreen = 0
OpenScreen(800, 600, 32, title)
fullscreen = 1
Else
OpenWindowedScreen(WindowID(0), 0, 0, 800, 600, 0, 0, 0)
fullscreen = 0
EndIf
EndIf
; Handle the events for the current state
game_states(current_state)\handle_event_fun()
; Draw the stuff on the screen
FlipBuffers()
ClearScreen(RGB(0, 0, 0))
If StartDrawing(ScreenOutput())
game_states(current_state)\draw_fun()
StopDrawing()
EndIf
Delay(1)
Until KeyboardPushed(#PB_Key_Escape)
EndIf
; IDE Options = PureBasic 4.51 (Linux - x64)
; CursorPosition = 57
; FirstLine = 23
; EnableXP
; EnableCompileCount = 0
; EnableBuildCount = 0