Kleine Spiel zum VB Lernen

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Kleine Spiel zum VB Lernen

    Seit Ca 1 woche beschäftige ich mit VB/Windows Forms und wollte mal kucken was man damit alles so anstellen kann
    also dachte ich mir bastel ich mir einfach mal ein simples klicker spiel! gesagt getan hab mir youtub videos angeschaut und los gelegt hat alles geklappt
    dann wollte ich das klicker spiel erweitern mit einem anderem TuT und danach ging garnichts mehr

    das erste TuT war auf VB 20015 das 2. TuT VB 2013 gibs da unterschiede in der programierung oder sowas?

    heute hab ich einfach mal ganz spontan neu angefangen weil ich es lernen will und weils auch irgendwie spass macht
    leider finde ich kaum deutsche TuTs mit dennen ich was anfangen kann wenn wer gute kennt ich freu mich über jeden tipp

    so nun zu mein problem ich habe ein butten der ein timer activiert und der timmer soll jetzt regelmäsig gold geben (sprich eine goldmine ausbaut bei klick)
    jetzt hab ich aber das problem das goldguthaben nicht in echtzeit angezeigt wird ich dachte erst das ich ein fehler gemacht hab bis es mir beim 5. versuch auf fiehl hier mal der code:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub loadGold(sender As Object, e As EventArgs) Handles MyBase.Load
    3. Label1.Text = "Gold:" + CStr(My.Settings.Gold)
    4. End Sub
    5. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    6. End Sub
    7. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    8. My.Settings.Gold = My.Settings.Gold - 100
    9. My.Settings.Save()
    10. Label1.Text = "Gold:" + CStr(My.Settings.Gold)
    11. Timer1.Enabled = True
    12. End Sub
    13. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    14. My.Settings.Gold = My.Settings.Gold + 1
    15. My.Settings.Save()
    16. End Sub
    17. End Class


    vieleicht habt ihr noch ein paar ratschläge tipps und tricks freue mich über jede hilfe
    desweiteren soll die mine immer weiter ausbaubar sein jetzt viel mir aber im nachhinen auf wie staffel ich die denn prozentual?

    Verschoben. ~Thunderbolt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()

    Ratschlag: Ein Buch, z.B. von Klaus Löffelmann. Ist zwar etwas älter, aber für den Anfang mehr als genug. Und kostenlos. Das wäre ein guter Anfang. Da gibt's ganz viele Threads dazu. Sicherlich gibt's auch einige gute Online-Tutorials. Aber Videos? Naja. Wenn das Ergebnis der obige Code ist, war das Video nicht so Bombe. Die My.Settings als einfache Laufzeitvariable zu missbrauchen, ist Quark. Für diesen Zweck gibt es einfache Variablen. Da braucht es dann auch kein My.Settings.Save.
    Verstehst Du vollständig, was Dein bisheriger Code macht? Dein Timer erhöht die "Variable" Gold. Aber er aktualisiert die Anzeige in Label1 nicht. Das geschieht nur beim Klick auf Deinen Button.
    CStr wird nicht benötigt, alle Variablen haben eine ToString-Methode.
    Benenne Deine Steuerelemente gut. Momentan geht es noch irgendwie. Aber wenn noch einige dazukommen, wird's unübersichtlich. Es stellt sich für mich z.B. jetzt schon die Frage, wofür Button1 gedacht ist. Soll er das Spiel starten? Soll er einen Goldabbau simulieren? Der Name sagt darüber nix aus. Der Code lässt beides vermuten (Abbau: Gold vermindern und Wert anzeigen, Spielstart: Timer1.Enabled = True; Timer haben auch die sinnvollere/aussagekräftigere Methode .Start)
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    1. danke für deine kritik an kritik wächst man
    My.Settings.Save hab ich ehr benutzt das er denn aktuellen stand speichern tut zwecks neustart

    Dein Timer erhöht die "Variable" Gold. Aber er aktualisiert die Anzeige in Label1 nicht. Das geschieht nur beim Klick auf Deinen Button.

    genau das is ja das problem was ich habe

    Es stellt sich für mich z.B. jetzt schon die Frage, wofür Button1 gedacht ist

    Button1 stellt im prinzip symbolich die goldmine da die beim klick erweitert wird
    Willkommen im Forum. :thumbup:

    Davdy schrieb:

    VB.NET-Quellcode

    1. My.Settings.Save()
    macht das Framework für Dich, in den Projekteigenschaften gibt es einen Haken, da werden die Settings bei Programmbeendigung automatisch gespeichert.
    Wenn Du ein paar Fingerübungen suchst, gugst Du auch hier.
    Und:
    Wir mögen es nicht, wenn Posts direkt darüber vollständig zitiert werden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    VB.NET-Quellcode

    1. ​Label1.Text = "Gold:" + CStr(My.Settings.Gold)

    Das musst du noch ans Ende vom Timer1 schreiben, wenn ich mich nicht vom Code her irre. Das Problem ist, dass du deine Settings immer abfragen musst, weil der Label nur eine Anzeige dafür ist. Deshalb immer schön drauf achten, dass du deinen Funktionen/Buttons sagst, dass er das er die Labels aktualisieren muss!

    Ich empfehle dir übrigens auch stark, eine Funktion für die einzelnen "Mienen" zu schreiben. Das erspart dir viel Code und ist übersichtlicher.






    Aus irgendeinem Grund sehe ich die Beiträge in diesem Thread nur als leeres Fenster, weshalb ich nicht weiß, ob du bereits eine Lösung hast.
    Wenn ich eine Frage stelle, habe ich sie bereits gegooglet. Ja, es kommt vor, dass ich die Antwort übersehe. Ja, es kommt vor, dass ich sie nicht verstehe. Deshalb bin ich hier. Wenn dies eure Frage war, dann antwortet bitte nicht. Es stiehlt sämtliche Motivation.
    @Davdy: Ich selbst habe mich bisher nicht an der Beantwortung dieser Frage versucht, weil sich mir inhaltlich überhaupt nicht erschließt, was damit gemeint ist, da dort die Grammatik proportional zur Interpunktion ist.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.