Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Slumpar samma hela tiden

Skapad av Borttagen, 2011-01-04 13:27 i Webbutveckling & Programmering

1 382
9 inlägg
0 poäng
slumpen
Visningsbild
Hjälte 5 inlägg
0
Tjenare, jag håller på med ett tärningsspel. Saken är att min slumpgenerator slumpar samma tärning (tärning 1) vilket leder till samma värde...
tex får alla sex tärningarna värdet 5, lr 3, lr 6, ja ni fattar.
jag hade inte detta problem förut, men så ändra jag på en sak, spara och kryssa ner, nu funkar det inte.

Detta har jag problem med:

[code] for (int c=0; c<=tarningkvar; c++){
slumpgen (tarningar, tarningkvar); // Slumpgenerator här för att slumpa fram tärningar ur switch-case-satsen
ShowDice(c, tarningar); // Tärningarna i en switch-sats
}[/code]



[code]void slumpgen (int tarning[], int tarningkvar){
srand(time(0));
for (int a=0; a < tarningkvar; a++){
tarning [a] = rand ()%6+1;

}
}[/code]


[code]int ShowDice(int tarningkvar, int tarningar [] ){
for (int c=0; c<tarningkvar; c++){

switch (tarningar[c]){
case 1:
cout<< "Dice nr " << c+1<<endl;
cout<< "_______" << endl;
cout<< "| |" << endl;
cout<< "| O |" << endl;
cout<< "|_____|" << endl<< endl;
break;

case 2:
cout<< "Dice nr " << c+1<<endl;
cout<< "_______" << endl;
cout<< "|O |" << endl;
cout<< "| |" << endl;
cout<< "|____O|" << endl<< endl;
break;

case 3:
cout<< "Dice nr " << c+1<<endl;
cout<< "_______" << endl;
cout<< "|O |" << endl;
cout<< "| O |" << endl;
cout<< "|____O|" << endl<< endl;
break;

case 4:
cout<< "Dice nr " << c+1<<endl;
cout<< "_______" << endl;
cout<< "|O O|" << endl;
cout<< "| |" << endl;
cout<< "|O___O|" << endl<< endl;
break;

case 5:
cout<< "Dice nr " << c+1<<endl;
cout<< "_______" << endl;
cout<< "|O O|" << endl;
cout<< "| O |" << endl;
cout<< "|O___O|" << endl<< endl;
break;

case 6:
cout<< "Dice nr " << c+1<<endl;
cout<< "_______" << endl;
cout<< "|O O|" << endl;
cout<< "|O O|" << endl;
cout<< "|O___O|" << endl<< endl;
break;

default:
cout<< "ERROR";
break;

}
return 0;
}

}
[/code]
tarningar är ett fält med 6 tärningar och tarningkvar är så många tärningar man har kvar (man väljer de man vill spara senare i spelet)

Tillägg av slumpen 2011-01-04 13:28

Edit: CODE-saken vill tydligen inte fungera, hoppas ni ser ändå

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

joi
Visningsbild
P 31 Hjälte 2 629 inlägg
0
Svar till slumpen [Gå till post]:
Om du skriver:

int ShowDice(int tarningkvar, int tarningar [] ){
for (int c=0; c<tarningkvar; c++){

Så kommer C att anta värdet 1. (eller?) Om jag försår det rätt så har redan C ett viktigt värde när det kommer till den satsen, och sedan skivs det över med en etta. Du har väl redan deklarerat "c" i koden?

Testa att stega renom koden och se vad som händer med c/andra integers!

slumpen
Visningsbild
Hjälte 5 inlägg
Trådskapare
0
okej, men jag använder bara c i for-loopen, anropet av funktionen och i själva funktionen där c är tärningens värde.

har testa att ändra lite men det händer samma sak ändå
gaminggirl
Visningsbild
F 38 Lund Hjälte 8 084 inlägg
0

Svar till slumpen [Gå till post]:
Vet inte om det gör skillnad men på c++.com står det att man ska ha
srand ( time(NULL) ); inte srand(time(0));
http://www.cplusplus.com/reference/clibrary/cstdlib/rand/

Ingen status

slumpen
Visningsbild
Hjälte 5 inlägg
Trådskapare
0
Nej det spelar ingen roll, testade med NULL men samma sak hände
gaminggirl
Visningsbild
F 38 Lund Hjälte 8 084 inlägg
0

Svar till slumpen [Gå till post]:
Vill du inte ha return efter for-satsen? Just nu gör den inget för du returnerar efter första varvet och gör inte mer. Just nu går du till utskriften, skriver ut den första tärningen och avslutar utskrivandet.
Du ska ha return utanför for-satsen om du ska skriva ut alla tärningarna.

Får jag sedan fråga vad ska for-satsen här göra?
for (int c=0; c<=tarningkvar; c++){
slumpgen (tarningar, tarningkvar); // Slumpgenerator här för att slumpa fram tärningar ur switch-case-satsen
ShowDice(c, tarningar); // Tärningarna i en switch-sats
}

Vill du slå alla tärningarna flera gånger och skriva ut dem?


Ingen status

slumpen
Visningsbild
Hjälte 5 inlägg
Trådskapare
0
åhh tack så mkt girl, du löste allt :D
anledningen till att jag gjorde så var att jag hade för mig att det var så innan jag förstörde allt, visste att return var fel oxå, men blev fel om jag lade den på rätt ställe...
anyway thx^^
foxhunter
Visningsbild
P 26 Hjälte 505 inlägg
0

Svar till slumpen [Gå till post]:
du skulle inte kunna posta spelet så man kan få testa det?

Ingen status

slumpen
Visningsbild
Hjälte 5 inlägg
Trådskapare
0
jo det kan jag väl, men det är inte klart än, tror jag blir klar denna vecka iaf

Forum » Datorer & IT » Webbutveckling & Programmering » Slumpar samma hela tiden

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons