fix bug which B player is A id
This commit is contained in:
parent
881a08e7dd
commit
ed30e7cc29
1 changed files with 11 additions and 11 deletions
22
window.c
22
window.c
|
@ -266,9 +266,9 @@ void idle(void) {
|
||||||
float vitesse = 9.f; // vitesse des joueurs
|
float vitesse = 9.f; // vitesse des joueurs
|
||||||
|
|
||||||
/* Calcul du décalage */
|
/* Calcul du décalage */
|
||||||
float decalageAutorisee = .2f; // décalage autorisé, modifier cette valeur si nécessaire
|
/* float decalageAutorisee = .2f; // décalage autorisé, modifier cette valeur si nécessaire
|
||||||
float decalageGB = .0f + decalageAutorisee; // décalage pour la gauche et le bas
|
float decalageGB = .0f + decalageAutorisee; // décalage pour la gauche et le bas
|
||||||
float decalageDH = 1.f - decalageAutorisee; // décalage pour la droite et le haut
|
float decalageDH = 1.f - decalageAutorisee; // décalage pour la droite et le haut */
|
||||||
|
|
||||||
/* Mouvements du Joueur A */
|
/* Mouvements du Joueur A */
|
||||||
/* Coordonées x, z */
|
/* Coordonées x, z */
|
||||||
|
@ -283,8 +283,8 @@ void idle(void) {
|
||||||
int coorBasA = ceil(zA) * _grilleH + round(xA);
|
int coorBasA = ceil(zA) * _grilleH + round(xA);
|
||||||
|
|
||||||
/* Décalage pour éviter bug de collisions */
|
/* Décalage pour éviter bug de collisions */
|
||||||
float decalageLargeurA = zA - floor(zA);
|
/* float decalageLargeurA = zA - floor(zA);
|
||||||
float decalageLongueurA = xA - floor(xA);
|
float decalageLongueurA = xA - floor(xA); */
|
||||||
|
|
||||||
/* Déplacement
|
/* Déplacement
|
||||||
* Pour la vérification du "si mur"
|
* Pour la vérification du "si mur"
|
||||||
|
@ -349,28 +349,28 @@ void idle(void) {
|
||||||
int coorBasB = ceil(zB) * _grilleH + round(xB);
|
int coorBasB = ceil(zB) * _grilleH + round(xB);
|
||||||
|
|
||||||
/* Décalage pour éviter bug de collisions */
|
/* Décalage pour éviter bug de collisions */
|
||||||
float decalageLargeurB = zB - floor(zB);
|
/* float decalageLargeurB = zB - floor(zB);
|
||||||
float decalageLongueurB = xB - floor(xB);
|
float decalageLongueurB = xB - floor(xB); */
|
||||||
|
|
||||||
/* Déplacement */
|
/* Déplacement */
|
||||||
if(_vkeyboard[VK_d])
|
if(_vkeyboard[VK_d])
|
||||||
/* Collision à droite du joueur */
|
/* Collision à droite du joueur */
|
||||||
if(_plateau[coorDroiteB] == 0 || _plateau[coorDroiteB] == 2) // si case vide ou joueur
|
if(_plateau[coorDroiteB] == 0 || _plateau[coorDroiteB] == 3) // si case vide ou joueur
|
||||||
/* if(decalageLargeurB < decalageGB || decalageLargeurB > decalageDH) */ _joueurB.x += vitesse * dt; // on s'assure d'être aligné
|
/* if(decalageLargeurB < decalageGB || decalageLargeurB > decalageDH) */ _joueurB.x += vitesse * dt; // on s'assure d'être aligné
|
||||||
|
|
||||||
if(_vkeyboard[VK_s])
|
if(_vkeyboard[VK_s])
|
||||||
/* Collision en haut du joueur */
|
/* Collision en haut du joueur */
|
||||||
if(_plateau[coorHautB] == 0 || _plateau[coorHautB] == 2) // si case vide ou joueur
|
if(_plateau[coorHautB] == 0 || _plateau[coorHautB] == 3) // si case vide ou joueur
|
||||||
/* if(decalageLongueurB < decalageGB || decalageLongueurB > decalageDH) */ _joueurB.z -= vitesse * dt; // on s'assure d'être aligné
|
/* if(decalageLongueurB < decalageGB || decalageLongueurB > decalageDH) */ _joueurB.z -= vitesse * dt; // on s'assure d'être aligné
|
||||||
|
|
||||||
if(_vkeyboard[VK_q])
|
if(_vkeyboard[VK_q])
|
||||||
/* Collision à gauche du joueur */
|
/* Collision à gauche du joueur */
|
||||||
if(_plateau[coorGaucheB] == 0 || _plateau[coorGaucheB] == 2) // si case vide ou joueur
|
if(_plateau[coorGaucheB] == 0 || _plateau[coorGaucheB] == 3) // si case vide ou joueur
|
||||||
/* if(decalageLargeurB < decalageGB || decalageLargeurB > decalageDH) */ _joueurB.x -= vitesse * dt; // on s'assure d'être aligné
|
/* if(decalageLargeurB < decalageGB || decalageLargeurB > decalageDH) */ _joueurB.x -= vitesse * dt; // on s'assure d'être aligné
|
||||||
|
|
||||||
if(_vkeyboard[VK_s])
|
if(_vkeyboard[VK_s])
|
||||||
/* Collision en bas du joueur */
|
/* Collision en bas du joueur */
|
||||||
if(_plateau[coorBasB] == 0 || _plateau[coorBasB] == 2) // si case vide ou joueur
|
if(_plateau[coorBasB] == 0 || _plateau[coorBasB] == 3) // si case vide ou joueur
|
||||||
/* if(decalageLongueurB < decalageGB || decalageLongueurB > decalageDH) */ _joueurB.z += vitesse * dt; // on s'assure d'être aligné
|
/* if(decalageLongueurB < decalageGB || decalageLongueurB > decalageDH) */ _joueurB.z += vitesse * dt; // on s'assure d'être aligné
|
||||||
|
|
||||||
if(_vkeyboard[VK_SPACE]) {
|
if(_vkeyboard[VK_SPACE]) {
|
||||||
|
@ -382,7 +382,7 @@ void idle(void) {
|
||||||
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);
|
||||||
printf(" zA=%f xA=%f\n", zB, xB);
|
printf(" zB=%f xB=%f\n", zB, xB);
|
||||||
printf(" d=%d h=%d g=%d b=%d\n", coorDroiteB, coorHautB, coorGaucheB, coorBasB);
|
printf(" d=%d h=%d g=%d b=%d\n", coorDroiteB, coorHautB, coorGaucheB, coorBasB);
|
||||||
printf("===============================\n");
|
printf("===============================\n");
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue