3 spørgsmål

Tags:    c++

<< < 12 > >>
Hejsa

/edit: Det blev 4 spørgsmål :-)

Jeg sidder og roder med noget c++, da jeg gerne vil lære det. Jeg startede på det idag så er ret ny, og har måske allerede gabt over for meget.

Jeg har lånt noget kode fra en af de utallige gratis steder på nettet, og er nu igang med at prøve at viderudvikle det.

1. Hvordan får jeg terningerne op på samme niveau, sådan at spiller 1 og 2's kast ligger over for hinanden?

2. Jeg vil gerne have en highscore funktion. Er det noget jeg burde glemme nu her i starten?

3. Ideen med spillet er at jeg vil kunne lægge en ascii tegning ind for hver spiller. f.eks. en ispind. Når spilleren så kaster sin terning (f.eks 2 + 5), får han f.eks. 7 streger i sin ascii tegning. Vinderen er den der bliver først færdig. Det er så meningen at de 5 hurtigste (Dem med færrest kast) skal kunne gemmes i en highscore liste.

4. Kan jeg fiksere det dos vindue, så den har en fast størrelse fra starten af? Vil gerne have at ascii tegningerne bygges op i bunden, mens feltet hvor terningerne kastes cleares ved hvert kast.

Det var vist det jeg sidder og roder med nu. Håber at nogen derude kan give mig nogle hints om hvordan jeg kan løse nogle af de problemer.

På forhånd tak.

Koden kan ses her forneden.

Fold kodeboks ind/udKode 






Indlæg senest redigeret d. 03.06.2006 23:01 af Bruger #10068
14 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Bare lige for at spørge, hvorfor begynder du ikke med noget objekt-orienteret? F.eks. C#? Ville mene det var noget mere tidssvarende og samtidig mange gange nemmere at løse din opgave med.



1: Det lettteste er at flytte cursoren til et bestemt punkt, for hver linie når du tegner terningen. Måske har din compiler (hvilken ?) en gotoxy funktion der kan bruges til formålet, måske i conio.h. Ellers kan du, hvis du bruger windows, lave en med SetConsoleCursorPosition, se f.ex:
http://home20.inet.tele.dk/midgaard/snip/bille.html

2: Det gemmer vi lige lidt.

3: Er det et spørgsmål?

4: På windwos kan du gøre det med SetConsoleScreenBufferSize



Hej Bertel

Jeg bruger Dev-c++ som compiler.

Spørgsmål 1 og 4 klaret :-) Takker.

Mht. til punkt 3, er jeg lidt i tvivl om hvordan det skal gribes an?



2: Prøv at kikke på HighScoreClass i:
http://home20.inet.tele.dk/midgaard/snip/pacman.html

3: Delen med at tegne kunne løses ved at lave noget i stil med:

Fold kodeboks ind/udKode 


Ideen er at Graphics indeholder information om hvert tegn der skal tegnes for hver figur, f.ex. en ispind.

En ispind kan så tegnes ved at tegne alle de tegn der er i IsPind[]

TegnGraphics() tegner et tegn. Når en spiller får point kalder man den det antal gange som han har fået point, samtidig med at man tæller idx op.
xOffset og yOffset kan bruges til at bestemme hvor på skærmen figuren skal tegnes; de to spillers figur skal ikke tegnes samme sted.



Bare lige for at spørge, hvorfor begynder du ikke med noget objekt-orienteret? F.eks. C#? Ville mene det var noget mere tidssvarende og samtidig mange gange nemmere at løse din opgave med.


Er C++ ikke objekt orienteret?
Er C++ ikke tidssvarende?
Jeg tvivler stærkt på at det er lette at løse i C#



Bare lige for at spørge, hvorfor begynder du ikke med noget objekt-orienteret? F.eks. C#? Ville mene det var noget mere tidssvarende og samtidig mange gange nemmere at løse din opgave med.


Er C++ ikke objekt orienteret?
Er C++ ikke tidssvarende?
Jeg tvivler stærkt på at det er lette at løse i C#


Ja det vil jeg nu også sige. C++ er det mest brugte sprog og kan både løse denne men også mange andre opgave nemt og med et godt design.
Koden der blev postet var godt nok ikke videre objekt orienteret men det tager også tid at gøre det godt, og her hjælper C# ikke.



Kan ikke rigtigt få det med at tegne til at fungere. Men er gotoxy funktionen tilgængelig i Dev-c++?

Har et tillægspørgsmål, som jeg håber det er iorden jeg stiller her.

1. Hvordan gemmer jeg en midlertidigt score i et array? f.eks. hvis kast 1 giver 12 point og kast 2 giver 5 point. Så skal den gemme de 12, og når kast 2 er foretaget skal de 5 point lægges oveni og derefter kast 3 osv..


Har btw. fundet ud af at du (Bertel) ikke samler point, så de er "left to rot", med mindre en anden kan svare tilfredsstillende :-)




Nej, jeg tror ikke Dev-Cpp's compiler (MinGW) har en gotoxy. Du kan finde en i paclman spillet jeg linkede til før.

Jeg er ikke sikker på at det er nødvendigt at gemme de midlertidige scores i et array, men ellers kan du vel blot lave et array:

int Score[1024];

Eller er der noget jeg har misforstået?



Meningen med de midlertidige numre er at tallene lægges sammen, og når man f.eks. 25, udløser det et bonus spørgsmål.

Jeg kan sagtens lave et array som f.eks. point[] = {}, men jeg ved ikke hvordan jeg skal gemme den midlertidige værdi i arrayet.

Eksempel.
Kast 1 = 12 - Array'et viser 12
Kast 2 = 7 - Array'et viser 19
kast 3 = 1 - Array'et viser 20

Er det en dum måde at gøre det her på?



Du kan godt lave:

int Score[1024];
Score[0] = 12;
Score[1] = 5 + Score[0];

Eller

void AddScore(int aScore, int aIdx)
{
Score[aIdx + 1] = Score[aIdx] + aScore;
}

Men spørgsmålet er om du har noget at bruge de tidligere scores til eller om du kan nøjes med den nyeste score?



<< < 12 > >>
t