Hello, Guest the thread was called4.5k times and contains 122 replays

last post from atomcode at the

BASIC-Wettbewerb: Blaues Kreuz (kleinstes PRG)

  • Hier mal mein Code... wie man es nicht machen sollte!

    Ein "Mathematische Ansatz", der für den Contest zudem nicht gültig ist weil ich vor dem letzten "print" mit poke 214,0 verhindere das der Bildschirm nach oben geschoben wird, ich poste den aber jetzt trotzdem mal.

    Der Ansatz ist eigentlich wie folgt. Mit Modulo5 und einem "Toggle-Zähler" ( 0/1 ) bilde ich die Sequenz nach ( 2 1 2 1 2 - 2 1 2 1 2 ... ) Dieses Zahlenmuster/Zahlenabfolge bestimmt ja das gesamte Kreuz.
    Jetzt berechne ich einfach für jede Zeile, wieviele Spaces brauch ich vor,zwischen,hinter den Reverse-Spaces des "X-Musters".

    Für Zeile 12 ( die Mitte des Kreuzes ) verbiege ich das Muster ( anstatt einer 2 kommt eine 1 ) da sonst meine Berechnung nicht funktioniert.

    Dieser "Mathematische Ansatz" läßt sich bestimmt auch besser/einfacher umsetzen als ich es gemacht habe ( da bin ich mir ganz sicher ).

    Sind 236Bytes, mit einstelligen Zeilennummern, zusammengefaßten Zeilen kommt man glaube ich auf ~210Bytes ( aber ist ja eh egal )



    Ciao Dirk

  • logiker Danke. Letzte PM-Antwort ist noch in Arbeit.


    Hier noch eine kurze Erklärung zu meinem PRINT-Code:

    Code
    1. print "{clr}":             // Wenn unter dem RUN nichts mehr steht, ist das überflüssig.
    2. for x=1 to 38 step 1.6:    // Pro Zeile um 1.6 nach rechts: 1; 2(.6); 4(.2); 5(.8); 7(.4); ...
    3.   poke 54239+x,0:
    4.   print tab(x) "{rvson}_{down}_{up}":   // 2 absteig. Pixel als Plotmuster für absteig. Linie
    5.   print tab(38.9-x) "{rvson}_{up}_":   // 2 aufsteig. Pixel als Plotmuster für aufsteig. Linie
    6. next:                                 // Somit werden auch die Lücken (3, 6, 8, usw.) gefüllt.
    7. print "{rvson}_" tab(38) "{ins}_{home}_" tab(39) "_":        // Ecken: u.l., u.r., o.l., o.r.
    8. cont