ChemTrailPilot
von Sadi Yigit
Ein Basic-Ten-Liner präsentiert von Zaadii-Games
Erstes Release: Februar 2018

Einleitung
Willkommen zu ChemTrailPilot. In diesem Spiel übernimmst Du die Rolle des Piloten eines Flugzeugs mit Chemtrailantrieb. Ziel des Spiels ist es einen großen Teil des Bildschirms mit ChemTrailGasen zu bedecken.  
Systemvorraussetzungen & Starten des Spiels
Das Spiel wurde für eine echte Commodore 64 Hardware ohne Erweiterungen entwickelt. Darüber hinaus wurde es erfolgreich auf dem Emulator  CCS 64 (V3.7) getestet.
Zum Spielen auf der echten Hardware muss das prg-File als einziges File auf eine Floppy-Diskette kopiert werden und das Spiel mittels „LOAD“*“,8“ geladen und anschließenden mit  „RUN“ gestartet werden. Zusätzlich wird ein Joystick in Prot 2 benötigt um das Spiel zu spielen.
Auf dem Emulator wird das Spiel per Drag&Drop des prg-Files auf den CCS 64 gestartet. In der Standarteinstellung ist das Spiel dann über die Pfeiltasten des PCs zu steuern.
Nach eine Spiel ist das Spiel mit RUN erneut zu starten.
Anleitung
In ChemTrailPilot steuerst Du Dein Flugzeug mit dem Joystick in die verschiedenen Himmelsrichtung über den Bildschirm. Dein Flugzeug (roter Punkt) hinterlässt dabei die gefährlichen Chemtrailgase. Du hast gewonnen sobald der Bildschirm ausreichend mit Chemtrailgasen bedeckt ist. Du kannst zwar nicht verlieren, aber Dein Ziel ist es, das Spiel in einer möglichst kurzen Zeit zu gewinnen. In der ersten Bildschirmzeile (die nicht zum Himmel zählt) kannst Du den aktuellen Status des Spiels sehen. Dabei haben die Zahlen die folgende Bedeutung:
Goal: So viele Felder musst Du mit Chemtrailgas bedecken, um zu gewinnen.
You have: So viele Felder hast Du derzeit mit Chemtrailgas belegt.
Time: So viel Zeit hast Du schon verbraucht.
Folgendes gibt es bei dem Spiel noch zu beachten:
Beim Verlassen des Bildschirms, betrittst Du diesen wieder auf der gegenüberliegenden Seite.
Die Felder mit Chemtrailgas haben eine Nummer die ab und an nach unten zählt. Wird dabei die 0 unterschritten so hat sich das Gas auf diesem Feld verflüchtigt (und zählt auch nicht mehr – Du musst es erneut überfliegen)
Dein Flugzeug ist extrem manövrierfähig: Es kann auch direkt in die entgegengesetzt Richtung fliegen und sogar auf der Stelle stehen bleiben.
Du darfst in Deine Chemtrials hinein fliegen. In der Tat erhöhst Du damit dort sogar die Gaskonzentration und somit die Stabilität des Chemtrails (an dieser Stelle).
Die Schwierigkeit des Spiels kann durch die Anpassung der Variable W in Zeile 1 ( 1 W=900:..) erreicht werden (900=schwer, 800=leicht)

ChemTrailPilot
by Sadi Yigit
A Basic Ten Liner game presented by Zaadii-Games
First Release: February 2018

Introduction
Welcome to ChemTrailPilot, a game in which you take over the roll of the Pilot of an ariplain that is equipted with a chemtrail enging. Your goal will be to cover the world (or in this case the screen) with ChemTrailGas. 
System requirements & starting the game
The game was developed for the real Commodore 64 excluding any extensions or modification. In addition the game was tested on the emulator  CCS 64 (V3.7).
For using the game on a real Commodore 64 the prg-File needs to be copied (as only file) to the floppy disk. Then load the game by typing „LOAD“*“,8“ and run the game by typing „RUN“.
In addition you will need a Joystick on port 2 to control the game. 
On the emulator start the game by drag&drop the prg-file on the CCS 64. The game can then be controlled on the arrow-keys of the PC.  
After you have won the game, you can start it again by entering RUN.
Instruction
Your air plain (Red dot) will move into the direction indicated by the Joystick. Also take into account that, your air plain can change from and to each direction and even can stand on a given location. Also if you leave the screen, you will enter it on the opposite side. Your airplain will leave some chemtrail gas at its location. Be aware that the chemtrail fields hold a number that is counted down from time to time and if the number falls below 0, the gas is gone from that filed. You can fly into your chemtrails in order to stabilize them.
You will win the game as soon a you have filled the number of field with chemtrail gas that is given as goal on the first line of the screen (which by the way, does not count as “sky”(=screen to fill)). This line also indicates, how many field you actually already have filled. You cannot lose this game, however you want to win as fast as possible and achieve the smallest possible time to do so. 
If you want you can adjust the difficulty of the game by changing the variable W in  Line 1 ( 1 W=900:..). (900=hard, 800=easy)








