This should be quite easy for you mighty C++ veterans.![]()
How do I create a highscores table in a game, so that I can view it and add to it?
I have a feeling it involves it looking in a .txt file and making changes to it.
Thanks![]()
This should be quite easy for you mighty C++ veterans.![]()
How do I create a highscores table in a game, so that I can view it and add to it?
I have a feeling it involves it looking in a .txt file and making changes to it.
Thanks![]()
I'm thinking file I/O. Search it on google, it's pretty simple.
I found it, it does indeed look simple.
Thanks![]()
Definitely file I/O. Do you want the file to be human-readable (and easily modified) outside the game? Or do you want the uninitiated to not be able to decipher it from, say, notepad?
The .Org's MTW Reference Guide Wiki - now taking comments, corrections, suggestions, and submissions
If I werent playing games Id be killing small animals at a higher rate than I am now - SFTS
Si je n'étais pas jouer à des jeux que je serais mort de petits animaux à un taux plus élevé que je suis maintenant - Louis VI The Fat
"Why do you hate the extremely limited Spartan version of freedom?" - Lemur
Things have gone a bit wrong, I asked my lecturer how to get the numbers from the text file (I don't think he understood what I was trying to do), he used the getline() code to get the numbers out of the file. The problem is that they are stored in a char array, which means each digit on the number is in a different part of the array and finding out which number is bigger will be very difficult.
The program (which will be intergrated into the game) works like this:
1. Open the file.
2. Get the numbers from file.
3. Input a number that called CS (Current score, this would normally come from the game).
4. A big nested if statement to find out where the CS number should go in the list, or if it is too small display a message telling the player they do not have a high score.
5. Display the updated high scores.
6. Update the file with the new scores.
7. Close the file
Question:
1. Should I be using a text file for this program?
2. Is there any other way of getting the numbers out of the file?
3. Is there a way to convert a char array into an int?
Thanks.![]()
I think I have solved the problem by using the atoi() thing.
I have got it all working now.![]()
How did you do it ? I've been messing around with the getline() thing too, but it's not really convienent for loading in tables or matrices.
Yes, Iraq is peaceful. Go to sleep now. - Adrian II
Use strtol() instead of atoi(). atoi() doesn't detect, or return, certain kind of errors. strtol() does, AND it has more functionality (bases, etc).
And it has its variants, as well, strtod(), strtoll(), strtoul()...
Therapy helps, but screaming obscenities is cheaper.
Ultimately, I think you'll want to use something other than a text file for this application. A text file will do the job, but as you get more programming knowledge you'll be able to use:
1. A binary file containing records (I think this is what most games do)
2. A database of some kind, such as MySQL
I haven't used C++ in a while (mainly C# these days), so I won't try to explain either, but don't worry: it'll come. Neither is all that hard.
If you define cowardice as running away at the first sign of danger, screaming and tripping and begging for mercy, then yes, Mr. Brave man, I guess I'm a coward. -Jack Handey
The numbers in the text file where like this:How did you do it ?
1|2|3|4|5|6|7|8|9|10
To extract a number I used:
HighScoresfile.getline(buf1, 1024, "|");
buf1 was a char array with 1024 places.
Then I copied the contents of the array into an int called HS1:
HS1 = atoi(buf1);
Then I repeated the it, only with the buf and HS number increasing until it got to 10.
I have feeling that this is not the best way to do it, but we have not been taught how to do stuff with files yet. It works, so I am pleased with myself.
We will probably be doing this stuff next year.Ultimately, I think you'll want to use something other than a text file for this application. A text file will do the job, but as you get more programming knowledge you'll be able to use:
1. A binary file containing records (I think this is what most games do)
2. A database of some kind, such as MySQL
Bookmarks