Wieder Genial gemacht. Mit PEEK & POKE nie wirklich was gemacht. Ach Dein Bild wirkt merklich besser.
@n3rdroom4 жыл бұрын
Ja, ich hab noch ein bisschen in meine Kamera investiert, das ich sie als Webcam nutzen kann... :-D Ich hoffe ich kann den ganzen Binärkram einigermaßen unterhaltsam rüberbringen... ;-)
@Christian-Drackert4 жыл бұрын
@@n3rdroom Mehr als dass. Machst du richtig Toll und mam merkt dass Du Programmiern kannst.
@Svarsmannen4 жыл бұрын
Das Problem bei deiner Abfrage war, dass "=" gegenüber "and" Priorität hat. 1 = 1 ergibt in Basic $FFFF bzw. -1, also eine 16-Bit Zahl bei der alle Bits 1 sind. Wenn du dann eine Zahl mit -1 verundest kommt wieder diese Zahl raus. Aber egal, schönes Projekt. Vielleicht sollte ich auch mal wieder was lustiges basteln.
@n3rdroom4 жыл бұрын
Ich hab den Fehler dann ja noch gefunden... 😉 Wann hast Du das letzte mal was auf dem C64 programmiert? 🙂
@Svarsmannen4 жыл бұрын
@@n3rdroom Das dürfte über 20 Jahre her sein, und so wahnsinnig komplexe Sachen hab ich damals auch nicht gemacht, das auwendigste war wohl ein ASCII-Artilleriespiel, das ich aber nie fertig gemacht habe. Bin aber BASIC treu geblieben und haber über die Jahre kleinere Sachen in vb/vb.net gemacht.
@n3rdroom4 жыл бұрын
@@Svarsmannen Ja, so über Ascii Games bin ich auch nie richtig hinaus gekommen... aber ich hatte immer Spaß! 😅
@maxmuster70034 жыл бұрын
Gute Arbeit. Weiter so.
@maxmuster70034 жыл бұрын
Ich warte gepannt auf die Folge wo es mit LDA und STA weiter geht. Bist du damit auch vertraut?
@n3rdroom4 жыл бұрын
Nein noch nicht... Bleibe erstmal noch bei BASIC... ;)
@maxmuster70034 жыл бұрын
@@n3rdroom OK, danke für dein Feedback.
@maxmuster70034 жыл бұрын
Mann kann sich ein AND auch wie ein Sieb vorstellen, wo nur die Bits durch kommen, die in der AND-Maske angegeben sind. Alle anderen Bits die nicht angegeben sind kommen nicht durch das Sieb und sind blockiert, fallen weg und werden unberücksichtigt gelöscht und ausgefiltert. Das AND läßt sich daher auch zum Löschen bestimmter Bits verwenden. Es werden alle Bits gelöscht, die nicht in der Maske enthalten sind. Übrig bleiben nur die Bits, die im Wert und in der Maske stehen.
@maxmuster70034 жыл бұрын
Ein Fullscreen-Editor der an jeder Stelle vom Bildschirm es erlaubt eine Befehlszeile zu übernehmen. Das vermisse ich am PC immer noch. Ach war das schön am C64er.
@n3rdroom4 жыл бұрын
Es ist ein Segen... und ein Fluch! ;-)
@kackfass88934 жыл бұрын
In der bitsetzung kannst du nach dem and 1=1 das gleich 1 weglassen
@n3rdroom4 жыл бұрын
Vielen Dank, den Tip bekam ich schonmal. ;-) Werde das im Zuge der nächsten Session ändern. ^^ Ich bin wahrscheinlich noch sehr im geschwätzigen Basic-Mode... :-D
@kackfass88934 жыл бұрын
@@n3rdroom ok.. 😀
@Wolfgang.-3 жыл бұрын
Und noch was: 11:30 das z.B.: PEEK(828) AND 64 hätte gereicht (ohne Klammern und = 64); wenn das Bit nicht gesetzt ist, kommt 0 dabei raus also false, wenn das Bit gesetzt ist dann kommt 64 raus, also ungleich 0 und damit true. Du erklärst das ja auch bei 28:00 😃
@n3rdroom3 жыл бұрын
Genau... manche Dinge fallen mir dann auch im Laufe der Videos auf... 😅
@Wolfgang.-3 жыл бұрын
Bin jetzt bei deinem Dungeon Projekt gelandet; etwas spät, ich weiß auch, dass dies noch in Assembler umgesetzt wird. Aber man hätte ja die Unterprogramm Zeilen nach den Koordinaten der Blöcke bezeichnen können: 110,120,130 / 210,220,230 ... 410,420,430 oder vier REM Zeilen REM 159, 169, 164 usw. 😉
@n3rdroom3 жыл бұрын
Hallo Wolfgang, ich kann Dir nicht ganz folgen. Wie meinst Du das mit den Zeilennummern? 🤔 Ich muss dazu sagen, das das komplette System nochmal umgeschrieben wird. Die Dungeondaten lieben dann in einem Array und nicht mehr in einem String. Dadurch ändert sich dann einiges noch... 🙈
@Wolfgang.-3 жыл бұрын
@@n3rdroom Der Text sollte eigentlich auch unter Teil 2, diesen Teil habe ich gerade erst gesehen, zwischendurch kam dein Kommentar. Also z.B hinten links ist Ebene 4 ganz links = Zeile 410, zweite Ebene Mitte = Zeile 220, ganz vorne rechts = Zeile 130 also erste Stelle Z-Ebene, 2 Stelle X-Ebene, 3 Stelle die Programmzeilen. Aber Du codierst das ja mit der Karte, dann brauchst Du ja nicht mehr die Hilfe. Ich hoffe das war jetzt verständlich 😃
@Wolfgang.-3 жыл бұрын
410 420 430 310 320 330 210 220 230 110 🧙♂️ 130 Ich hoffe man erkennt den Held der Geschichte 😃
@sengir39374 жыл бұрын
Wie du selber richtig bemerkst bedeutet 0=falsch, alles andere wahr. Deine Bitabfragen kannst du dann also folgendermaßen vereinfachen: IF PEEK(828) AND 1 THEN GOSUB...
@n3rdroom4 жыл бұрын
Hallo Sengir, danke für den Tip! :-) Stimmt, da hätte ich auch mal selbst drauf kommen können... :-D Bau ich beim nächsten mal direkt um.
@maxmuster70034 жыл бұрын
Bit 0, Bit 1, ...Bit 8..Was? Das sind schon neun. Verzählt.
@n3rdroom4 жыл бұрын
psssst! ^^
@maxmuster70034 жыл бұрын
@@n3rdroom Das kann schon mal passieren. Sonst eine hervorragende Arbeit. Und Fehler machen gehört auch zum Programmieren mit dazu.
@alexanderharringer13237 ай бұрын
Ist zwar schon ein älteres Projekt, aber dennoch die Frage: WARUM? Warum umständlich mit PEEK und POKE arbeiten, anstatt stinknormalen BASIC-Variablen? Warum die Speicherstellen 828 und 829 bei jeder if-Abfrage erneut auslesen, anstatt das Auslesen einmal zu machen und den Wert in einer Variablen abspeichern? Warum erzeugst du die Strings für die Blöcke bei jedem Aufruf neu, anstatt dir zuvor konstante Stringvariablen anzulegen? (Dann würdest du dir auch die ganzen GOSUBs sparen, da du anstatt des GOSUB-Befehls einfach den PRINT-Befehl + die Stringvariable benutzen kannst, z.B. PRINT L1$) Hast du dir als Ziel gesetzt, das Programm möglichst langsam zu machen? Viel mehr Fragen bei den anderen Videos aus dieser Reihe ...