Hello, Guest the thread was called153k times and contains 1423 replays

last post from drazil at the

Heute so gecodet...

  • Ich habe heute mal wieder etwas weitergemacht.


    Ziel ist, bestimmte Spielsteine - entsprechend der unter dem Spielfeld angezeigten Informationen - zu eliminieren.


    Mit WASD steuert man den Cursor. Mit Shift WASD werden Spielsteine verschoben, jedoch nur, wenn daraus eine Kombination entsteht.


    Kombinationen sind bisher:


    1. Drei gleicher Farbe nebeneinander oder übereinander - Diese Steine verschwinden dann.

    2. Vier gleicher Farbe ergeben eine "Rakete" - Die Raketen sind je nachdem, ob die Steiner über- oder nebeneinander waren, anders. Gestartete Raketen entfernen alle Steine einer Spalte oder Zeile.

    3. Bombe - fünf Steine gleicher Farbe - entfernt 13 Steine, wenn sie gezündet wird.

    4. Flieger - 2 nebeneinander und nochmal 2 direkt darunter (alle natürlich gleicher Farbe). Der Flieger entfernt die angrenzenden Steine neben und über- und unter sich, wenn er gestartet wird (noch keine Animation) sowie den Stein, zu dem er fliegt.


    Gestartet werden die Bombe, der Flieger und die Raketen mit Shift-F, wenn man mit dem Cursor darauf steht.


    Wenn Steine entfernt wurden, rutschen die verbeibenden Steine vom Spielfeld nach unten und neue kommen vom oberen Rand wieder dazu.


    Da nach dem Start das Spielfeld (Pseudo)zufällig gefüllt wird, werden die darin enthaltenen Kombinationen erstmal erkannt und ausgewertet.


    Es ist noch einiges zu tun, aber es geht voran. Ziel ist, das irgendwann erstmal als Singleplayer fertigzustellen und wenn möglich auch als 2 Spieler Spiel (WiC? ;) )...


    Es fehlt noch einiges, aber grob kann man das Prinzip schon erkennen :)


    EDIT 26.10.21 24 Uhr:

    Hier mal die aktuellste Version:

    retroscape64.prg


    ToDo:

    - Level und Levelziele erstellen

    - Startscreen

    - Netzwerkfunktionalität für 2 Spieler (damit auch Spass aufkommt)

    - Code Optimierungen, da einiges redundant und suboptimal gelöst ist

    - Evtl noch Soundeffekte


    Wenn sich jemand berufen fühlt, die Symbole (Hires-Chars) zu verbessern, dann würde ich mich darüber freuen.


    Hier noch ein Video davon:


    [External Media: https://youtu.be/cgRV8r4mPf0]

  • So, heute vorerst die letzte Version.


    Die Logiken der einzelnen Züge sind nun vollständig.


    Neu sind die Kettenreaktionen, d.h., wenn z.B. eine Bombe gezündet wird, werden auch die im Radius der Explosion befindlichen anderen "Booster" gezündet. Und diese wiederum zünden die „Booster“ die sich in deren Radien befinden usw.


    Als nächstes steht an:

    2-Spieler-Integration (nur online), Begrenzung der Züge sowie das Leveldesign.

  • Als alter "Bejeweled Fan" musste ich Retroscape64 natürlich direkt im Emulator testen.

    Ergebnis; ich bin sehr positiv überrascht worden! :thumbsup:

    Freue mich schon auf die Multiplayer Implementierung in das "WiC64 Universum" :)

  • Nicht heute, aber diese Woche.

    Einen Timer für Bogensport Turniere. Geschrieben in GO[LANG]

  • Auf der Arbeit viel Zeit für folgendes Problem verballert. :cursing:


    VBA unter Excel ist einfach :poop:.


    Beim Unterprogramm(i) liegt der Fehler. Leider liefert VBA unter Excel nur schlechte Hinweise wo genau das Problem liegt. :gahh:


    Erst mit Unterprogramm(CInt(i)) verschwand der Fehler. Da muss man erstmal drauf kommen das man einen Integer nochmal nach Integer umwandeln muss. 8|

    So einen Scheiss macht bestimmt nicht mal das 64er BASIC und Loco vom CPC erst recht nicht.

  • Wahrscheinlich muss man explizit angeben, dass I ein Integer ist. Das leitet VBA denke ich nicht ab.


    Ich hatte auch schon mal das Vergnügen, ein riesiges VBA-Macro zu analysieren. Das hat ein paar hundert Dateien gelesen, und die Querverbindungen da drin gematcht. Derjenige, der das gebaut hat, war kein Programmierer. Da sind Konstrukte drin zum Sortieren, da braucht man ein paar Anläufe mit dem Debugger, warum das da überhaupt drin war. Das Ding hat eine halbe Stunde rumgeeiert und damit ein paar Excel-Blätter zu befüllen.


    Ich hab das dann mal mit einer richtigen Programmiersprache nachgebaut (C#), und nach ein bisschen rumschrauben ist das in 10 Sekunden gelaufen.



    Nicht heute, aber im Laufe der letzten zwei Wochen: Den Nachlade-Code von Shallan für den Mega65 mit einem Spiel verheiratet. Sowas zu machen ohne einen vernünftigen Debugger ist die Hölle. Dafür habe ich jetzt aber mal locker flockig 300kB für lustige Sachen zur Verfügung.

  • Das Problem ist weg. Trotzdem bleibe ich dabei, das der Editor und VBA von Excel min. 20 Jahre keinen Fortschritt gesehen haben.


    Heute wieder ein Problem mit Excel gehabt.



    Auf der Arbeit gefühlt den halben Tag damit verbracht leere Zellen zu überspringen.

    Unzählige Formeln über Google gesucht und keine wollte funktionieren. Ob mit oder

    ohne {} Klammern war dabei egal.


    Eben zuhause nochmal gegoogelt und mal eben ein Beispiel gefunden welches sofort

    funktionierte. 8|


    Ich glaube ich kann mit gutem Gewissen sagen das ich mich sehr gut mit Excel

    auskenne. Aber bei der Formel wie im Bild oder auch die ganzen anderen Verweis,

    SVerweis & Co. Formeln, die streikt mein Hirn. :honk:

  • Ich glaube ich kann mit gutem Gewissen sagen das ich mich sehr gut mit Excel

    auskenne. Aber bei der Formel wie im Bild oder auch die ganzen anderen Verweis,

    SVerweis & Co. Formeln, die streikt mein Hirn. :honk:

    Ich muss zum Glück sowas nur extremst selten machen. :) Aber wenn, dann kopiere ich mir so komplexe Formeln in einen Editor raus und formatiere dass dann wie ein normales Programm mit Einrückungen, so dass man die ganzen IF Bedingungen besser überblicken kann.

  • Denkt doch an den Spaß derer, die später Eure Excelsheets warten müssen. Dann ist’s gleich halb so schlimm :D

  • Denkt doch an den Spaß derer, die später Eure Excelsheets warten müssen. Dann ist’s gleich halb so schlimm :D

    Darum versuche ich zumindest möglichst oft dinge mit VBA zu erledigen, da mit dieses Formel gedöns viel zu unübersichtlich ist.

    Leider ist die VBA geschichte nicht so umfangreich wie VB, aber man kann schon wirklich sehr viel sachen damit Anstellen.

  • Leider ist die VBA geschichte nicht so umfangreich wie VB, aber man kann schon wirklich sehr viel sachen damit Anstellen.

    Ja.

    Und sogar "von außen".

    Über OLE.


    Man kann in VB Code schreiben, ein VBA Object holen (zB. Excel VBA), dann hat man alle Methoden und Property's direkt im VB. :)

  • Darum versuche ich zumindest möglichst oft dinge mit VBA zu erledigen...

    Ich halte es genau anders herum. So viel wie geht per Formel, einfach weil die viel schneller als Makros

    sind. Formeln mögen unübersichtlich sein, aber wenn die mal nicht sauber funktionieren braucht es keinen

    Programmierer der das repariert. Außerdem ist VBA manchmal echt tückisch. Hinzu kommt das ich bei VBA

    fast alles googeln muss, weil es ständig von der BASIC Norm abweichen will. Auch ist das Intellisense im

    Editor viel zu schlecht.


    Wozu das ganze? Mein Chef will regelmäßig diverse Infos über die durchgeführen Kurse und Schulungen.

    Daher werde ich das MS Bookings intensiver im Excel nutzen. Was wir aktuell noch von Hand übertragen

    wird dann halbautomatisch funktionieren.

  • Hinzu kommt das ich bei VBA fast alles googeln muss, weil es ständig von der BASIC Norm abweichen will. Auch ist das Intellisense im

    Editor viel zu schlecht.

    Es weicht eigentlich Absolut nicht von Visual Basic ab, sondern hat eher etwas weniger Funktionen als Visual Basic.


    Wenn man Visual Basic versteht, hat man kein Problem mit VBA.

    Selbst die Windows API lässt sich super aus VBA Ansprechen.


    Im gegensatz sind die Formeln Gefummel mit Deutschen Wörtern die zwar "Schein" Programmierung vorgaukeln, aber nicht sind.

    WENN bla SUMME bla... das erinnert weniger an Formeln & Programmierung als ein Satzbau der Schlecht geschrieben ist.


    Aber das ist halt Geschmackssache und mir hat VBA in Excel schon oft den Arsch gerettet und das leben erleichtert.