BASIC Tenliners Contest 2015

1, 2, 3

Re: BASIC Tenliners Contest 2015

von Bunsen » Fr 20. Feb 2015, 20:50
Man beachte auch die Wettbewerbsseite:
http://gkanold.wix.com/homeputerium#!10liners/c15hi

Re: BASIC Tenliners Contest 2015

von Bunsen » Fr 27. Feb 2015, 00:21
Da ihr mich nicht so beschäftigt habt wie letztes Jahr (erinnert ihr euch, wie mir die Emoticons ausgingen?), kam ich auch selbst zum Programmieren.

Mein Ergebnis ist im weitesten Sinne ein Pac-Man-Klon.

Der kleine Held hat einen riesigen Hunger nach seinen nächtlichen Streifzügen. Zum Glück findet er massig herumliegende Donuts, die er sogleich mit einem lauten "DRRRKKKKRRRRRTTTT" verdrückt. Er muss sich aber beeilen, sein Blutzuckerspiegel sinkt bedrohlich, wenn er sich nicht bewegt und nichts isst. Gemeinerweise befinden sich viele Schlaglöcher auf der Straße, in die er nicht hineinfallen darf.

F*ckman wird mit dem Joystick im linken Joystickport gesteuert.

Re: BASIC Tenliners Contest 2015

von VD_Tonic » Fr 27. Feb 2015, 18:23
Hmm. Dumme Frage für Neulinge. Wie umfangreich soll die Programmbeschreibung sein?

Re: BASIC Tenliners Contest 2015

von dl7ukk » Fr 27. Feb 2015, 19:16
gut gemacht Bunsen :!::!:

Und nicht zu leicht.

Re: BASIC Tenliners Contest 2015

von Bunsen » Fr 27. Feb 2015, 21:17
Danke, dl7ukk :D

VD_Tonic: Kann von einem Satz bis zu einer Seite reichen. Eine ausführliche Erklärung des Quellcodes wäre willkommen, ist aber kein Muss.

Re: BASIC Tenliners Contest 2015

von Bunsen » Mo 2. Mär 2015, 22:57
Beitrag/Entry #13: Bounce
Platform: Amstrad/Schneider CPC
Author: "EgoTrip"
Language: Locomotive BASIC
Category: EXTREM

Beitrag/Entry #14: Stay Alive
Platform: Commodore 64
Author: "The Joker"
Language: Commodore BASIC V2
Category: PUR

Beitrag/Entry #15: F*ck-Man
Platform: Atari
Author: Gunnar "Bunsen" Kanold
Language: Turbo Basic XL
Category: PUR

Beitrag/Entry #16: Pear Picker on Ice
Platform: Commodore 64
Author: Davide "Naufr4g0" Fichera
Language: Commodore BASIC V2
Category: PUR
pear_picker.pngpear_picker.png
fckman_s1.pngfckman_s1.png
stay-alive.pngstay-alive.png
bounce_s1.pngbounce_s1.png

Re: BASIC Tenliners Contest 2015

von Bunsen » Do 5. Mär 2015, 21:32
Beitrag/Entry #17: Broad's Revenge
Platform: Atari
Author: Frantisek "Fandal" Houra
and Christian "Irgendwer" Krüger
Language: Turbo BASIC XL
Category: EXTREM
BR_s2.pngBR_s2.png

Re: BASIC Tenliners Contest 2015

von Sleepy » Fr 6. Mär 2015, 07:59
Boh ey... :flipando:

Sleepy

Re: BASIC Tenliners Contest 2015

von kfischer » Fr 6. Mär 2015, 11:24
Bunsen hat geschrieben:Beitrag/Entry #17: Broad's Revenge


Grafisch der absolute Hammer! Und das nur mit 10 Zeilen :shock:

Re: BASIC Tenliners Contest 2015

von Sleepy » Fr 6. Mär 2015, 11:32
Das Programm dürfte zwar 15-20 "echten" BASIC-Zeilen entsprechen, aber selbst dann ist es noch unglaublich was die Programmierer da rauskitzeln... :notworthy:

Sleepy

Re: BASIC Tenliners Contest 2015

von Bunsen » Mo 9. Mär 2015, 22:12
Beitrag/Entry #18: can-MaP
Platform: Commodore 64
Author: Fredric QJ "e5frog" Blåholtz
Language: Commodore BASIC V2
Category: EXTREM


