add timeout bombe
This commit is contained in:
parent
b46125c282
commit
7f6896b7a7
1 changed files with 26 additions and 16 deletions
24
window.c
24
window.c
|
@ -63,11 +63,13 @@ typedef struct perso_t {
|
||||||
int position; /* Position dans la grille.
|
int position; /* Position dans la grille.
|
||||||
* Permet d'éviter aux joueurs
|
* Permet d'éviter aux joueurs
|
||||||
* de se rentrer dedans */
|
* de se rentrer dedans */
|
||||||
|
int bombe; /* si une bombe est placé par le joueur,
|
||||||
|
* temps écoulé depuis sa pose */
|
||||||
} perso_t;
|
} perso_t;
|
||||||
|
|
||||||
/* Définition de nos deux joueurs */
|
/* Définition de nos deux joueurs */
|
||||||
perso_t _joueurA = { 0.f, 0.f, 0.f, -1 }; // à droite
|
perso_t _joueurA = { 0.f, 0.f, 0.f, -1, 0 }; // à droite
|
||||||
perso_t _joueurB = { 0.f, 0.f, 6.f, -1 }; // à gauche
|
perso_t _joueurB = { 0.f, 0.f, 6.f, -1, 0 }; // à gauche
|
||||||
|
|
||||||
/* Clavier virtuel */
|
/* Clavier virtuel */
|
||||||
enum {
|
enum {
|
||||||
|
@ -318,14 +320,19 @@ void idle(void) {
|
||||||
|
|
||||||
if(_vkeyboard[VK_RETURN]) {
|
if(_vkeyboard[VK_RETURN]) {
|
||||||
_vkeyboard[VK_RETURN] = 0; // on évite de spam la pose de bombe
|
_vkeyboard[VK_RETURN] = 0; // on évite de spam la pose de bombe
|
||||||
printf("Joueur A pose une bombe!\n"); // temp
|
if(_joueurA.bombe == 0) {
|
||||||
|
_joueurA.bombe = (int)t + 1;
|
||||||
|
if(_debug) printf("Joueur A pose une bombe!\n");
|
||||||
_plateau[posJoueurA] = 6;
|
_plateau[posJoueurA] = 6;
|
||||||
|
} else {
|
||||||
|
printf("bombe déjà posé il y a %d secondes\n", (int)(t - (_joueurA.bombe - 1)) / 1000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Affichage Debug */
|
/* Affichage Debug */
|
||||||
if(_debug) {
|
if(_debug) {
|
||||||
printf("\n========== Joueur A ==========\n");
|
printf("\n========== Joueur A ==========\n");
|
||||||
printf(" li = %d, col = %d, idx = %d\n", (int)(zA + .5f), (int)(xA + .5f), _joueurA.position);
|
printf(" li = %d, col = %d, idx = %d\n", (int)(zA + .5f), (int)(xA + .5f), _joueurA.position); // round avec cast int
|
||||||
printf(" zA=%f xA=%f\n", zA, xA);
|
printf(" zA=%f xA=%f\n", zA, xA);
|
||||||
printf(" d=%d h=%d g=%d b=%d\n", posDroiteA, posHautA, posGaucheA, posBasA);
|
printf(" d=%d h=%d g=%d b=%d\n", posDroiteA, posHautA, posGaucheA, posBasA);
|
||||||
}
|
}
|
||||||
|
@ -377,14 +384,17 @@ void idle(void) {
|
||||||
|
|
||||||
if(_vkeyboard[VK_SPACE]) {
|
if(_vkeyboard[VK_SPACE]) {
|
||||||
_vkeyboard[VK_SPACE] = 0; // on évite de spam la pose de bombe
|
_vkeyboard[VK_SPACE] = 0; // on évite de spam la pose de bombe
|
||||||
printf("Joueur B pose une bombe!\n"); // temp
|
if(_joueurB.bombe == 0) {
|
||||||
|
_joueurB.bombe = 1;
|
||||||
|
if(_debug) printf("Joueur B pose une bombe!\n");
|
||||||
_plateau[posJoueurB] = 6;
|
_plateau[posJoueurB] = 6;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Affichage Debug */
|
/* Affichage Debug */
|
||||||
if(_debug) {
|
if(_debug) {
|
||||||
printf("========== Joueur B ==========\n");
|
printf("========== Joueur B ==========\n");
|
||||||
printf(" li = %d, col = %d, idx = %d\n", (int)(zB + .5f), (int)(xB + .5f), _joueurB.position);
|
printf(" li = %d, col = %d, idx = %d\n", (int)(zB + .5f), (int)(xB + .5f), _joueurB.position); // round avec cast int
|
||||||
printf(" zB=%f xB=%f\n", zB, xB);
|
printf(" zB=%f xB=%f\n", zB, xB);
|
||||||
printf(" d=%d h=%d g=%d b=%d\n", posDroiteB, posHautB, posGaucheB, posBasB);
|
printf(" d=%d h=%d g=%d b=%d\n", posDroiteB, posHautB, posGaucheB, posBasB);
|
||||||
printf("===============================\n");
|
printf("===============================\n");
|
||||||
|
@ -405,7 +415,7 @@ void draw(void) {
|
||||||
couleurJoueurB = { 0.2, 0.2, 0.7, 1}, /* Bleu */
|
couleurJoueurB = { 0.2, 0.2, 0.7, 1}, /* Bleu */
|
||||||
couleurMurExterieur = { 0.1, 0.1, 0.1, 1}, /* Gris foncé */
|
couleurMurExterieur = { 0.1, 0.1, 0.1, 1}, /* Gris foncé */
|
||||||
couleurBois = { 0.6, 0.3, 0, 1}, /* Marron */
|
couleurBois = { 0.6, 0.3, 0, 1}, /* Marron */
|
||||||
couleurBombe = {1., 0, 0, 1}; /* Rouge */
|
couleurBombe = { 1, 0, 0, 1}; /* Rouge */
|
||||||
|
|
||||||
float model_view_matrix[16], projection_matrix[16], nmv[16];
|
float model_view_matrix[16], projection_matrix[16], nmv[16];
|
||||||
|
|
||||||
|
|
Reference in a new issue