mboost-dp1

c++ do-while løkke


Gå til bund
Gravatar #1 - Longio
17. dec. 2009 11:12
Hej

Jeg skal have lavet en do-while løkke, eller hvad det nu hedder

do {

} while ()

Det som den skal gøre er som følger:

Lige så snart en "Spiller" har nået tallet 0 skal den stoppe, ellers skal den blive ved med at køre fra spiller 1-4 og når spiller 4 er færdig med sin tur så skal den hoppe tilbage til spiller 1.
Gravatar #2 - plazm
17. dec. 2009 11:13
Det lyder rigtigt godt, så er det da bare det du gør :)
Gravatar #3 - Longio
17. dec. 2009 11:35
#2
Hvad skal jeg skrive for at løkken gør det som jeg spørger om??
Gravatar #4 - Qw_freak
17. dec. 2009 11:35


int stop = 0;

do {

//her indsættes det du skal lave med dine spillere!

if(spiller1==0)
{
stop = 1;
}

if(spiller2==0)
{
stop = 2;
}

if(spiller3==0)
{
stop = 3;
}

if(spiller4==0)
{
stop = 4;
}


} while (stop == 0)


værdien i stop fortæller hvilken spiller der nåede 0

hvis der er to spillere der kan nå nul i samme runde duer dette ikke da det er den spiller nummerordens mæssigt der vil bestemme værdien i 'stop!!
Gravatar #5 - Windcape
17. dec. 2009 11:50
Måske noget ala.


// List of Players
int[] players = new int[4];

// Initial Values
players[0] = 3;
players[1] = 8;
players[2] = 2;
players[3] = 6;

// Active Player
int activePlayer = 0;

while (true)
{
// Iterate over every player
for (int i = 0; i < 4; i++)
{
// Game's over.
if(players[i] == 0)
break;

// Decrease the players value
players[i]--;
}

// All players done, restart
if (activePlayer == 3)
{
activePlayer = 0;
}
// Next Player
else
{
activePlayer++;
}
}
Gravatar #6 - Longio
17. dec. 2009 11:58
#4 +5
Tak for jeres hurtige svar. Jeg vil selv mene at jeg skal bruge noget ala det #4 skriver.

Jeg har brugt arrays, måske er det lettere at hjælpe hvis i kan se koden.
Den kan hentes her
http://www.megaupload.com/?d=GPA0PZMQ
Gravatar #7 - Windcape
17. dec. 2009 12:50
http://www.pastebin.com

Der er ingen grund til at uploade en fil på en upload-side, frem for bare at poste koden på en pastebin, eller direkte her i forumet.
Gravatar #8 - Longio
17. dec. 2009 13:53
#7
Ok, så poster jeg koden ind her.


...
int main() {

srand(time(NULL)); //set random numbers med time
string navne[4]; //String for 4 spillere
int
spillere = indtast_antal_spillere(navne),
ojne, nyTur,
kurve[]={0,0,0,0},
bager[]={0,0,0,0,0}; //tuborg for array kan kun bruges når de erklæres

//ingen kantede paranteser for array, når funktioner kaldes
laeg_aeg_i_kurv(spillere, kurve);

do { //Efter sidste spiller, så er det spiller 1 tur igen

for(int spillerNr=0; spillerNr<spillere; spillerNr++)
{
do { //Terningkast og skift mellem spillerne
//system("cls");
vis_spilleplade(spillere, kurve, bager, navne);
ojne = kast_terning(navne, spillere, spillerNr);
nyTur = flytaeg(kurve, bager, spillerNr ,ojne);
//cout <<"nyTur="<<nyTur<<endl;
if(nyTur==1 && kurve[spillerNr]>0)
{
vis_spilleplade(spillere, kurve, bager, navne);
cout << "Vil du kaste igen? ja eller nej." << endl;
cin >> igen;
cout << endl;
}



else
{
Sleep(1000); //Delay i 1000 ms
cout << endl;
cout << "Tur slut" << endl;
cout << endl;
igen='n';
}


} while (igen=='j' || igen=='J');
}

if ()
{

}


} while (); //While løkken slutter og starter forfra med mindre en spiller har 0 æg
...
Gravatar #9 - zin
17. dec. 2009 23:11
#8: Han mente du skulle bruge pastebin. :-)
Det er et det bedste sted at ligge codesnippets op på.
Gravatar #10 - arntc
18. dec. 2009 11:24
eller lige bruge "code" knappen når du skriver dit indlæg
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login