Program-Erklährung:

1 W=900:Q=0:X=20:Y=10:C=53281:S=1024:A=S-40:J=126:FOR N=S TO 2048:POKE N,32:NEXT

Initiallisierung der Variablen, sowie eine Schleife zum Löschen des Bildschirms

2 PRINT CHR$(19);"GOAL";W;",YOU HAVE";Q,"TIME";U:IF T>32 AND T<185 THEN T=T+1

Ausgabe der Statuszeile. Anschließend die Überprüfung von T. T ist der Wert des Zeichens auf der aktuelle Spielerposition (Dieser wird in Zeile 10 vom Bildschirm gelesen (PEEK)). Ist dieser nicht 32 (also kein freies Feld) und kleiner als 185 (also kleiner als 9 (invers), was der Maximalwert eines Chemtrailfeldes ist) wird T um eines erhöht. Damit wird die Verstärkung von Chemtrailfelder erreicht, wenn diese Überflogen werden. Der Test gegen 32 verhindert, dass bestehende Chemtrailfelder einfach wieder mit einer Zufallszahl zwischen 1 und 6 belegt werden (was dazu führen würde das ChemTraiolFelder nie über 6 hinaus stabilisiert werden könnten).

3 IF K=126 THEN Y=Y-1:IF Y=-0 THEN Y=24
4 IF K=123 THEN X=X-1:IF X=-1 THEN X=39
5 IF K=119 THEN X=X+1:IF X=40 THEN X=0
6 IF K=125 THEN Y=Y+1:IF Y=25 THEN Y=1

Diese Zeile setzten die Joytsick-Position in die Bewegung des Flugzeugs um. Dabei wird auch  das Erscheinen des Flugzeugs auf der gegenüberliegenden Bildschirmseite umgesetzt, wenn dieses den Bildschirm verlässt.  

7 IF T=32 THEN T=176+INT(RND(1)*5):Q=Q+1:IF Q=W THEN PRINT CHR$(19);"WON!":END

Ist der Bildschirmwert an der Stelle des Spielers 32 so handelt es sich um ein leeres Feld. In diesem Fall geschehen folgende Dinge: 
Ein zufälliger Wert zwischen 0 und 6 wird für T berechnet (die Bildschirm-Werte für die inversen Zeichen der entsprechenden Zahlen)
Q, die Menge der belegten Felder, wird um eins erhöht.
Es wird überprüft, ob das Spiel damit gewonnen ist, also ob die geforderte Menge an zu befüllenden Felder erreicht wurde. Wenn dem so ist wird „WON“ ausgegeben und das Programm beendet.

8 POKE P,T:E=40+S+INT(RND(1)*A):V=PEEK(E)-1:IF PEEK(E)=32 THEN V=32

Zunächst wird der berechnete Chemtrailwert auf den Bildschirm an die aktuelle Position des Spieler geschrieben. In E wird dann eine zufällige Bildschirmposition ermittelt. An dieser Position soll nun das Chemtrailgas reduziert werden. Hierzu wird der Charakterwert an der entsprechenden Bildschirmposition ermittelt, um eins reduziert und in V gespeichert. Eigentlich enthält V nun den neu an diese Stelle zu schreibenden Wert. Abschießend wird aber nochmals die Stelle angeschaut. War dort bereits ein leeres Feld (PEEK(E)=32) dann war die Reduktion um 1 über das Ziel hinausgeschossen und V wird wieder auf 32 gesetzt.

9 K=PEEK(56320):U=U+1:IF PEEK(E)=176 THEN Q=Q-1:V=32

Hier wird zunächst die Joystickeingabe in K abgespeichert (zur Verwendung in Zeile 3-6). Dann wird U erhöht, was die Zeit für die Statusausgabe darstellt. Dann wird nochmals auf das Zeichen an der Position des zufällig gewählten Chemtrailfelds geschaut. Hat dieses den Wert 176, was bedeutet, dass es die inverse 0 ist, so war auch hier das Reduzieren um 1 (in Zeile 8) nicht sinnvoll, da in diesem Fall wieder ein freies Feld entstehen soll. Daher wird V auch in diesem Fall auch 32 (leeres Zeichen) gesetzt. Außerdem wir Q um eins reduziert, da sich die Menge der bereits mit Gas belegten Felder nun um eins Reduziert hat.

10 POKE E,V:POKE R,1:P=S+Y*40+X:T=PEEK(P):R=P+54272:POKE R,2:POKE P,90:GOTO 2
Nun wird V endlich an die Position des zufällig gewählten Chemtrailfelds geschrieben. Durch die vorangegangenen Berechnungen enthält V den um eins reduzierten Wert oder die 32 (für ein leeres Feld). Die Teile mit R (POKE R,1  R=P+54272  POKE R,2:) dienen zum Rotfärben des Flugzeugs. In T wird die neue Position des Spielers berechnet und diese mit POKE P,90 auf den Bildschirm gebracht. Zum Schluss erfolgt der Rücksprung in die Spielschleife.  
