Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » KC compact Programme von Internet auf Kassette bekommen... » Themenansicht

Autor Thread - Seiten: -1-
000
24.06.2016, 14:24 Uhr
Kniffo



Hallo zusammen,

Es gibt ja auf der Seite vom KC-Club einen großen Software Fundus.
z.B. Spiele vom KC compact.
Diese bestehen idR. aus einer BAS Datei und mehreren BIN Dateien.

Aber wie bekomme ich das denn auf den Computer?
Die einzige Möglichkeit das einzulesen ist ja mein Kassettenlaufwerk....

Kniffo.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
24.06.2016, 22:45 Uhr
Besserwisser

Avatar von Besserwisser

Der KC Compact ist zu 99% kompatibel mit dem CPC 464, 664 und 6128.
Zum Emulieren der Hardware auf dem PC gibt es das Programm CPCEMU.
Damit ist auch der Dateitransfer zwischen PC und CPC (KCC) möglich.
Das passiert über ein selbst zu bauendes Kabel,
mit dem die beiden Druckerschnittstellen verbunden werden.
Du must nur ein kurzes Programm in den KCC einmeiseln,
womit man die anderen notwendigen Dateien auf den KCC transportieren kann.

http://benchmarko.de/cpcemu/index.html (siehe DOKU Absatz 5)

Damit bekommst du die Software vom Forum über den PC auf den KCC
und kannst sie dann auf Kassetten speichern.

Hier findest du auch noch Interessantes:

http://www.cpcwiki.eu/index.php/KC_Compact

Dieser Beitrag wurde am 25.06.2016 um 00:13 Uhr von Besserwisser editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
25.06.2016, 09:13 Uhr
PC-Opa



Hallo Kniffo,

bei Ulrich auf der Homepage findest Du auch noch eine kleine Softwaresammlung.

http://www.sax.de/~zander/index2h.html

Da gibt es auch noch Infos und Dokumentationen zum KCC.

Gruß Wolfgang
--
Gruß Wolfgang
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
06.04.2023, 14:00 Uhr
ThomasR

Avatar von ThomasR

Rubik's Cube in Farbe

Schon 1985 schrieb ein belgischer Computer-Enthusiast ein Programm, das beim Lösen des Zauberwürfels helfen kann. Es ist in der Ur-Form hier http://robhagemans.github.io/basicode/basicode/Best_of_Basicode_2/B09_Kubus_van_Rubik.bc2 zu finden, wo es auch gleich ausprobiert werden kann. Die Bedienung fand ich zu unhandlich, besonders wegen der Abkürzungen niederländischer Worte für die Farben und Ebenen - A wie achtern O für unten, B für oben.

Deswegen habe ich vor ein paar Jahren die Bedienung auf deutsch umgeschrieben: siehe https://joyce.de/basicode/diesunddas/kubus.htm .



Als Rentner habe ich nun endlich die Zeit gefunden, umzusetzen, was mir schon lange vorschwebte: die Darstellung auf Farbe umzustellen.

Ich stelle es hier als ready-to-use-Programm vor Frank bietet freundlicherweise den Download von seiner Website an: http://www.kc85emu.de/rt/kubuskcc.bas . Eine KC85-Version gibt es hier: https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=20758 .

Eigentlich setzt es sich aus drei Bestandteilen zusammen, dem Bascoder, dessen Farberweiterung und zu guter Letzt dem Programm von Jan Broeckx. Das erwähne ich, um mich nicht mit fremden Fdern zu schmücken.

BasiCode, das Computer-Esperanto aus den achtziger Jahren hat sich auch in Großbritannien nie sehr stark verbreitet. Der BBC Acorn ist wohl ziemlich der einzige Computer, für den es dort auch Version 3 gab. Diesen Code von Peter Maathuis nahm 2005 Victor Reijs als Grundlage, um eine Version zu schreiben, die unter dem BBC Basic for Windows läuft, das eins zu eins auch unter CP/M auf dem Amstrad CPC nutzbar ist - und damit auch auf dem KC compact.



Wir nutzen jedoch das Locomotive-Basic. Hardwarebedingt stellen beide Basics in MODE 1 leider nur vier Farben zur Verfügung (siehe Ausgabe des Programms FARBTEST). Deswegen gab es noch einige Nacharbeit, das Programm in MODE 0 nutzbar zu machen, dort gibt es mehr als genug Farben für die sechs Seiten des Würfels. Nur für die größeren Textausgaben wird in MODE 1 gewechselt.



