summaryrefslogtreecommitdiff
path: root/src/main.cpp
blob: 82f0067f658a48ef2c99bf1bc8d7c3efdbba1ff9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "main.hpp"

int main()
{
    srand(time(NULL));
	Window main;
	List L(main);
	Event e;

    Timer fps;
    int speed = 60;
    bool pause = false;

	while(e.gRun())
	{
        fps.Start();

		while(e.Poll())
		{
			if(e.gEventType() == SDL_QUIT)
				e.off();
			else if(e.gEventType() == SDL_KEYDOWN)
                switch(e.gEvent().key.keysym.sym){
                    case SDLK_q:        e.off();                    break;
                    case SDLK_EQUALS:   speed+=30;                  break;
                    case SDLK_MINUS:    if(speed >30) speed-=30;    break;
                    case SDLK_SPACE:    pause=(pause)?(0):(1);      break;
                }
		}

        if(!pause){
            main.Clear();
            
            L.Remove();
            L.Behavior();
            L.Place();

            main.Render();
        }
		
        if(fps.getTicks() < (1000 / speed))
            SDL_Delay((1000 / speed) - fps.getTicks());
	}

	main.Destroy();
	return 0;
}