Bonjour à tous !

Je voudrais coder un petit jeu de tennis en C et en mode console.
Mais avant de me lancer dans le jeu lui même, j'ai voulu vérifier que cela était possible, mais je suis déjà confronté à un problème : le joueur ne peut déplacer la raquette qu'au rythme de la balle ... et cela est un peu gênant.
Je n'ai trouvé aucune solution, alors si quelqu'un en a une ...

Cordialement.

main.c :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
#include <stdio.h>
#include <stdlib.h>
#include <conio2.h>
#include <windows.h>
#include "affichage.h"
 
int main(int argc, char *argv[])
{
    long x_raquette = 19;
 
    long y_raquette1 = 9;
 
    long y_raquette2 = 10;
 
    long y_raquette3 = 11;
 
    long x_balle = 40;
    long y_balle = 14;
 
    long toucheAppuyee = '0';
 
    char raquette_1 = '|';
    char raquette_2 = '|';
    char raquette_3 = '|';
 
    titre();
    terrain();
 
    do
    {
      gotoxy (x_raquette, y_raquette1);
      printf("%c", raquette_1);
 
      gotoxy (x_raquette, y_raquette2);
      printf("%c", raquette_2);
 
      gotoxy (x_raquette, y_raquette3);
      printf("%c", raquette_3);
 
      gotoxy( x_balle, y_balle);
      putch(' ');
 
      x_balle--;
 
      gotoxy( x_balle, y_balle);
      putch('o');
      sleep(300);  
 
      if (kbhit ())
      {
                toucheAppuyee = getch();
                if (toucheAppuyee == '8' && y_raquette1 != 7)
                {
                                  y_raquette1--;
                                  y_raquette2--;
                                  y_raquette3--;
 
                                  gotoxy( x_raquette, y_raquette3 + 1);
                                  putch(' ');
                }
 
                if (toucheAppuyee == '2' && y_raquette3 != 21)
                {
                                  y_raquette1++;
                                  y_raquette2++;
                                  y_raquette3++;
 
                                  gotoxy( x_raquette, y_raquette1 - 1);
                                  putch(' ');
                }
      }
 
     } while (x_balle != x_raquette + 1);
 
 
  getch();      
  return 0;
}
affichage.c :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
#include "affichage.h"
 
void titre()
 
{
     printf("\t\t\t\t+----------------+\n");
     printf("\t\t\t\t|  OPEN CONSOLE  |\n");
     printf("\t\t\t\t+----------------+");
}
 
void terrain()
 
{ 
     printf("\n\n\n");
     printf("\t\t+-----------------------+-----------------------+\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t|                       |                       |\n");
     printf("\t\t+-----------------------+-----------------------+");  
}
affichage.h :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
void titre();
void terrain();