mirror of
				https://github.com/raysan5/raylib.git
				synced 2025-11-04 01:34:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
-------------------------------------------------------------------------------------------
 | 
						|
--
 | 
						|
--  raylib [core] example - Storage save/load values
 | 
						|
--
 | 
						|
--  This example has been created using raylib 1.6 (www.raylib.com)
 | 
						|
--  raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
 | 
						|
--
 | 
						|
--  Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
 | 
						|
--
 | 
						|
-------------------------------------------------------------------------------------------
 | 
						|
 | 
						|
-- NOTE: Storage positions must start with 0, directly related to file memory layout
 | 
						|
STORAGE_SCORE = 0 
 | 
						|
STORAGE_HISCORE = 1
 | 
						|
 | 
						|
-- Initialization
 | 
						|
-------------------------------------------------------------------------------------------
 | 
						|
local screenWidth = 800
 | 
						|
local screenHeight = 450
 | 
						|
 | 
						|
InitWindow(screenWidth, screenHeight, "raylib [core] example - storage save/load values")
 | 
						|
 | 
						|
local score = 0
 | 
						|
local hiscore = 0
 | 
						|
 | 
						|
local framesCounter = 0
 | 
						|
 | 
						|
SetTargetFPS(60)       -- Set our game to run at 60 frames-per-second
 | 
						|
-------------------------------------------------------------------------------------------
 | 
						|
 | 
						|
-- Main game loop
 | 
						|
while not WindowShouldClose() do    -- Detect window close button or ESC key
 | 
						|
    -- Update
 | 
						|
    ---------------------------------------------------------------------------------------
 | 
						|
    if (IsKeyPressed(KEY.R)) then
 | 
						|
        score = GetRandomValue(1000, 2000)
 | 
						|
        hiscore = GetRandomValue(2000, 4000)
 | 
						|
    end
 | 
						|
    
 | 
						|
    if (IsKeyPressed(KEY.ENTER)) then
 | 
						|
        StorageSaveValue(STORAGE_SCORE, score)
 | 
						|
        StorageSaveValue(STORAGE_HISCORE, hiscore)
 | 
						|
    elseif (IsKeyPressed(KEY.SPACE)) then
 | 
						|
        -- NOTE: If requested position could not be found, value 0 is returned
 | 
						|
        score = StorageLoadValue(STORAGE_SCORE)
 | 
						|
        hiscore = StorageLoadValue(STORAGE_HISCORE)
 | 
						|
    end
 | 
						|
    
 | 
						|
    framesCounter = framesCounter + 1
 | 
						|
    ---------------------------------------------------------------------------------------
 | 
						|
 | 
						|
    -- Draw
 | 
						|
    ---------------------------------------------------------------------------------------
 | 
						|
    BeginDrawing()
 | 
						|
 | 
						|
        ClearBackground(RAYWHITE)
 | 
						|
 | 
						|
        DrawText(string.format("SCORE: %i", score), 280, 130, 40, MAROON)
 | 
						|
        DrawText(string.format("HI-SCORE: %i", hiscore), 210, 200, 50, BLACK)
 | 
						|
        
 | 
						|
        DrawText(string.format("frames: %i", framesCounter), 10, 10, 20, LIME)
 | 
						|
        
 | 
						|
        DrawText("Press R to generate random numbers", 220, 40, 20, LIGHTGRAY)
 | 
						|
        DrawText("Press ENTER to SAVE values", 250, 310, 20, LIGHTGRAY)
 | 
						|
        DrawText("Press SPACE to LOAD values", 252, 350, 20, LIGHTGRAY)
 | 
						|
 | 
						|
    EndDrawing()
 | 
						|
    ---------------------------------------------------------------------------------------
 | 
						|
end
 | 
						|
 | 
						|
-- De-Initialization
 | 
						|
-------------------------------------------------------------------------------------------
 | 
						|
CloseWindow()        -- Close window and OpenGL context
 | 
						|
------------------------------------------------------------------------------------------- |