Beitrag/Entry #19: Magic Cards
Platform: Atari
Author: Abel "ascrsoft" Carrasco
Language: Turbo BASIC XL
Category: PUR


Beitrag/Entry #20: Apple Max
Platform: Atari
Author: Cliff Hatch
Language: Turbo BASIC XL
Category: PUR
apple_max_s2.pngapple_max_s2.png
magic_cards_s2.pngmagic_cards_s2.png
Screen_can-MaP.pngScreen_can-MaP.png

Re: BASIC Tenliners Contest 2015

von Rockford » Mo 9. Mär 2015, 22:39
Sleepy hat geschrieben:@Rockford: Das hattest Du jetzt aber schon in der Schublade, oder?!? :wink:

Sleeπ


Nö. Hab ich auf der Fuji geschrieben und Gunnar dann direkt dort auf Diskette gaaanz Oldschoolmässig überreicht.

:mrgreen:

Re: BASIC Tenliners Contest 2015

von Bunsen » Do 26. Mär 2015, 17:28
Beitrag/Entry #21: Air-Threat

Platform: Atari

Author: Bostjan "Gury" Gorisek

Language: Turbo BASIC XL

Category: PUR


Beitrag/Entry #22: Olympics 6502

Platform: Atari

Author: German "devwebcl" Gonzalez-Morris

Language: Turbo BASIC XL

Category: PUR


Beitrag/Entry #23: Schifoan

Platform: Commodore 64

Author: "Hexworx"

Language: Commodore BASIC V2

Category: PUR


Beitrag/Entry #24: Mini Break

Platform: Atari

Author: Bill Kendrick

Language: Turbo Basic XL

Category:PUR


Beitrag/Entry #25: Cemetry Chase

Platform: Atari

Author: Yoda Zhang

Language: Turbo Basic XL

Category: PUR


Beitrag/Entry #26: Ringtoss

Platform: Atari

Author: Bill Kendrick

Language: Turbo Basic XL

Category:PUR

Re: BASIC Tenliners Contest 2015

von 8bitjunkie » Do 26. Mär 2015, 20:52
OMG - ich bin beeindruckt! :notworthy:

Re: BASIC Tenliners Contest 2015

von slx » Sa 28. Mär 2015, 18:14
Gibt's für die "Extrem"-Kategorie eigentlich ein Tool, um mehr Befehle in eine Zeile zu stopfen, oder muss man das von Hand machen? Theoretisch hätte ich ja mal gewusst, wie das geht, aber praktisch ist das schon dreissig Jahre her.... :roll:

10-lines leichter gemacht

von slx » Do 2. Apr 2015, 03:36
Vorige Woche habe ich angefangen, mit meinen Söhnen einen Beitrag für den Tenliners-Contest zu programmieren. Natürlich war es lustig, mit vielen Abkürzungen möglichst viel in eine Zeile zu stopfen, aber danach extrem lästig, was daran zu ändern.

Daher habe ich ein kleines Utility geschrieben um mir das "Tenlinern" zu erleichtern. Aus "kann ja nicht so schwer sein" wurden gleich ein paar Tage, da ich es doch geschafft habe, mich mit Pointern, Offsets und Werten mehrmals gründlich zu verirren.

Mein "Slow and Dirty"-Utility SLXpress fragt nach Eingabe- und Ausgabedatei und lädt zunächst den BASIC-Programmheader, um die Dateigröße herauszufinden. Dann DIMt es einen String entsprechender Größe und lädt das ganze Programm mit einem CIO block load.

Danach scannt es das Programm Zeile für Zeile und wenn immer es eine ungerade Zeile nach einer geraden Zeile findet, versucht es die ungerade Zeile an die gerade anzuhängen. Das funktioniert auch für mehrere ungerade Zeilen (also zB 10,11,13,15,17), so lange die resultierende logische Zeile weniger als 256 bytes hat.

(Den Versuch, das Programm mit sich selbst in einen Ten-Liner zu verwandeln habe ich rasch wieder aufgegeben, da ich dazu die vielen GOTOs hätte ersetzen müssen.)

Während das Programm läuft werden die Zeilenanzahl, die Zeilennummer und die Länge der resultierenden Zeilen angezeigt. Wenn eine Zeile mehr als 256 byte hätte, wird die ungerade Zeile nicht angehängt und das Program sucht die nächste gerade Zeile.

