Skip to content

Lorgord/SDL_SlotMachine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SDL_SlotMachine

Test task:

Implement a model of a slot machine with 5 rotating reels with 3 symbols in a visible field

Add a flashing “Start” button that starts the reels spinning;

Rotation time is 4-5 seconds. The reels must rotate at different speeds and stop sequentially one after another.

At the bottom of the screen, display the current fps of the program in font.

Description:

The slot machine model consists of:

  • spinning reels with symbols;
  • start button;
  • frame counter;

The reels are created in the Game::Init function, and the number of reels can be changed by modifying the reelsAmount variable.

When initializing the reel, an array is filled with coordinates of possible stopping points, based on the size of the image and the number of symbols.

When the start button is pressed, a random number is generated - the speed of the reel's rotation, after which it starts moving.

After that, the reel spins at a fixed speed, regardless of the frame rate.

The FPS limit is set by the targetFrameRate variable in the FPS_Counter.h file.

The visualization of the reel's rotation is achieved by drawing a copy of its texture with an upward or downward offset, depending on the position of the main texture on the screen.

When the timer expires, the Reel::FindClosestStopLocation function returns the closest position for stopping, to which the reel smoothly rotates. The stopping sequence depends on the reel index.

After the last reel stops, the start button becomes operational again.

The project runs on Windows OS using the SDL2 library. Project author: Egor Voronov.

изображение

2023-11-13.21-46-13.mp4

Releases

No releases published

Packages

No packages published

Languages