Oh, cool! Es zählt immer wieder von 10 bis 20! ![]()
Arndt ![]()
Oh, cool! Es zählt immer wieder von 10 bis 20! ![]()
Arndt ![]()
Es zählt abwärts, das erste Mal von 10 bis 0, dann von 11 bis 1, beim dritten Mal von 12 bis 2 usw. bis 20 erreicht ist und fängt von vorne an (Zeile 170). Die Zeile 100 braucht man eher nicht und in Zeile 120 fehlt "step-1". Wenn man in 155 einen Slowdown einbaut (z.B. eine FOR-Schleife mit k als Zähler, die sonst nichts tut), sieht man das. ![]()
Arndt
Dran soll sein, wer sich berufen fühlt. Soll ja keiner unter Druck geraten. Und da ich meins selber aufgelöst habe, bestimme ich das jetzt mal so (wenn keiner dagegen ist) ![]()
Arndt
Ich bin geplättet! ![]()
Super POKE! ![]()
Arndt
Gut. Ich stelle fest, dass mein Programm das Ziel dieses Threads nicht getroffen hat. Es ist einfach viel zu umfangreich, man kann sich nicht wirklich vorstellen, was hier passiert. Schön, dass muffi rausgefunden hat, was später zu sehen sein wird (das hatte ich mit den Variablen C und A verschleiert), nämlich etwas mit Sternen. Es fehlte nur noch die richtige Anordnung der Sterne zu Objekten (die wird mit den beiden Arrays hergestellt).
Weil ich das alles einsehe, hier das Ergebnis des Programms als Screenshot:
Bitte melde dich an, um diesen Anhang zu sehen.
Es sind große und kleinere Sterne! Die werden alle aus den beiden Arrays heraus dargestellt. Z%(..) ist die Einrückung, W$(..) eine Sternchenzeile. Ab der Mitte werden die beiden Arrays rückwärts ausgelesen für den unteren Teil des jeweiligen Sterns. Die beiden Texte sind in den DATA-Zeilen versteckt. Auch der gestreifte Hintergrund geht aus den beiden Variablen C und A hervor.
Sorry, tut mir leid, so schöne, knackige Rätsel wie 4k4rvi hab ich nicht drauf. Darum bin ich gespannt auf seine weiteren Progs, wenn er wieder da ist! Freue mich schon! ![]()
Arndt
Die beiden Arrays arbeiten zusammen (als Tipp).
Arndt
dass da ein Weihnachtsbaum dabei raus komt...
Nein.
![]()
Arndt
(aber die Richtung stimmt...)
recht schwere Kost
Ich bin schon zufrieden, wenn einer rausfindet, was 110 bis 170 machen.
(Der Rest ist Anwendung davon.)
Arndt
Hab ich alle erschlagen? ![]()
Das wollte ich nicht! ![]()
Arndt
Ich fürchte, so knuddelig kleine Progrämmchen wie 4k4rvi kann ich nicht. Darum nicht böse sein, wenn ich hier diesen Brocken hochlade. Vielleicht reicht es ja für die Knobelei, wenn man rauskriegt, was von Zeile 110 bis Zeile 170 definiert wird.
Für die Nicht 64er-Leute: In Zeile 100 werden die Farben gesetzt, die Groß-Klein-Schrift fixiert und der Bildschirm gelöscht. In Zeile 350 und 380 sind CHR$-Codes zum Einschalten des Revers-Modus und für den Rückstellen des Cursors nach links oben. Zeile 440 dient zum Positionieren des Cursors und Zeile 370 wartet auf Tastendruck.
Hier ist also die Obfuskation durch die schiere Menge an Befehlen realisiert:
100 printchr$(147)chr$(14)chr$(8):poke53280,0:poke53281,0:poke646,2
110 c=24*7:a=24+7:s$=chr$(c/4):a$=chr$(a-2)
120 dimz%(5),w$(5):z%(1)=4:z%(2)=1:z%(3)=2:z%(4)=3:z%(5)=0
130 fori=1to38:x$=x$+chr$(c+1):next
140 fori=1to9:w1$=w1$+s$:next
150 w2$=s$+a$:w3$=a$+s$:w4$=w2$+w2$+s$:w5$=w2$+w3$+a$+w3$
160 fori=1to3:w6$=w6$+s$:next
170 w$(1)=w2$:w$(2)=w5$:w$(3)=w4$:w$(4)=w6$:w$(5)=w1$
180 :
190 l=1:fori=1to23:gosub440:printx$:next:poke646,8
200 l=3:k=3:t=14:fori=4to7:gosub470:next
210 fori=8to12:gosub480:next
220 l=26:k=4:i=6:gosub440:p=1:gosub450:printw$(p)
230 t=15:fori=7to8:gosub470:next:gosub440:p=2:gosub450:printleft$(w1$,7)
240 fori=10to11:gosub480:next
250 gosub440:p=1:gosub450:printw$(p)
260 t=23:l=17:k=12:i=14:gosub440:p=1:gosub450:printw$(p)
270 fori=15to16:gosub470:next:gosub440:p=2:gosub450:printleft$(w1$,7)
280 fori=18to19:gosub480:next
290 gosub440:p=1:gosub450:printw$(p)
300 i=14:p=2:l=3:gosub490
310 i=6:p=2:l=15:gosub490
320 i=17:p=2:l=28:gosub490
330 i=10:p=2:l=35:gosub490
340 i=19:p=2:l=11:gosub490:printchr$(18);
350 poke646,2:i=3:forl=36to26step-1:readx:gosub440:printchr$(x);:next
360 i=22:forl=3to2step-1:readx:gosub440:printchr$(x);:next
370 wait198,1
380 printchr$(19):poke646,5:poke198,0
390 end
400 :
410 data 33,83,65,77,216
420 data 32,89,82,82,69,205,196,199
430 :
440 poke781,i:poke782,l:sys58636:return
450 r=z%(p):ifrthenforj=1tor:printa$;:next
460 return
470 gosub440:p=i-k:gosub450:printw$(p):return
480 gosub440:p=t+noti:gosub450:printw$(p):return
490 gosub440:gosub450:prints$:i=i+2
500 gosub440:gosub450:prints$:i=i-1:p=5
510 gosub440:gosub450:printw6$:return
Alles anzeigen
In VICE lässt sich das schön einfügen...
(Bei der letzten Zeile RETURN drücken!)
Arndt
Es ist ein Timer (die ganze Zuweisung). Es sorgt für die "richtige" Flackerei. ![]()
Cool! Noch so eins! ![]()
Arndt
Edit: Also doch Obfuskation!
Das Y in Zeile 140 macht keinen Sinn (wird nicht verwendet, löst nichts aus). Sehe ich das richtig?
Arndt