Speicher Stand von ein Game laden und speichern

  • VB.NET

Es gibt 30 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Speicher Stand von ein Game laden und speichern

    Hey ich habe mal eine frage wie kann man an besten eine speicher stand für ein Game machen

    Das ist mein game code



    Visual Basic-Quellcode

    1. Public Class Form1
    2. Dim Geld As Decimal = 0
    3. Dim Cps As Decimal = 0
    4. Dim cmKost As Integer = 10
    5. Dim cmKost2 As Integer = 50
    6. Dim cmkost3 As Integer = 100
    7. Private Sub btn_klick_Click(sender As Object, e As EventArgs) Handles btn_klick.Click
    8. Geld = Geld + 1
    9. End Sub
    10. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    11. lbl_geld.Text = "Geld: " + Geld.ToString
    12. lbl_cps.Text = "Geld pro Sec: " + Cps.ToString
    13. btn_cm.Text = "Kauf dir eine Nutte: " + cmKost.ToString
    14. btn_cm_2.Text = "Kauf dir eine Waffe: " + cmKost2.ToString
    15. btn_cm_3.Text = "Kauf dir ein Opfer: " + cmkost3.ToString
    16. If Geld >= cmKost2 Then
    17. btn_cm_2.Enabled = True
    18. Else
    19. btn_cm_2.Enabled = False
    20. End If
    21. If Geld >= cmKost Then
    22. btn_cm.Enabled = True
    23. Else
    24. btn_cm.Enabled = False
    25. End If
    26. If Geld >= cmkost3 Then
    27. btn_cm_3.Enabled = True
    28. Else
    29. btn_cm_3.Enabled = False
    30. End If
    31. End Sub
    32. Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
    33. Geld = Geld + Cps
    34. End Sub
    35. Private Sub btn_cm_Click(sender As Object, e As EventArgs) Handles btn_cm.Click
    36. Cps = Cps + 0.5
    37. Geld = Geld - cmKost
    38. cmKost = cmKost + cmKost
    39. End Sub
    40. Private Sub btn_cm_2_Click(sender As Object, e As EventArgs) Handles btn_cm_2.Click
    41. Cps = Cps + 1
    42. Geld = Geld - cmKost2
    43. cmKost2 = cmKost2 + cmKost2
    44. End Sub
    45. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    46. My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Hand)
    47. CheckForUpdates()
    48. End Sub
    49. Public Sub CheckForUpdates()
    50. Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("https://dl.dropbox.com/s/k7pokoa4yqxpbc6/Version.txt?dl=0")
    51. Dim response As System.Net.HttpWebResponse = request.GetResponse()
    52. Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
    53. Dim newestversion As String = sr.ReadToEnd()
    54. Dim currentversion As String = Application.ProductVersion
    55. If newestversion.Contains(currentversion) Then
    56. MsgBox("Du bist auf denn Neusten Stand!")
    57. Else
    58. MsgBox("Es gebit eine neue Version bitte holle sie dir um mehr spaß zu haben.")
    59. WebBrowser1.Navigate("https://dl.dropbox.com/s/u1gef7psx07owng/Cookie.exe?dl=0")
    60. End If
    61. End Sub
    62. Private Sub btn_cm_3_Click(sender As Object, e As EventArgs) Handles btn_cm_3.Click
    63. Cps = Cps + 2
    64. Geld = Geld - cmkost3
    65. cmkost3 = cmkost3 + cmkost3
    66. End Sub
    67. End Class


    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    1.Grundsatz: Speichern kann man nur Daten.
    Daraus folgt: Überleg dir, welche Daten dein Game enthält, die abzuspeichern wichtig sind.

    Überleg du dir das, also uns hier den Code hinzuklatschen, und wir sollen das für dich ausdenken, wird nicht viel bringen, denn dann kannst du mit unserem Ausgedachten vermutlich nicht viel anfangen.
    Label angepasst.

    Eigentlich hätte ich den Thread auch löschen sollen, denn viel mehr Fragestellung bzw. Problembeschreibung ist hier auch nicht vorhanden, aber gut.
    [Forum] Grundlagen der Forennutzung und warum der Hilfreich-Button kein Stacheldraht ist

    Was für Daten willst Du speichern? Musst Du ja wissen. Dann gibt es genug Möglichkeiten: My.Settings, entsprechende Datei (+ Serialisierung), etc.
    Davon abgesehen: Unbenannte Controls, deutsche Variablenbezeichner, Rechtschreibfehler, überflüssige If-Abfragen (statt direkter Zuweisung), My-Namespace, Speicherlecks durch nicht freigegebene Resourcen etc. Das solltest Du nochmal überarbeiten.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Was spricht dagegen ein Datenmodell in Form einer Klasse/Struktur zu erstellen, die Deine nötigen Werte enthält und diese zu serialisieren? JSON ist da imho ganz gut, XML geht natürlich auch.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Schau Dir mal Newtonsoft JSON an, das ist dafür imho die beste Methode. Solltest Du keine extra Abhängigkeiten wollen, dann gibt es im Framework noch den DataContractJsonSerializer bzw. JavaScriptSerializer. Die Samples von JSON.NET sind meistens in C#, lassen sich aber bequem nach VB.NET übersetzen und auch entsprechend recherchieren.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    jo, aber wie gesagt: vorher muss man sich überlegen, was man abspeichern will.
    Und im Falle Serialisierung muss man eine entsprechende Klasse coden, die all das enthalten kann, was man abspeichern will.

    Jo, dann kann mans abspeichern, mit Serialisierung. Kannste auch googeln, zumindest zu "XmlSerialisierung" finden sich bestimmt auch Code-Samples auf MSDN.
    Dann machste Dir halt entsprechende Properties ​Money, ​MoneyPerSecond und Costs in Deiner Datenmodell-Klasse und serialisierst die.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Falls du nicht recht weißt, was eine Datenmodell-Klasse ist, es ist einfach eine Klasse.
    Falls du nicht recht weißt was eine Klasse ist, oder wie man selbst eine codet, in Grundlagen: Fachbegriffe im ersten Listing ist ein winziges Beispiel.
    Nur sollte deine Klasse nicht Car heissen, sondern irgendwie mehr deinem Anwendungszweck entsprechend.