Das Programm (das durchgängig mit Großbuchstaben bedient wird) bietet drei Möglichkeiten:

- Von einem "aufgeräumten" Würfel ausgehend kann man (Grund-Achsen immer beibehalten, nicht den kompletten Würfel drehen!) die vordere, hintere, linke, rechte obere bzw. untere Ebene drehen und schließlich vom Programm wieder in Ordnung bringen lassen.

In manchen Fällen resigniert das Programm beim Lösen einer selbst eingegebenen Stellung, aber viele Lösungen schafft es tatsächlich. Natürlich darf man keine Kombinationen eingeben, die am realen Zauberwürfel nur durch Herausnehmen und verkehrt-wieder-Einsetzen eines Eck- oder Kantenteils (oder Wechseln von Klebeetiketten) erzeugt werden können. Hier entsteht eine Fehlermeldung, denn der Autor hat verschiedene Kniffe angewendet, um den komplexen Algorithmus im verfügbaren RAM unterzubringen. Einer davon ist, für nicht auftretende Fälle eine nicht existiereende Zeilennummer zu verwenden:


Quellcode:
...
4530 IF A>6 THEN 4560
4540 ON A GOSUB 1,1,10450,1,10860,10870
4550 GOTO 4570
...



Das hat mich lange irritiert, ich hielt das für Übertragungsfehler und dachte, das Programm sei nicht lauffähig.

- Man kann seinen (verdrehten) realen Würfel Teilfläche für Teilfläche ins Programm eingeben und dann das Programm lösen lassen.

- Zu guter Letzt gibt es noch eine Demonstration von über einem Dutzend regelmäßigen Mustern nebst jeweils einer Anleitung, wie dieses Muster aus der Grundstellung zu erreichen ist.


--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 06.04.2023 um 14:04 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
06.04.2023, 18:56 Uhr
robbi
Default Group and Edit
Avatar von robbi

@002
Genauer:
http://www.sax.de/~zander/kcc/kcc_sw.html
Die Programme habe ich als WAV-Dateien vorliegen. Das ist wohl die unkomplizierteste Methode für die meisten Nutzer.
--
Schreib wie du quatschst, dann schreibst du schlecht.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
17.06.2023, 15:36 Uhr
ThomasR

Avatar von ThomasR

Das farbige Zauberwürfel-Programm

https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=20758

enthält einen Fehler, auf den mich Frank aufmerksam machte.


Quellcode:
...
5930 IF a(7,6)=a(6,7) THEN 5360
5940 IF a(6,6)=a(8,5) THEN a$="=-H-U-R-HR-V-RHRUH-UV": REM   <----  erstes Zeichen von a$ verkehrt!
5950 IF a(6,6)=a(8,5) THEN GOSUB 10540:GOTO 5890
...



muss heißen


Quellcode:
...
5930 IF a(7,6)=a(6,7) THEN 5360
5940 IF a(6,6)=a(8,5) THEN a$="U-H-U-R-HR-V-RHRUH-UV"
5950 IF a(6,6)=a(8,5) THEN GOSUB 10540:GOTO 5890
...



Das ist mir selbst 2007 unterlaufen, als ich Leerzeichen nach den Schlüsselwörtern einfügte und dergleichen, um das Programm in ASCII-Form auch auf anderen Wegen übertragen zu können. Vele Computerbasics "pochen" auf diese Leerzeichen.

Nun sollten alle Eingaben aus Menüpunkt A und alle legalen Eingaben aus Menüpunkt B zu einer erfolgreichen Lösung führen.

Auf Franks Homepage http://www.kc85emu.de/rt/kubuskcc.bas gilt das ebenso, vielleicht hat er es zwischenzeitlich auch geändert, einfach Zeile 5940 darauf checken.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
05.11.2023, 21:03 Uhr
ThomasR

Avatar von ThomasR

Korrektur zu OTHELLOC

Schon vom Ursprungsprogramm her war ein Fehler enthalten: manchmal wurden die kleinen Kästchen mit der Anzeige der Steine-Anzahl unvollständig gelöscht und dadurch im weiteren Verlauf verwaschen angezeigt.

Frank kam der Ursache auf die Spur und mailte mir:


