Beiträge von 4k4rvi im Thema „Kleine BASIC-Knobelei“

    Hi, nach langer Zeit!

    Hier was neues einfaches für die Interessierten. Diesmal auch ohne Pokes und Peeks.

    Vielleicht zu einfach, aber "komplizierter" hat anscheinend diesen Thread beerdigt. Ich versuche, ihn mal wiederzubeleben.

    Und ohne Peeks/Pokes damit wohl auch BASIC-native (zumindest MS-BASIC) und nicht speziell für den C64.

    100 i=0:j=0:e$=""

    110 for i=0 to 10

    120 for j=10 to 0

    130 print "HOME" ("clear screen" in your BASIC)

    140 e$=str$(i+j)

    150 print e$

    160 next j: next i

    170 goto 110

    Gruß und viel Spaß 4k4! (HowTo und Regeln im ersten Post dieses Threads!)

    Es ist ein Timer (die ganze Zuweisung). Es sorgt für die "richtige" Flackerei. :smile:

    Cool! Noch so eins! :wink:

    Arndt

    Edit: Also doch Obfuskation!

    Habe doch kurz Zeit gefunden, mal reinzuschauen.

    Hiermit bist Du dran GoDot, weil korrekt.

    Was das ganze Programm eigentlich tut, also nix weiter als die Bildschirmfarben durchzuflackern, hat glaube ich noch keiner genau benannt.

    Den ?ILLEGAL QUANTITY ERROR von muffi hab ich auf die Schnelle im Vice nicht gesehen. Das lief hier einige Runden durch. War aber auch ein Schnellschuß, das muß ich zugeben.

    Also GoDot: bitte ein neues Rätsel (das Prinzip sollte ja nun klar sein. Möglichst viel komplizierten Code für ein möglichst kleines einfaches Problem! Es kommt nicht auf das Problem an sich an, sondern auf das Rätsel im Code zuvor. :) )

    Ich passe den Thread-Titel nochmal Jahreszeit-unabhängig an. edit: sofern mir jemand sagt, wie ich nach etlichen Posts den Titel noch ändern kann, finde da nix... :(

    Ich finde die Idee an sich ganz gut und bestimmt auch unterhaltsam.

    Allerdings würde ich bei einem BASIC-Listing POKE und PEEK ausschließen. Das "lenkt" eher vom reinen Knobeln ab. Dafür muss man nämlich wissen, was welche Adresse im System macht. Das hat für mich dann nichts mehr mit BASIC-Knobeln zu tun. ;)

    Da geb ich Dir recht. Also gerne ohne POKE/PEEK.

    Ich geb mal ab an den nächsten, der will. Muss überraschend für einige Tage verreisen und werde keine Zeit fürs Internet haben.

    Lösung:

    Spoiler anzeigen

    A$ ist oktal, wird umgerechnet in 53280/53281 und damit per Schleife die Bildschirmfarben durchgepokt.

    Da ich das Prinzip aus alten Magazinen und BBS kenne und hier noch nichts dazu gefunden habe (wenn es sowas denn doch gibt, bitte Link posten und Thread schließen), hier mal ein Thread mit kleinen BASIC-Knobeleien.

    Das Spielprinzip ist folgendes:

    - jemand veröffentlicht ein kleines (LISTbares!) BASIC-Programm < 20 Zeilen.

    - alle, die mitspielen möchten, versuchen herauszufinden, was dieses BASIC-Programm macht (-> OHNE ES ZU STARTEN!)

    - derjenige, der es korrekt herausfindet, postet sein prognostiziertes Ergebnis und darf nach Bestägigung durch den Rätselersteller die nächste Knobelei posten oder an jemanden seiner Wahl abgeben

    - damit es nicht zu einfach wird, sollte man sein Programm natürlich obfuskieren, d.h. die tatsächlichen Abläufe verschleiern. Da alles in BASIC erfolgt und für jedermann per LIST einsehbar ist, muss man da kreativ werden.

    - mein erstes Beispiel ist sehr simpel und leicht zu lösen, aber ich bin mir sicher, dass da noch wesentlich kreativere Entwürfe möglich sind!

    - Regeländerungen, die das Spiel verbessern, sind jederzeit gerne gesehen.

    - Es geht darum, Spaß zu haben und was zu daraus zu lernen! Also bitte auf (abgesehen vom Obfuskären) lesbaren Code achten! ;)

    Also nun, die erste Knobelei zum Lösen:

    Code
    100 a$="150040":l=len(a$)
    105 dim a(l)
    110 for il=1tol
    120 a(il)=val(mid$(a$,il,1))*8^(l-il)
    125 p1=p1+a(il)
    130 next il
    140 x=x+1:x=xand255:y=255-x
    160 pokep1,x
    170 pokep1+1,x
    180 goto140

    Wer weiß es? Was macht das PRG?