-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
80 lines (65 loc) · 1.27 KB
/
main.cpp
File metadata and controls
80 lines (65 loc) · 1.27 KB
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <raylib.h>
struct Screen
{
const int Width;
const int Height;
};
struct Ball
{
int PosX;
int PosY;
int Radius;
};
void travelPos(const Screen &screen, Ball &ball);
// DEFINITIONS
const Screen screen = { 600, 600 };
Ball ball = { screen.Width / 2, screen.Height / 2, screen.Height / 16 };
int main()
{
InitWindow(screen.Width, screen.Height, "Raylib Example - Ball");
SetTargetFPS(60);
// GAME LOOP
// this will run 60 times/s
while (!WindowShouldClose())
{
// Event Handling
if (IsKeyDown(KEY_RIGHT))
{
ball.PosX += 3;
} else if (IsKeyDown(KEY_LEFT))
{
ball.PosX -= 3;
} else if (IsKeyDown(KEY_UP))
{
ball.PosY -= 3;
} else if (IsKeyDown(KEY_DOWN))
{
ball.PosY += 3;
}
travelPos(screen, ball);
// Drawing
BeginDrawing();
ClearBackground(SKYBLUE);
DrawCircle(ball.PosX, ball.PosY, ball.Radius, RED);
EndDrawing();
}
CloseWindow();
return 0;
}
void travelPos(const Screen &screen, Ball &ball)
{
if (ball.PosX < 0)
{
ball.PosX = screen.Width;
} else if (ball.PosX > screen.Width)
{
ball.PosX = 0;
}
if (ball.PosY < 0)
{
ball.PosY = screen.Height;
} else if (ball.PosY > screen.Width)
{
ball.PosY = 0;
}
}