Die Grafikfehler bei der Anzahl der Steine habe ich gefunden. Sie treten scheinbar nur bei Level 2 auf.
Die Ursache war, dass die Variablen CO und C2 auch für die Berechnung des nächsten Zuges missbraucht werden.


Als Abhilfe führte er erfolgreich die neuen Variablen CL und CR ein. Im Programm müssen folgende Zeilen korrigiert werden:

1020 NM=0:WU=0:CO=0:C2=0:CL=0:CR=0:REM DIM CC(2)

3190 HO=.03:VE=.8:CN=1:SR=CL:GOSUB 300:GOSUB 650

3200 HO=.91:SR=CR:GOSUB 300:GOSUB 650:CN=0

3230 CL=CO:SR=CO:GOSUB 300:CC(0)=4:GOSUB 650

3250 CR=C2:SR=C2:GOSUB 300:CC(0)=2:GOSUB 650:CC(0)=7:RETURN

--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 05.11.2023 um 21:58 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
05.11.2023, 21:03 Uhr
ThomasR

Avatar von ThomasR

Malcolm Tyrrell schrieb 2003 für den ZX Spectrum MazezaM, ein schön kniffliges Programm, halb Sokoban, halb Labyrinth:



Inzwischen gibt es dieses Knobelspiel auf einigen anderen Computern wie auch für den Windows-PC:



2020 schrieb der Autor eine Version für BasiCode, die damit, den entsprechenden Bascoder vorausgesetzt, auch auf dem CPC und KCc läuft:



Die Version ist zwar nicht so farbenfroh wie die beiden vorgenannten Versionen, aber die Herausforderung der Rätsel ist unverändert. Obendrein bietet sie den Vorteil, dass die Zahl der Versuche nicht begrenzt ist und man auch einfach in den nächsten Level springen kann. Aufgabe ist, das Labyrinth zu durchqueren, wofür jeweils eine komplette Zeile von Hindernissen verschoben werden kann. Die Bedienung erfolgt mit den Cursortasten oder mit den Klein- oder Großbuchstaben i, j, k, l. Wie gewohnt muss zunächst der Bascoder geladen und gestartet werden, dann kann das Programm hinzugeladen werden.

Viel Spaß damit!


