Gevinst funktion virker ikke

Tags:    c++

<< < 12 > >>
Hej.

Jeg er igang med et spil, men funktionen der giver gevinst, virker ikke. Nogen der vil tage et kig på den? Tak!

Når den skal vise pengene viser den intet. Næste gang den viser pengestatus (ved restart af do-løkke tingen) er pengestatus opdateret, men ikke med gevinst (derimod med satsningen trukket fra).

Jeg kan sende hele koden over mail hvis det er...

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 08.04.2006 13:42 af Bruger #9785
19 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
do
{
do
{


}
while (penge > 0);

cout << "Spillet er slut, du har ikke flere penge!" << endl;
cout << "Vil du prøve igen: ";

cin >> continue0;

}
while (continue0 = 'j');




Hej.

Jeg er igang med et spil, men funktionen der giver gevinst, virker ikke. Nogen der vil tage et kig på den? Tak!

Når den skal vise pengene viser den intet. Næste gang den viser pengestatus (ved restart af do-løkke tingen) er pengestatus opdateret, men ikke med gevinst (derimod med satsningen trukket fra).

Jeg kan sende hele koden over mail hvis det er...

Fold kodeboks ind/udKode 


Må vi se hele koden?



Hej.

Jeg er igang med et spil, men funktionen der giver gevinst, virker ikke. Nogen der vil tage et kig på den? Tak!

Når den skal vise pengene viser den intet. Næste gang den viser pengestatus (ved restart af do-løkke tingen) er pengestatus opdateret, men ikke med gevinst (derimod med satsningen trukket fra).

Jeg kan sende hele koden over mail hvis det er...



For mig at se er fejlen i linien

penge = penge - satsning(); // trækker indsatsen fra penge

Uanset om du har gaettet rigtigt eller forkert, saa traekker den satsningen fra startbeloebet. Saaledes har jeg tjent en masse ved at aendre minus-tegnet til et plus-tegn...

Nogle andre raad:
1) Du mangler function prototypes for nogle af dine funktioner, jeg er faktisk forundret at compileren ikke beklager over dette. :)
2) Undgaa globale variable (fx tal1, tal2). Overfoer tallene som parametre til de funktioner som har brug for tallene.
3) Er ikke sikker paa hvorfor du har to talgenerator-funktioner...Der er risiko for at det reelle tal (som brugeren skal gaette paa) aldrig er det tal som den foerste talgenerator-funktion har genereret, isaer naar du bruger srand().



Jo! Værsgo ;)

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 08.04.2006 15:44 af Bruger #9785
Min compiler fortæller mig:

Fold kodeboks ind/udKode 


Det er linierne:

Fold kodeboks ind/udKode 


Problemet er den return du har i linie 158

Hvis ikke det er fejlen, så fortæl lige hvad programmet skulle gøre og hvad det gør.



Hmm.. Jeg er stadig lidt lost :-/

Har I ikke et bud på hvordan det skal skrives? Jeg er stadig nybegynder .. :P

Som jeg forstår det er det funktionen tester(..) der ikke virker?



Prøv med denne, jeg er ikke sikker på at alle fejl er rettet:

Fold kodeboks ind/udKode 


De vigtigste rettelser er at return i tester er blevet rettet, og de lokale varible du havde i main med samme navn som de globale er blevet fjernet.



OK, tak for hjælpen. Har rettet i koden, så den virker nu. Jeg har endnu et spørgsmål - hvordan kan jeg få en gevinst med? Altså hvis jeg har 100 pt og satser 10 og vinder 50 pt (gevinsten), så jeg samlet har 140... Så skal der self stå: 50 som gevinst...

På forhånd tak igen!

Fold kodeboks ind/udKode 




Det letteste var at lave tester om så den returnerer gevinsten istedet for at den nye penge sum.

Så undgår du den underlige:

penge = tester(penge);

syntax, men kan skrive:

int gevinst = tester(penge);
penge += gevinst;

Det ville også være naturligt, da tester er den funktion der udregner gevinsten.



Okay det vil jeg kigge på.

Og lige én ting til... Hvordan kan jeg få den til at spørge om man vil spille videre?

Jeg har tænkt på følgende, men ved ikke hvor jeg skal placere den..

do {

cin >> continue0;

} while (continue0 = 'j');

Tak.



<< < 12 > >>
t