-
Notifications
You must be signed in to change notification settings - Fork 2
/
main.c
73 lines (61 loc) · 1.35 KB
/
main.c
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
/*
Jogo de navinha desenvolvido em linguagem C, cujo o objetivo é marcar a maior pontuação possível, enquanto você evita que asteroides atinjam você!
Desenvolvido por: Ryan de Menezes Nobre Ciriaco
GitHub: https://github.com/Ryan-Menezes
E-Mail: menezesryan1010@gmail.com
linkedin: https://www.linkedin.com/in/ryan-menezes-845080201/
*/
#include <stdio.h>
#include <stdlib.h>
#include "game.h"
// VARIABLES
GAME *game = NULL;
SHIP *ship = NULL;
// FUNCTIONS
void inicialize();
void loop();
void update();
void main(int argc, char *argv[]) {
inicialize();
loop();
}
/*
Inicializa variáveis globais
parameters: void
return: void
*/
void inicialize(){
hideCursor();
game = createGame();
ship = createShip();
// MUDANDO O TITULO DA JANELA
SetConsoleTitle(TITLE);
// MUDANDO A DIMENÇÃO DA JANELA
setWindowDimension(WINDOW_WIDTH, WINDOW_HEIGHT);
}
/*
Loop do jogo
parameters: void
return: void
*/
void loop(){
if(game->start){
update();
Sleep(game->speed);
}else{
if(game->status == START) menu(game, ship);
else gameover(game);
}
loop();
}
/*
Atualiza elementos do jogo
parameters: void
return: void
*/
void update(){
// ATUALIZA NAVE
updateShip(ship, &(DIMENSION){WINDOW_WIDTH, WINDOW_HEIGHT});
// GERA NOVOS ASTEROIDES, ATUALIZA POSIÇÂO DE ASTEROIDES, VERIFICA COLISÃO ENTRE ASTEROID, BALA E NAVE
updateGame(game, ship);
}