Quellcode:
1000 A=194:GOTO 20:REM *** MAZEZAM ***
1010 DIM R$(11):DIM Y(11):HO=14:VE=14
1310 HO=HO+1:R=HO:GOSUB 110:GOSUB 120:IF R=HO THEN 1310
1610 VE=VE+1:S=VE:GOSUB 110:GOSUB 120:IF VE=S THEN 1610
1910 GOSUB 100:VE=6:HO=(R-7)/2:GOSUB 110:PRINT"MazezaM":VE=S-6
1920 HO=0:GOSUB 110:PRINT" MOVE ijkl":PRINT"RETRY r"
1930 PRINT" SKIP s":PRINT" QUIT q":GOSUB 210
1940 IF IN<>81 THEN 1960
1950 GOTO 950
1960 RESTORE:Z=0:N$="":T=0
2210 GOSUB 250:T=T+1:IF T=31 THEN 1910
2220 GOSUB 4910:N=W:GOSUB 4910:M=W:GOSUB 4910:P=W:GOSUB 4910:Q=W
2230 F=0:FOR C=0 TO N-1:R$(C)="":Y(C)=0:FOR D=0 TO M-1:A$="="
2240 IF F=0 THEN GOSUB 4910:F=6
2250 F=F-1:G=INT(W/2)*2:IF W=G THEN A$=" "
2260 R$(C)=R$(C)+A$:W=G/2:NEXT D:NEXT C:U=INT((R-M)/2)
2270 V=INT((S-N)/2)
2510 GOSUB 100
2810 VE=V-1:HO=U-1:W=P:X=0:GOSUB 4610:FOR I=0 TO N-1:Y(I)=0
2820 VE=VE+1:GOSUB 110:A$="#":B$=A$:IF I=P THEN A$=">"
2830 IF I=Q THEN B$=">"
2840 PRINT A$;:GOSUB 4010:PRINT B$:NEXT I:VE=VE+1:GOSUB 4610
2850 HO=HO+1
3110 GOSUB 210:D=W:E=X:IF (IN=73 OR IN=31) AND W>0 THEN D=W-1
3120 IF (IN=75 OR IN=30) AND W<N-1 THEN D=W+1
3130 IF (IN=74 OR IN=28) AND X>0 THEN E=X-1:F=1
3140 IF (IN=76 OR IN=29) AND X<M-1 THEN E=X+1:F=M
3150 IF (IN=76 OR IN=29) AND W=Q AND X=M-1 OR IN=83 THEN 2210
3160 IF IN=81 THEN 1910
3170 IF IN=82 THEN 2810
3180 I=D:GOSUB 4310
3190 IF MID$(J$,E+1,1)=" " THEN I=W:W=D:X=E:GOSUB 3710:GOTO 3410
3200 IF X<>E AND MID$(J$,F,1)=" " THEN Y(W)=Y(W)+E-X:X=E
3410 I=W:GOSUB 3710:GOTO 3110
3710 VE=V+I:GOSUB 110
4010 GOSUB 4310:IF I<>W THEN PRINT J$;:RETURN
4020 IF X>0 THEN PRINT LEFT$(J$,X);
4030 PRINT "@";:IF X<M-1 THEN PRINT RIGHT$(J$,M-X-1);
4040 REM B$="#":IF I=Q THEN B$=">"
4050 REM PRINT B$
4060 RETURN
4310 IF Y(I)=0 THEN J$=R$(I):RETURN
4320 IF Y(I)>0 THEN B=Y(I):C=M-B
4330 IF Y(I)<0 THEN C=-Y(I):B=M-C
4340 J$=RIGHT$(R$(I),B)+LEFT$(R$(I),C):RETURN
4610 GOSUB 110:PRINT LEFT$("#################",M+2):RETURN
4910 Z=Z+1:IF Z=LEN(N$)+1 THEN READ N$:Z=1
4920 B=ASC(MID$(N$,Z,1)):A=ASC("A"):G=ASC("a"):H=ASC("0")
4930 W=63:IF B>=A AND B<A+26 THEN W=B-A
4940 IF B>=G AND B<G+26 THEN W=B-G+26
4950 IF B>=H AND B<H+10 THEN W=B-H+52
4960 IF B=ASC("+") THEN W=62
4970 RETURN
25000 DATA "CFBAKBCHABykADHABmVZBDICBkTlKEFDDCtSCEHADq6oWCFHAE"
25010 DATA "cpQvKJDICCFQtdEHBCUspqDEOBD/2gZ20O4fCEHBB2UpDDGNAA"
25020 DATA "4D6zp7p8nLmqJFGDBCmW6EEICDcwOXKAGGAFUVUNN0EKACsy1Y"
25030 DATA "q7CEHADWk2hELFKAEtpocFlqJAEHCDKsRVOEPCAeeWbNavRzTF"
25040 DATA "ICC1sGq9gCELACuBzaerBAFIDBkjpuqJNEJDAiYP3QBHJGCyTa"
25050 DATA "6tJE3PEAGHAAy08CdPAKNHAAg8f6AT+l7MFZ63Ux5+DAAHJBEy"
25060 DATA "wq1w+0rJ6AKLAJAg+39oWA9/GuNYu+HAAHKAAaRdTF2OVZd0F"
30000 REM leicht abgeaendert Th. Rademacher JOYCE-User-AG e.V.
30010 REM Zeilen 4040 und 4050 fuer 8-bit-Atari aktivieren
32000 REM Autor: Malcohol (Malcolm Tyrrell) auf GitHub 2020


--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 06.11.2023 um 14:04 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
26.03.2025, 10:09 Uhr
ThomasR

Avatar von ThomasR

Mastermind





Auf diesem Diskettenabbild http://forum.system-cfg.com/download/file.php?id=40966 (in DSK umbenennen) für den CPC/KCc ist ein Mastermind-Programm, das ich auf Farbbetrieb erweitert habe. Es wird mit RUN"DISC" gestartet. Es kann auch in diesem https://retroshowcase.gr/cpcbox-master/ Emulator online gespielt werden.

Weil ich, um auf alle acht BasiCode-Farben zugreifen zu können, in den 20-Spalten-Modus ausweichen musste, war auch die Länge der auszugebenden Texte zu reduzieren. Außerdem habe ich die Möglichkeit hinzugefügt, zwischen vier Schwierigkeitsgraden zu wählen.

