i've been putting it off for too long. its time to make a highscore table, and/or complete the game cycle (title screen, game, highscore, repeat). i'm going to make a new form for this, just to make it easier to do. can i just go Application.Run(newForm) while the game form is running?
lets make a quickie title screen. [working] done and implemented. now the highscore table. sigh.. wait! what about a gameover screen? surely i need one of those!! it will appear for like 3secs or something, after you game over (unless you hit the highscore table, and then it does it for 3secs after you're done with the table.. blarg, i'm just putting it off.
ok well the first thing is, we need to pop up a new form. lets do that. [working] ok, well i can't use Application.Run() to do it. i'll have to set up another loop to last the duration of the highscore table form. [working] nope, that doesn't work either, because i have to still use Application.DoEvents(). luckily i found ShowDialog() and i'm using that. [working]
added a background to the main game. the highscore list (like the main game window) is being sized improperly. i'm sure its due to how we have a different text size scheme than the default, and its not accounting for that. another problem that came up was that if you're holding the button down when the time runs out and the hs list comes up, it skips over the title screen. should be easy to fix. [working]
so changing the 'extra large fonts' in accessibility didn't do anything to help the size changing problem. i just added a Size = new Size(x,y) in FormLoad and its keeping, for now.
so now we need to check the top scores against the score we enter the high score table with. thats going to need me to give the score in to it somehow.. [working] ok i'm giving it the score and percentage. the score is the only thing that makes a difference in placing in the list, but its interesting to note the accuracy too, imo.
i need to make a list of actual data entries to make the comparison and list building easier. [working] ok now we need to load and save the list (building one from scratch if theres no highscore list file), as well as pop up another form (dialog?) that asks for a name. [working]
ok, i just got a filestream and a streamreader up and going. if the file read fails for any reason, an exception catcher grabs it and we just make a new highscore list. now i have to figure out how to parse a line of the highscore.txt file. it's going to look like ten lines of this:
somename 100 50
(name) (score) (accuracy)
if i can grab tokens out of a string.. [looking] awesome. i just have to Split() the string into an array of other strings. that was awesome. all i have to do now is make the popup for the highscore name. [working]
that was a bit of learning on the fly there, but i got it. all done. i suppose i should have the gameover 3sec screen before the highscore, but you know what? screw it. i wanna just be done with this crap. jeez.