Sie sind nicht angemeldet.

Dr Guru

Anfänger

Beiträge: 39

Registrierungsdatum: 21. September 2013

  • Nachricht senden

1

Samstag, 25. Januar 2020, 20:57

Hamurabi für Amiga (Kickpascal)

"Hamurabi" gilt als ein Urahn der Wirtschaftssimulationsspiele. Man übernimmt dabei für zehn Jahre die Rolle des sumerischen Königs, der bestimmt, wieviel Land gekauft wird, wieviel Weizen die Untertanen zu Essen bekommen und wieviel Weizen für die Aussaat bestimmt ist.

Das Spiel ist ursprünglich 1968 (!) in der Programmiersprache FOCAL für die PDP8 geschrieben worden. Größere Berühmtheit erlangte es dadurch, dass es in dem 1978 erschienen legendären Buch "BASIC Computer Games" als Listing zum Abtippen für Heimcomputer abgedruckt wurde.

Ich hatte vor zwei Jahren die Basic-Version mittels Free Pascal für Linux-PCs konvertiert. Jetzt habe ich mich daran gesetzt, die Free-Pascal-Version an Kickpascal für den Amiga anzupassen. Den Quellcode und das daraus für den Amiga compilierte Spiel findet ihr hier im Anhang. Das Spiel muss man über die Shell starten. Eingabe und Ausgabe finden auch ausschließlich über die Shell statt.

Ich wünsche viel Spaß beim Regieren von Sumer!

Anmerkungen:

- Der sumerische König (1810 - 1750 vor Chr.) wird eigentlich "Hammurabi" buchstabiert, doch das zweite "m" ist dem damaligen 8-Zeichen-Limit für Filenamen zum Opfer gefallen
- Ich habe das Spiel aus Spaß an der Freude portiert und habe mir nicht die Mühe gemacht, nachzusehen, ob es evtl. schon (z.B. in irgendeiner Public-Domain-Reihe) eine Version von Hamurabi für den Amiga gibt.
»Dr Guru« hat folgende Dateien angehängt:

Jochen

CEO & Abschnittsbevollmächtigter

Beiträge: 2 402

Registrierungsdatum: 1. Juni 2012

Wohnort: Nahe L

Beruf: Web-, Datenbank- und Kartenheini

  • Nachricht senden

2

Sonntag, 26. Januar 2020, 09:33

Ein Text-Spiel? ... uaaah! :wacko:

Dr Guru

Anfänger

Beiträge: 39

Registrierungsdatum: 21. September 2013

  • Nachricht senden

3

Sonntag, 26. Januar 2020, 10:59

Klar, ein Text-basiertes Spiel! Aber auch ein Zeitreisefenster, mit dem man einen Eindruck gewinnt, wie Computerspielen im Jahre 1968 (vier Jahre vor Pong) aussah.

(Außerdem gibt es auch Fans von Text-basierten Spielen. Schließlich hat die Firma Infocom in den 80ern Millionen mit reinen Text-Adventures gescheffelt (Zork etc.).)

CB1JCY

Hausmeister

Beiträge: 1 621

Registrierungsdatum: 23. Juni 2012

Wohnort: Dresden

  • Nachricht senden

4

Sonntag, 26. Januar 2020, 11:33

Das Spiel ist weniger interessant für mich.
Als Delphifan aber der Quelltext. Ist ja bei dem Programm nicht so viel.
Einziges "Meckerchen": Warum hast Du die Texte nicht gleich in die hier geläufigste Sprache übersetzt?
Vielen Dank für das Spiel. :thumbsup:
Chat im EUIRC (#amiga-dresden.de)

Dr Guru

Anfänger

Beiträge: 39

Registrierungsdatum: 21. September 2013

  • Nachricht senden

5

Sonntag, 26. Januar 2020, 12:23

Für den Fall, dass du mal versuchst, den Quelltext mit Delphi zu kompilieren, würde mich es interessieren, ob hier eine weitere Anpassung notwendig ist, damit es kompiliert.
Bei der Portierung von Free Pascal zu Kickpascal musste ich die folgenden Dinge anpassen:
- Ich hatte eine String-zu-Integer-Konvertierungsfunktion aus der Free-Pascal-Bibliothek verwendet. Diese habe ich durch die hauseigene Val-Prozedur ersetzt
- In Free Pascal werden Prozeduren ohne Parameter als "myProcedure()" bezeichnet, während, sie in Kickpascal als "myProcedure" (ohne leere Klammern) geschrieben werden
- Kickpascal scheint nicht die Anweisungen "break" und "continue" für die Handhabung von while- und repeat-Schleifen zu kennen; hier habe ich stattdessen, etwas umständlicher, mit Flags gearbeitet (Mismatchflag und Breakflag)

CB1JCY

Hausmeister

Beiträge: 1 621

Registrierungsdatum: 23. Juni 2012

Wohnort: Dresden

  • Nachricht senden

6

Sonntag, 26. Januar 2020, 13:19

Es gibt beim Delphi5 zwei Varianten:
Einmal das Visual-Pascal, wo man einfach Oberflächen und Elemente gestaltet und die Reaktionen als Prozeduren macht.
Und dann die Dos-Variante, so wie Du das gemacht hattest.
Vom Befehlsumfang sollte alles passen.
Chat im EUIRC (#amiga-dresden.de)

Dr Guru

Anfänger

Beiträge: 39

Registrierungsdatum: 21. September 2013

  • Nachricht senden

7

Freitag, 6. März 2020, 22:31

Ja, die zwei Varianten gibt es bei Free Pascal (z.B. unter Linux, Windows, MacOS oder aktuellem AmigaOS) auch. Der GUI-Builder nennt sich dort "Lazarus". Einfach ein paar Widgets per Drag-and-Drop ins Fenster schieben, Doppelklick auf das Widget, und man wird direkt im Code zu der Stelle geleitet, wo man die Aktionen für das Widget festlegen kann.

CB1JCY

Hausmeister

Beiträge: 1 621

Registrierungsdatum: 23. Juni 2012

Wohnort: Dresden

  • Nachricht senden

8

Samstag, 7. März 2020, 01:10

Mit Lazarus habe ich auch schn was gemacht. Geht auch ganz gut. Ich bin aber durch Delphi, was ich vorher kannte, etwas verwöhnt.
Chat im EUIRC (#amiga-dresden.de)