Vier unterschiedliche Ziffern (aus wahlweise 6, 7, 8 oder 9) und ihre Reihenfolge sind zu ermitteln, für jede Ziffer, die an ihrer richtigen Position steht, gibt es ein * und ein -, stimmt die Position noch nicht, gibt es nur ein * .

Es gibt ein Problem (das ich auch vorher schon bei anderen Gelegenheiten hatte und dessen Ursache ich nie ergründen konnte): nach dem ersten Start wird (im Grafikmodus von BasiCode) jeder Text mit zwei grafischen Symbolen am Anfang ausgegeben, offenbar den Entsprechungen für CTRL+D und CTRL+A. Wenn hier abgebrochen und RESTORE:GOTO 1040 eingegeben wird, tritt diese Fehlfunktion nicht mehr auf. Weiß da jemand Abhilfe, der sich hier ein wenig besser auskennt?


Ansonsten - viel Spaß mit diesem Knobelspiel!


P.S.: Im Textkasten von https://abbuc.de/forum/viewtopic.php?p=33692#p33692 gibt es das Programm in allgemeinerer Form (z.B. für den KC85), es müssen nur die Zeilen unter 1000 gelöscht werden, dann kann es zum KC-Bascoder hinzugeladen und gestartet werden. Leider treten auf dem KC noch Fehler in der Grafik auf (das leidige Übersprechen von Farben auf benachbarte Pixel), vielleicht kommt in Kürze eine Version ohne diese Störungen).
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 26.03.2025 um 10:40 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
26.03.2025, 11:48 Uhr
ralle



Beim KC müssen die Pixelgrenzen beachtet werden. Die Farbauflösung ist beim /2 und/3 auf 8x8 Pixel mit je einer Vordergrundfarbe und einer Hintergrundfarbe festgelegt. Beim /4 1x8, aber in der Wagerechten.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
26.03.2025, 17:53 Uhr
susowa




Zitat:
ralle schrieb
Die Farbauflösung ist beim /2 und/3 auf 8x8 Pixel mit je einer Vordergrundfarbe und einer Hintergrundfarbe festgelegt.


Das ist falsch.

Aus dem Handbuch (Bildwiederholspeicher [IRM]):

"Jedem Bitfeld von 8 x 4 Bildpunkten ist ein Farbbyte zugeordnet."

MfG susowa

Dieser Beitrag wurde am 26.03.2025 um 17:53 Uhr von susowa editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
26.03.2025, 21:07 Uhr
ThomasR

Avatar von ThomasR


Zitat:
ralle schrieb
Beim KC müssen die Pixelgrenzen beachtet werden. (…)



Was Du da schreibst, Ralle, war mir so weit klar. Ich hatte mehr auf einen zielführenden Hinweis zur CPC-Frage gehofft.

Was den KC betrifft ist die Frage, ob man es so abändern kann, dass es (BasiCode!) auch auf anderen Computern lauffähig bleibt. Würde man zum Beispiel einfach den COLOR-Befehl verwenden, um zwei weitere Farben zu nutzen, hat der Befehl dort vielleicht einen anderen Namen oder eine andere Parameterreihenfolge, löst dort einen Syntaxerror aus.

Man kann es natürlich KC-spezifisch ändern. Ich habe hier zum Beispiel (im Programm aus dem abbuc-Forum) das Zeichnen des Gitters unterdrückt (die REMs in den letzten beiden Zeilen) und die Kästchen um die 8 und 9 größer gezogen, um die Farbstörungen zu umgehen.

Die Kästchen sollen 8 und 9 leichter unterscheidbar von 3 und 4 machen, schöner wäre es, violett und orange verwenden zu können, dann wären die Kästchen verzichtbar. In BasiCode werden die Vordergrundfarben über CC(0) übergeben – ich fürchte, hier kann man nicht einfach die Belegungen 9 und 10 verwenden, abgesehen davon, dass Maschinencode nicht meine Kernkompetenz ist.

Es kommt also vielleicht die Tage die Lösung ohne Gitter, dann aber im Thread "BasiCode-Programme vorgestellt".



--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 26.03.2025 um 21:16 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
28.03.2025, 14:27 Uhr
ThomasR

Avatar von ThomasR

Mastermind im Textmodus auf dem KCc