Zwei Zeilen zu kombinieren spart 3 bytes (für den Header der zweiten Zeile).

Ich habe das ganze grob getestet, übernehme aber natürlich keine Verantwortung für die Resultate - es sei denn, das Resultat ist ein Siegerbeitrag beim Contest, dann möchte ich bei den Interviews nach der Siegerehrung lobend erwähnt werden ;-)

Insgesamt war das ganze eher eine lahme Entschuldigung, mit einem jenseits meiner Programmierkenntnisse ausgedachten 10-liners-Projekt ein wenig zu pausieren, aber natürlich sage ich jetzt lieber, dass es die Wahl zwischen "Pur" und "Extrem" demokratisiert und von einer Frage der Kenntnisse zu einer reinen Stilfrage macht :mrgreen:

Notizen vom Programmieren:

Es ist toll, dass es am Atari für fast alles gute Dokumentation gibt. Atari BASIC source code hatte ich schon als Teenager gelesen, bin aber jetzt draufgekommen, dass die Beschreibung nicht ganz stimmt. Laut Buch sollte am Ende jeder BASIC-Zeile ein "end of statement" und ein "end of line"-Token kommen. Tatsächlich - und auch nicht unlogisch - ist es aber nur der "end of line" token.

Außerdem scheint der Offset für die erste Zeile im File nicht "Ende des Headers + DST" sondern "Anfang des zweiten Teils + DST" zu sein, was ich im Buch auch nicht so lese. War aber mit Ausprobieren leicht herauszufinden.

Zuerst habe ich probiert, das mit GET/PUT und zwei offenen Files zu lösen, aber da braucht man mindestens eine Zeilenlänge Puffer, weil die Zeilenlänge in Byte 3 erst nach Bearbeitung der ganzen Zeile feststeht. Es müsste noch schneller gehen, wenn man statt ASC/CHR$ PEEK/POKE in den String verwendet, aber für die Tenliners wird Speed wohl kein Problem sein.

Viel Spaß damit!

Re: BASIC Tenliners Contest 2015

von u0679 » So 5. Apr 2015, 11:35
@bunsen, stellst Du die Beiträge wieder kurz live vor auf der NOMAM?

Re: BASIC Tenliners Contest 2015

von Bunsen » So 5. Apr 2015, 16:02
u0679 hat geschrieben:@bunsen, stellst Du die Beiträge wieder kurz live vor auf der NOMAM?


Damit Arcadestation zu seinem Schönheitsschlaf kommt? :lol:

Extrem schwierig. Es sind schon wieder 35 Beiträge... Die 40 vom letzten Jahr werden wir wohl noch knacken. Auf der Wettbewerbsseite gibt es alle Beiträge zum Download. Wäre cool, wenn ihr euch schon vorher damit beschäftigen könntet.

Das Voting soll dieses Jahr wieder etwas anders vonstatten gehen. Die Spiele sollen mit 1 bis 10 Punkten bewertet werden (wie beim ASC), jedoch wird keine Gesamtsumme gebildet, sondern ein Mittelwert. Das hat den Vorteil, dass man nicht alle Beiträge bewerten muss ( z. B. die, die man nicht genau untersucht hat).

Re: BASIC Tenliners Contest 2015

von Bunsen » So 5. Apr 2015, 16:08
@slx:

faszinierend!
Wenn man sich von Anfang an bemüht, strukturiert zu programmieren (ja, das geht auch in 10 Zeilen!), dann kann man mit deinem Programm arbeiten. :D

Re: BASIC Tenliners Contest 2015

von slx » So 5. Apr 2015, 19:39
Bunsen hat geschrieben:@slx:

faszinierend!
Wenn man sich von Anfang an bemüht, strukturiert zu programmieren (ja, das geht auch in 10 Zeilen!), dann kann man mit deinem Programm arbeiten. :D


Ich probiere das gerade selbst aus. Mit Basic XL/XE/Turbo Basic XL mit WHILE geht das wirklich nett. Man kann sogar mit einem Befehl pro Zeile programmieren, damit es übersichtlicher wird. Dem Programm ist egal, wieviele Zeilen es zusammenhängt.
1, 2, 3