Demo entry 5295665
Nim test
Submitted by Nimmy
on Jun 14, 2016 at 21:53
Language: Nimrod. Code size: 1.3 kB.
import sdl2 type SDLException = object of Exception template sdlFailIf(cond: typed, reason: string) = if cond: raise SDLException.newException( reason & ", SDL error: " & $getError()) proc main = sdlFailIf(not sdl2.init(INIT_VIDEO or INIT_TIMER or INIT_EVENTS)): "SDL2 initialization failed" # defer blocks get called at the end of the procedure, even if an # exception has been thrown defer: sdl2.quit() sdlFailIf(not setHint("SDL_RENDER_SCALE_QUALITY", "2")): "Linear texture filtering could not be enabled" let window = createWindow(title = "Our own 2D platformer", x = SDL_WINDOWPOS_CENTERED, y = SDL_WINDOWPOS_CENTERED, w = 1280, h = 720, flags = SDL_WINDOW_SHOWN) sdlFailIf window.isNil: "Window could not be created" defer: window.destroy() let renderer = window.createRenderer(index = -1, flags = Renderer_Accelerated or Renderer_PresentVsync) sdlFailIf renderer.isNil: "Renderer could not be created" defer: renderer.destroy() # Set the default color to use for drawing renderer.setDrawColor(r = 110, g = 132, b = 174) # Game loop, draws each frame while true: # Draw over all drawings of the last frame with the default # color renderer.clear() # Show the result on screen renderer.present() main()
This snippet took 0.00 seconds to highlight.
Back to the Entry List or Home.