Imod
Mitglied
Hey,
Ich programmier zurzeit ein Game in der Console,
es ist schon fertig aber das problem ist dass es allein nur halb so viel spass macht also hab ich einen 2ten Player reinprogrammiert.
Das problem :
Wen sich ein Spielerbewegt muss der andere warten bis er aufhört bis er wieder sich selber bewegen kann
.
Mein Problem liegt in meiner Schleife:
Und zwar liest er die Variable c ein, werte sie in Buchstaben bzw Zahlen aus und durch die Switch anweisung wird dann der jeweilige Befehl ausgeführt.
Mein problem ist logisch er kann ja nicht von einer Tastatur mehere Zahlen bzw Buchstaben in einer Variable speichern, also hab ich eine char two angelegt, hat aber nichts gebracht, musste am shluss nur wieder alles ändern weil es so genau so wenig funtzte und der code ums doppelte länger wurde![Frown :( :(](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f641.png)
Hier der code :
Bitte um eine Lösung, wäre nett.
Mfg Domi
Ich benutze Dev c++, und xp
Ich programmier zurzeit ein Game in der Console,
es ist schon fertig aber das problem ist dass es allein nur halb so viel spass macht also hab ich einen 2ten Player reinprogrammiert.
Das problem :
Wen sich ein Spielerbewegt muss der andere warten bis er aufhört bis er wieder sich selber bewegen kann
![Frown :( :(](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f641.png)
Mein Problem liegt in meiner Schleife:
Und zwar liest er die Variable c ein, werte sie in Buchstaben bzw Zahlen aus und durch die Switch anweisung wird dann der jeweilige Befehl ausgeführt.
Mein problem ist logisch er kann ja nicht von einer Tastatur mehere Zahlen bzw Buchstaben in einer Variable speichern, also hab ich eine char two angelegt, hat aber nichts gebracht, musste am shluss nur wieder alles ändern weil es so genau so wenig funtzte und der code ums doppelte länger wurde
![Frown :( :(](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f641.png)
Hier der code :
PHP:
char c='\0';
char ctwo='\0';
while((c=getch())!=27 &(ctwo=getch())!=27/*EDIT*/&&Stop==false)//Solange du nicht Esc drückst erhält c den Wert der Taste
{
switch(c)
{
case 'a' : ly=y;lx=x;x==0?x=79:--x;break;
case 'd' : ly=y;lx=x;x==79?x=1:++x;break;
case 'w' : lx=x;ly=y;y==0?y=24:--y;break;
case 's' : lx=x;ly=y;y==24?y=0:++y;break;
}
switch(ctwo)
{
case '4' : lytwo=ytwo;lxtwo=xtwo;xtwo==0?xtwo=79:--xtwo;break;
case '6' : lytwo=ytwo;lxtwo=xtwo;xtwo==79?xtwo=1:++xtwo;break;
case '8' : lxtwo=xtwo;lytwo=ytwo;ytwo==0?ytwo=24:--ytwo;break;
case '5' : lxtwo=xtwo;lytwo=ytwo;ytwo==24?ytwo=0:++ytwo;break;
}
Textpositiontwo(lxtwo,lytwo);cout<<" "<<flush;//flush leert den Buffer und gibt ihn aus
Textpositiontwo(xtwo,ytwo);cout<<"*"<<flush;
Textposition(lx,ly);cout<<" "<<flush;//flush leert den Buffer und gibt ihn aus
Textposition(x,y);cout<<"+"<<flush;
Textposition(o,n);cout<<"@";
if (x == o & y == n)
{
score++;
level ++;
o = x + 4;
n = y + 3;
if (level == 3)
{
o = 40;
n = 30;
}
if (level == 7)
{
o = 50;
n = 20;
}
if (o > 16 & n > 16)
{
o = y - 10;
n = x - 3;
}
}
if (xtwo == o & ytwo == n)
{
scoretwo++;
level ++;
o = xtwo + 4;
n = ytwo + 3;
if (level == 3)
{
o = 40;
n = 30;
}
if (level == 7)
{
o = 50;
n = 20;
}
if (o > 16 & n > 16)
{
o = ytwo - 10;
n = xtwo - 3;
}
}
Bitte um eine Lösung, wäre nett.
Mfg Domi
Ich benutze Dev c++, und xp