Maulwurf kloppn (Erster GDI+ Versuch)

    • Release
    • Closed Source

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

      Maulwurf kloppn (Erster GDI+ Versuch)

      Maulwurf kloppn

      Meine erste Versuche mit GDI+ und das ist dabei raus gekommen.
      Der besondere Fall hierbei ist (F1 drücken zum anguggn) das nur dann gezeichnet wird z.B. ein Maulwurf sich bewegt oder UserInput erfolgt (MouseMove, MouseClick, KeyUP) Ansonsten steh es still und wartet ab.
      Ob das der optimale Lösungsansatz zur mangelnden GDI+ Performance ist weis ich noch nicht ^^
      Um noch mehr rauszuholen wird bei den nächsten Test versucht auch nur das neu zu zeichnen was sich geändert hat. Im Moment wird die komplette Anzeige neu gezeichnet sobald sich etwas Verändert..
      Werde auf jeden Fall noch einiges ausprobieren :D

      Spiel an sich:
      Auf den Maulwurf hauen und soviel Punkte wie möglich einsammeln bis die Zeit abläuft.
      Aber ja nicht daneben hauen. :P

      Tasten
      [ESC] Beenden
      [F1] Debug
      [Space] Neues Spiel



      Verwendete Programmiersprache(n) und IDE(s):
      VB.NET, VS2015

      Systemanforderungen:
      .NET 3.5

      Systemveränderungen:
      keine


      Download

      814 KB gepackt
      1,02 MB enpackt

      Lizenz/Weitergabe:
      FreeWare, Decomplie erlaubt wenn ihr euch die Mühe machen wollt :sleeping:
      Dateien

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Pantsuu“ ()

      Ganz nett. :)
      Ich würde evtl. den Maulwürfen noch eine Velocity geben und die dann hochkommen lassen, also nicht direkt anzeigen. Dazu müsstest Du halt einfach die Velocity mit der abgelaufenen Zeit multiplizieren und könntest das dann entsprechend zur Position addieren. Das würde dann über Vektoren laufen.
      Ich habe das Spiel nicht dekompiliert, aber dazu bräuchtest Du einen gescheiten GameLoop (weiß ja nicht, wie Du das im Moment regelst) und Update- und Draw-Methoden.

      Dass es keinen Border gibt und man das nicht über die ControlBox schließen kann, stört etwas. Das würde ich ändern.
      Auch könnte man über eine Transformation der Schaufel mit einer Matrix2x3 nachdenken, dann kannst Du die rotieren und das sähe dann etwas realer aus. Fällt zwar aktuell so kaum auf, aber je mehr Details, umso besser natürlich.

      Das ist aber alles nur eine Idee. Für einen ersten Test mit GDI+ ist das echt gut und da muss man ja nicht übertreiben, weiter so.

      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 :!:
      Ich würde evtl. den Maulwürfen noch eine Velocity geben und die dann hochkommen lassen, also nicht direkt anzeigen.

      Ehrlich gesagt hatte ich das vorher sogar mit Enums geregelt (below,low,middle,highest).
      Aber habs dann vorm veröffentlich alles gelöscht und so einfach wie möglich gemacht, da ich das Projekt verwende um GDI+ einfach mal zu testen und keine besondere GameLogik bauen wollte.
      Da fehlt ja z.B noch nen MenuScreen um das Spiel zu beenden, Neustarte, Optionen, Tutorial etc. also der Einbau von verschiedenen Oberflächen halt. Muss mich da erst noch schlau machen wie man das am besten löst :thumbup:


      Dass es keinen Border gibt und man das nicht über die ControlBox schließen kann, stört etwas. Das würde ich ändern.

      Du kannst mit ESC das Programm beenden.
      Habe mal die Beschreibung etwas ausführlicher verfasst ^^

      Auch könnte man über eine Transformation der Schaufel mit einer Matrix2x3 nachdenken, dann kannst Du die rotieren und das sähe dann etwas realer aus. Fällt zwar aktuell so kaum auf, aber je mehr Details, umso besser natürlich.

      Also das Bild ändert sich schon wenn man klickt (Schaufel geht nach unten und wieder hoch) oder meinst du etwas anderes?

      Transformation der Schaufel mit einer Matrix2x3

      GDI+ Transformationen sind noch Neuland für mich aber ist schon auf meiner Liste :)


      Spoiler anzeigen
      Kla ist das eher ein kleines Spiel aber dafür liebevoll umgesetzt.Weiter So!

      Für einen ersten Test mit GDI+ ist das echt gut und da muss man ja nicht übertreiben, weiter so.

      Vielen vielen Dank!
      Jo, ein logischer Aufbau wäre der nächste Schritt.
      Ich wusste schon, dass ich es mit Escape beenden kann, aber wäre dennoch so etwas angenehmer. ;)

      Jo, das passt, dass die Schaufel sich ändert, war nur eine Idee, dass man eventuell eine Texture2D verwendet und diese rotiert, damit es noch ein klein wenig besser aussieht. ;) Ob man das hier aber nun wirklich braucht ist natürlich diskutierbar.

      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 :!:
      Wie wärs, wenn du die Sources einstelltest? Dann könnte man viel sinnvoller Implementations-Details verbessern.

      Noch bin ich selbst nicht zufrieden da es erst meine ersten Versuche waren. Es folgen ja noch verschiedene Implementierungsmöglichkeiten die ich ausprobieren will, da dies ja mein Test-Projekt für GDI+ ist :D
      Später kann ich gerne alles OpenSource stellen. :)


      denn ziemlich basic umgesetzt. Nicht zu empfehlen.

      Vorschläge sind gerne willkommen. :thumbup:

      Pantsuu schrieb:

      Noch bin ich selbst nicht zufrieden da es erst meine ersten Versuche ...
      Später kann ich gerne alles OpenSource stellen.
      Das ist ja grad Kern meines Vorschlages: Verbessere es mit unserer differenzierten Hilfe, statt es selbst zu verbessern, und nur das Endprodukt zu präsentieren, wo man nur noch Daumen hoch/runter zu sagen kann.