Bonjour je tente de réaliser un pitit jeu de serpent... depuis pas mal de temps deja [ j'ai deja bien tourmenté le forum avec ca... mé bon... ]
et voila mon bout de code:
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
// Jeu de Serpent by THeAnGelZ alias N.M‚n‚gale
 
// Email: theangelofcrys@free.fr
 
#include <stdio.h>
#include <dos.h>
#include <bios.h>
#include <conio.h>
#include <iostream.h>
 
//--definition-de-la-classe-principale--------------------------------------
 class Serpent
 {
  private:
    char *SerpentCorps[1000];
    int Serpentx[1000];
    int Serpenty[1000];
    int TailleSerpent;
 
  public:
  // Modificationdes variable Set
    void SetSerpentCorps(int k,char *serpv)
    {
      SerpentCorps[k] = serpv;
    }
    void SetSerpentx(int k,int serpv)
    {
      Serpentx[k] = serpv;
    }
    void SetSerpenty(int k,int serpv)
    {
      Serpenty[k] = serpv;
    }
 // Accesseurs
    char *GetSerpentCorps(int nbT)
     { return SerpentCorps[nbT]; }
    int GetSerpentx(int nbT)
     { return Serpentx[nbT]; }
    int GetSerpenty(int nbT)
     { return Serpenty[nbT]; }
    int GetTailleSerpent()
     { return TailleSerpent; }
 
// Constructeur & Destructeur
   Serpent()
   {
     TailleSerpent=4;
       for(int k=0; k==1000; k++)
       {
	 if(k==0)
	   SerpentCorps[k]="þ";
	 else if(k<=4)
	 {
	   Serpentx[k] = (40 + k);
	   Serpenty[k] = 12;
	   SerpentCorps[k] = "²";
	 }
	 else
	 {
	   Serpentx[k] =-1;
	   Serpenty[k] =-1;
	   SerpentCorps[k] = " ";
	 }
       }
   }
// Fonctions Principale
   void SerpentPlusUn(int x,int y)
   {
     for(TailleSerpent=0; TailleSerpent==1000; TailleSerpent++)
     {
       if(SerpentCorps[TailleSerpent]==" ")
	break;
     }
    SerpentCorps[TailleSerpent]="²";
    Serpentx[TailleSerpent]=x;
    Serpenty[TailleSerpent]=y;
   }
   void SerpentBouge(int x,int y)
   {
     for(int k=0; k==TailleSerpent; k++)
     {
       SerpentCorps[k+1] = SerpentCorps[k];
       Serpentx[k+1]  = Serpentx[k];
       Serpenty[k+1] = Serpenty[k];
     }
     SerpentCorps[TailleSerpent+1]=" ";
     Serpentx[TailleSerpent+1]=-1;
     Serpenty[TailleSerpent+1]=-1;
 
     SerpentCorps[0]="@";
     Serpentx[0]=x;
     Serpenty[0]=y;
   }
 };
//------------------------------------------------------------------------------------------------
int main()
{
//--definition-des-variable-----------------------------------------------------------------------
int x=40;
int y=12;
int cget;
char quit=0;
// --
Serpent serpent;
// --
//------------------------------------------------------------------------------------------------
 
_setcursortype(_NOCURSOR); // enleve le curseur
 
while(!quit)
  {
//--affichage-du-serpent
    for(int k=0; k=serpent.GetTailleSerpent(); k++) // ici Possibly incorect assignement in fonction main()....
    {
      gotoxy(serpent.GetSerpentx(k),serpent.GetSerpenty(k));
      cout << serpent.GetSerpentCorps(k); // 254 -> þ 178 -> ²
    }
 
//----------------------
 
    if(kbhit()!=0)
      {
	delay(10);
	if(getch!=NULL)
	 cget=getch();
	switch(cget)
	  {
	    case 72: serpent.SerpentBouge(serpent.GetSerpentx(0),(--serpent.GetSerpenty(0)));  // Lvalue required in fonction main
		     break;
	    case 80: y++;  // j'en suis la
		     break;
	    case 75: x--;
		     break; // c pas fini la hein ?
	    case 77: x++;
		     break;
	    case 59: quit=1;
		     break;
	  }
	clrscr();
      }
  delay(50);
  switch(cget)
	  {
	    case 72: y--;
		     break;
	    case 80: y++;
		     break;
	    case 75: x--;
		     break;
	    case 77: x++;
		     break;
	    case 59: quit=1;
		     break;
	  }
  clrscr();
}
 
return 0;
}
Il ya quelquchose qui m'énerve c que Turbo C++ maffiche des warning [ 3/4 fois.. ]:
Fonctions sontaining for are not expanded inline

je ne comprend pas pourquoi... pourquoi ??

mais aussi :
Possibly incorect assignement in fonction main()
&
Lavlue required in fonction main()

Ben voila je vous ai tout dis de mes problème....

J'utilise Turbo C++...

Merci d'avance pour votre aide @+