Variablen lassen sich nicht resetten.

  • VB.NET

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

    Variablen lassen sich nicht resetten.

    Hallo!

    Ich bin so froh, dass es euch gibt.

    Ich habe ein Programm in VB.NET geschrieben und es funktioniert ansonsten sehr gut.
    Es geht darum, auf unterschiedlichen Schwierigkeitsstufen sich Farben zu merken die in einer Listbox angezeigt werden und zu erraten.
    Ähnlich wie das Spiel Simon.

    Ich habe nach dem man auf die Schwierigkeitsstufen "normal" hard" "very hard" oder "ultrahard" klickt jede der zugehörigen variablen (summe, sammeln) auf null gesetzt (summe = 0 sammeln = 0)
    Das Problem ist jetzt, dass wenn ich mit dem Raten fertig bin und nochmal spiele (zurückgehe und quasi nochmal auf "normal" oder "hard" oder "very hard" oder "ultra hard" klicke), die variablen, die sich die geklickten Farben gemerkt haben(jeder Farbe ist eine Zahl zugeordnet -> "sammeln" variable) und die "summe" variable, die verantwortlich ist für das Merken der systemeigenen, zufällig angezeigeten Farben ist, nicht resetten.
    Man muss also das Program nach dem Spielen jedes Mal neu starten damit man es richtig spielen kann.
    Die variablen summe, summe2, summe3, summe4 und sammeln, sammeln2, sammeln3, sammeln4 sind als Public deklariert.
    Woran liegt das?? Wieso rechnet das Spiel richtig, aber ich kann die Variablen nicht resetten wenn ich auf die Buttons klicke?

    Ich habe mal den Quellcode angehängt, damit mal das nachvollziehen kann.


    Ich hoffe ihr könnt mir helfen. Sonst weiß ich echt nicht weiter.

    Danke.

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

    Das ist übel. Also, einmal, dass Du den Code nicht in Projektform hochlädst. Und der Code selbst … auauau.
    Aber wurscht: Bevor ich mir jetzt 3100 Zeilen voller Redundanz (wahrscheinlich lässt sich das ganze Programm auf 100-200 Zeilen runterschmelzen) anschaue: Setzt Du die ganzen summen- und würfeln-Variablen am Ende auch wieder auf Null zurück? Ansonsten werden die Daten von den vorherigen Spielen natürlich weiterverwendet.
    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.
    Hallo.


    Natürlich setze ich die Variablen auf Null zurück am Ende, habe ich doch geschrieben.
    Wie soll ich den Quellcode hier posten, damit mal den auch als Quellcode sieht?.
    Als Quellcode einfügen kann ich das hier nicht posten, da zu wenig Platz.

    Und redundant ist mein Code Nicht. Nur das Nötige ist enthalten.
    Du kannst das Projekt ohne bin-, obj-, .vs- und .git-Ordner und gezippt über [+ Erweiterte Antwort] hochladen.
    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.
    Bitte vor dem Hochladen immer selber testen. Da fehlen zahlreiche Dateien. Entweder nochmal ins Gesamtpaket reinpacken oder Verweise aus dem Projekt entfernen und dann zusammenzippen. Danach das Paket in Post#5 austauschen.
    Bilder
    • MissingFiles.png

      6,65 kB, 263×426, 63 mal angesehen
    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.
    Hallo.

    Tut mir leid, ich habe unnötigerweise Dateien entfernt.
    Jetzt müsste alles funktionieren. Reupload abgeschlossen.

    Ich habe jetzt was gemacht und zwar: einen Button ins Spiel hinzugefügt zum Resetten -> "sammeln = 0 " und einen zum Anzeigen dieser "sammeln" variable.
    Der Witz ist, dass ich sie per button-reset gar nicht resetten kann. Der gesammelte Wert bleibt. Warum?

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

    @LevK Willst Du lediglich Dein Spiel zum Laufen bekommen oder möchtest Du auch Anregungen bekommen, wie man es besser machen kann?

    LevK schrieb:

    Und redundant ist mein Code Nicht.
    X(
    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!
    Die ganzen Zahlen musst Du auch zurücksetzen. Die Summen sind doch nur eine Kombination aus den Zahlen.
    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.
    Abschlussfragen: Seit wann programmierst Du? Wie lange hast Du für dieses Projekt gebraucht? Willst Du mit unserer Hilfe besser werden oder ist Programmieren für Dich und Deinen Alltag effektiv irrelevant? Dass Dein Komplettprojekt von 3100 auf vermutlich 200 Zeilen gekürzt werden kann und dabei an Verständlichkeit und Übersicht zunehmen wird, wollte ich bereits mit meinem Post#2 ausdrücken.
    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.

    LevK schrieb:

    (...) Ich habe das Projekt hochgeladen wie geraten.

    'Form1.vb' habe ich mir mal kurz angeschaut – ich glaube, in diesen 3000 Zeilen ist keine einzige Schleife (For, Do-Loop etc.) und dementsprechend oder dazupassend auch kein einziges Array verwendet worden – das ist fast schon preisverdächtig. Na Hauptsache, es funktioniert und hat insgesamt mit dem Schreiben alles Spaß gemacht : )
    Das gleichzeitige Erscheinen von Dummheit und Unmündigkeit nach Immanuel Kant ist eines der schlimmsten Dinge, die einem Homo sapiens in geistiger Hinsicht widerfahren können, hat manchmal aber auch durchaus seine Vorteile.
    Sorry @ all, ich kanns nicht lassen. :D

    LevK schrieb:

    Und redundant ist mein Code Nicht. Nur das Nötige ist enthalten.

    Angesichts dessen, daß du ein absoluter Anfänger bist, und VaporiZed ein Profi mit langjähriger Erfahrung, ist das derbe anmaßend ! :thumbdown:
    So ein Verhalten macht es schwer dir was beizubringen und deine Lernkurve wird sehr flach bleiben !

    Es gab mal eine Zeit, daß die meisten Leute, wo sie stehen; heutzutage meint jeder Trottel, alles besser zu wissen (Dunning-Krug lässt grüßen) ! :(
    Da das hier sich offensichtlich vom Thema entfernt und abdriftet: closed
    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.