Die gute Nachricht: der KC-Bascoder stört sich nicht an der Anforderung weiterer Farben, wie dieser Screenshot aus einem ähnlichen Programm (von hier https://github.com/robhagemans/basicode/blob/master/KC-Club/LOGO.bc , ebenfalls von mir auf Arbeit mit Farben erweitert) zeigt. Hier wird im Textmodus gearbeitet, aber im Grafikmodus ist es ebenfalls kein Problem. Es ist also in Kürze das in 011 angekündigte Programm zu erwarten.





In diesem Thread reden wir jedoch über den KCc/CPC. Weil das Programm noch eine überschaubare Länge hat, stelle ich seine KCc/CPC-Fassung hier in den Textkasten. Natürlich muss der Bascoder https://joyce.de/basicode/download/cpc.zip davorgesetzt werden. Auf dem Amstrad-Computer bleiben wir leider auf sieben Vordergrundfarben beschränkt - aber immer noch angenehmer als nur eine Textfarbe.




Quellcode:
1000 A=300:GOTO 20:REM ===ZAHLEN===
1010 DIM ZA(4),EX(4):RE=1000
1020 GOSUB 1560:REM EINLEITUNG**
1030 CC(0)=7:CC(1)=0:MODE 0:GOSUB 100:P=1
1040 PRINT "         Level ";SC/3-1
1050 REM GENERATION DER ZAHLEN===
1060 REM FOR I=1 TO 2 STEP 0
1070 GOSUB 260:RV=INT(RV*SC)+1
1080 WA=1
1090 FOR J=1 TO 4
1100 IF ZA(J)=RV THEN WA=0
1110 NEXT J
1120 IF WA=1 THEN ZA(P)=RV:P=P+1
1130 IF P<5 THEN 1070
1140 REM NEXT I
1150 REM EINGABE ================
1160 PRINT
1170 VR=1
1180 HO=0:VE=VR:GOSUB 110
1190 PRINT "Test:";
1200 PRINT VR;
1210 FOR I=8 TO 14 STEP 2
1220 HO=I:VE=VR:GOSUB 210:IF (VAL(IN$)>SC) OR (VAL(IN$)<1) THEN 1220
1223 IF VAL(IN$)>7 THEN CC(0)=14-VAL(IN$):GOTO 1230
1227 CC(0)=VAL(IN$)
1230 GOSUB 110:CC(0)=7:EX((I-9)/2+1)=VAL(IN$)
1240 PRINT IN$;
1250 NEXT I:PRINT " ";
1260 REM TEST====================
1270 REM ABSOLUT RICHTIG---------
1280 RI=0
1290 HO=30:GOSUB 110
1300 FOR I=1 TO 4
1310 IF EX(I)<>ZA(I)THEN 1360
1320 PRINT "*";:RI=RI+1
1330 FOR J=1 TO 4
1340 IF EX(J)=ZA(I)THEN EX(J)=0
1350 NEXT J
1360 NEXT I
1370 REM RELATIV RICHTIG---------
1380 FOR I=1 TO 4
1390 FOR J=1 TO 4
1400 IF EX(I)=ZA(J)THEN PRINT "+";
1410 NEXT J
1420 NEXT I
1430 IF RI=4 THEN 1470
1440 PRINT :VR=VR+1
1450 GOTO 1180
1460 REM AUSWERTUNG==============
1470 PRINT :PRINT "Sie haben ";VR;" Ver-"
1475 PRINT "suche benoetigt."
1480 IF VR<RE THEN RE=VR
1490 PRINT "Der Rekord liegt bei ";RE;" Versuchen."
1500 PRINT :PRINT :PRINT "Noch einmal (N)";
1510 GOSUB 210
1520 FOR J=1 TO 4:ZA(J)=0:NEXT J
1530 IF IN<>78 THEN 1020
1540 GOTO 950
1550 REM EINFUEHRUNG===========
1560 MODE 1:GOSUB 100:PRINT:SR$="  ZAHLEN  "
1570 PRINT "           ";:GOSUB 150:PRINT:PRINT
1580 PRINT "Dieses Spiel hat als Vorlage das"
1590 PRINT "Denkspiel ";CHR$(34);"LOGO";CHR$(34);". Statt mit Farben"
1600 PRINT "wird es hier mit Zahlen gespielt.":PRINT
1610 PRINT "Spielregeln wie folgt:":PRINT
1620 PRINT "Es gilt, vier Zahlen in der richtigen"
1630 PRINT "Reihenfolge zu raten."
1640 PRINT "Der Rechner sagt Ihnen, wieviele Zahlen"
1650 PRINT "an der richtigen Stelle (*) sind und"
1660 PRINT "wieviele Zahlen vorhanden, jedoch"
1670 PRINT "nicht an der richtigem Stelle sind (+).":PRINT
1680 PRINT "Hinweis: Jede Zahl ist nur einmal "
1690 PRINT "         vorhanden."
1700 PRINT :PRINT "Schwierigkeit 1: Zahlen von 1..6"
1710 PRINT "Schwierigkeit 2: Zahlen von 1..9"
1720 PRINT :PRINT "Schwierigkeitsgrad:";:GOSUB 210
1730 PRINT IN$
1740 SC=VAL(IN$)
1750 IF (SC<1)OR (SC>2)THEN 1720
1760 SC=(SC+1)*3
1770 RETURN
1780 REM ***** ENDE *****
32000 REM TILO WUENSCHE
32010 REM LIEBENWERDAERSTR.11
32020 REM O-7901 MAASDORF
32030 REM AM 25.9.1990 AUF KC85/4
32040 REM -----------------------------------------
32050 REM Erstausstrahlung: Deutschlandsender Kultur
32060 REM -spezial 901114
32070 REM -----------------------------------------
32080 REM Farbe: Thomas Rademacher
32090 REM        JOYCE-User-AG e.V.
32100 REM        Maerz 2025




Auf anderen Computern werden die beiden MODE-Befehle zu Fehlermeldungen führen, die Übertragbarkeit ist also eingeschränkt.
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 28.03.2025 um 14:56 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
29.03.2025, 18:20 Uhr
ThomasR

Avatar von ThomasR

Tetris

Diese Tetrisvariante https://github.com/robhagemans/basicode/blob/master/KC-Club/STEINE.bc ließ sich durch nur drei zusätzliche Befehle zur Nutzung von Farben erweitern - für den Amstrad-Computer im 20-Zeichen-Modus waren es allerdings noch einige Handgriffe mehr.






Quellcode:

1000 A=100:GOTO 20:REM ## TETRIS ##
1010 DIM X(4),Y(4),U(4),V(4)
1020 MODE 1:VE=0:HO=10:GOSUB 110:SR$="*** TETRIS ***":GOSUB 150
1030 VE=2:HO=0:GOSUB 110
1040 PRINT " In einem Schacht fallen unterschied-"
1050 PRINT " lich geformte Steine herunter."
1060 PRINT " Die Steine  lassen sich  mit den"
1070 SR$="Cursortasten":GOSUB 150
1080 PRINT
1090 PRINT " nach links und rechts bewegen"
1100 PRINT " oder drehen."
1110 PRINT " Es kommt darauf an, die Steine so zu"
1120 PRINT " bewegen, dass  sie geschlossene Rei-"
1130 PRINT " hen bilden. Ist eine Reihe geschlos-"
1140 PRINT " sen,  wird  sie  geloescht  und  die"
1150 PRINT " darueberliegenden  Reihen   rutschen"
1160 PRINT " nach."
1170 PRINT " Fuer jede geschlossene Reihe gibt"
1180 PRINT " es einen Punkt.":R$="los"
1190 HO=0:VE=18:GOSUB 110
1200 PRINT " Nach Eingabe  des   Schwierigkeits-"
1210 PRINT " grades (0...5) geht es ";R$;" !"
1220 GOSUB 210:IF (IN<48) OR (IN>53) THEN 1220
1230 MODE 0:R=70-IN
1240 GOSUB 100:VE=4:HO=2:GOSUB 110:PRINT "P:"
1250 REM VE=6:HO=1:GOSUB 110:REM PRINT "Schwierig-"
1260 VE=7:HO=2:GOSUB 110:PRINT "L: ";IN-48
1270 FOR I=0 TO R:VE=I:HO=8:GOSUB 110:PRINT "X"
1280 HO=17:GOSUB 110:PRINT "X":NEXT I
1290 VE=R:HO=8:GOSUB 110:PRINT "XXXXXXXXX"
1300 GOSUB 260:A=INT(RV*7)
1310 X(1)=1:Y(1)=23:X(2)=1:Y(2)=22
1320 X(3)=1:Y(3)=24:X(4)=2:Y(4)=22
1330 IF A>3 THEN X(3)=2:Y(3)=23:IF (A=4) OR (A=6) THEN X(4)=0
1340 IF (A=1) OR (A=6) THEN Y(4)=23:IF A=6 THEN Y(3)=22
1350 IF A=2 THEN Y(4)=24:GOTO 1510
1360 IF A=0 THEN X(4)=1:Y(4)=21
1370 GOTO 1510
1380 B=0:GOSUB 200
1390 IF (IN=28) OR (IN=29) OR (IN=30) OR (IN=31) THEN B=IN
1400 IF B=28 THEN FOR I=1 TO 4:Y(I)=V(I)-1:NEXT I
1410 IF B=29 THEN FOR I=1 TO 4:Y(I)=V(I)+1:NEXT I
1420 IF (B=30) OR (B=31) THEN 1440
1430 GOTO 1460
1440 FOR I=1 TO 4:X(I)=U(1)+V(I)-V(1):Y(I)=V(1)+U(1)-U(I)
1450 NEXT I
1460 Z=0:FOR I=1 TO 4:VE=X(I):HO=Y(I)-10:GOSUB 220
1470 IF (IN=88) OR (IN=42) THEN Z=1
1480 NEXT I
1490 IF Z=1 THEN FOR I=1 TO 4:Y(I)=V(I):X(I)=U(I):NEXT I:GOTO 1380
1500 FOR I=1 TO 4:VE=U(I):HO=V(I)-10:GOSUB 110:PRINT " ":NEXT I
1510 FOR I=1 TO 4:VE=X(I):HO=Y(I)-10:CC(0)=7-A:GOSUB 110:PRINT "H":NEXT I
1520 W=0:FOR I=1 TO 4:VE=X(I)+1:HO=Y(I)-10:GOSUB 220
1530 IF (IN=88) OR (IN=42) THEN W=1
1540 NEXT I:IF W=0 THEN 1690
1550 FOR I=1 TO 4:IF X(I)=1 THEN 1710
1560 VE=X(I):HO=Y(I)-10:CC(0)=7-A:GOSUB 110:PRINT "*":NEXT I:GOSUB 250
1570 FOR I=1 TO 4:T=1:FOR J=9 TO 16:VE=X(I):HO=J:GOSUB 220
1580 IF IN=32 THEN T=0:J=26
1590 NEXT J:IF T=0 THEN 1680
1600 FOR K=X(I) TO 1 STEP-1:S=0:FOR L=19 TO 26
1610 VE=K-1:HO=L-10:GOSUB 220
1620 VE=K:HO=L-10:GOSUB 110:PRINT CHR$(IN)
1630 IF IN=42 THEN S=1
1640 NEXT L:IF S=0 THEN K=1
1650 NEXT K:C=C+1:VE=4:HO=4:GOSUB 110:IF C<10 THEN PRINT " ";
1655 PRINT C
1660 FOR J=I TO 4:IF X(J)<X(I) THEN X(J)=X(J)+1
1670 NEXT J
1680 NEXT I:GOTO 1300
1690 FOR I=1 TO 4:U(I)=X(I):V(I)=Y(I):X(I)=X(I)+1:NEXT I
1700 GOTO 1380
1710 FOR I=0 TO 2:GOSUB 250:NEXT I
1720 VE=20:HO=1:CC(0)=7:GOSUB 110:PRINT "Spielende !":GOSUB 210
1730 VE=22:HO=0:GOSUB 110:PRINT "neues Spiel (J) ?"
1740 GOSUB 210:IF IN=74 THEN  GOSUB 100:R$="weiter":GOTO 1190
1750 GOTO 950
32000 REM ****************************
32010 REM
32020 REM    nach  Rainer Jung / ND
32030 REM      in BASICODE von
32040 REM Gert      Lautenschlaeger
32050 REM Erlenhof 26  Potsdam 1585
32060 REM 900528       auf  KC 85/4
32070 REM
32080 REM ****************************
32090 REM
32100 REM Erstausstrahlung: DS-Kultur
32110 REM-spezial 900905
32120 REM ****************************
32130 REM Farb-Ergaenzung:
32140 REM Thomas Rademacher
32150 REM JOYCE-User-AG e.V.




Wer mal Tetris ohne Hektik spielen möchte, bitteschön! Viel Spaß damit!
--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek