A. K. Dewdney‘s Core War (CW, „Krieg der Kerne“)
description
Transcript of A. K. Dewdney‘s Core War (CW, „Krieg der Kerne“)
Helmut Witten 02/03
A. K. Dewdney‘s Core WarA. K. Dewdney‘s Core War(CW, „Krieg der Kerne“)(CW, „Krieg der Kerne“)
Core War wurde Anfang der 80er Jahre von A. K. Dewdney ent-
wickelt und in mehreren Artikeln im Scientific American (dt.:
Spektrum der Wissenschaft) vorgestellt.
Helmut Witten 02/03
A. K. Dewdney‘s Core WarA. K. Dewdney‘s Core WarThe name of the game (Teil 1)The name of the game (Teil 1)
• Beim Krieg der Kerne bekämpfen sich zwei (oder mehr) Programme innerhalb des Computerspei-chers, der – in Anlehnung an eine veraltete Spei-chertechnologie – „Kernspeicher“ genannt wird.
• Die Programme sind in einer stark vereinfachten assemblerartigen Sprache geschrieben: Dem „Redcode“ (= reduzierter Code).
• Die „Arena“ des Kampfes bildet ein Speicherfeld von meist 8000 Adressen, das ringförmig geschlossen ist.
Helmut Witten 02/03
A. K. Dewdney‘s Core WarA. K. Dewdney‘s Core WarThe name of the game (Teil 2)The name of the game (Teil 2)
• Als Organisator und Schiedsrichter des Kampfes wirkt MARS – ein Akronym für Memory Array Redcode Simulator.
• Zwei Programme werden zufällig auf das Spielfeld geladen, keines weiß, wo das andere sitzt.
• Bei der Ausführung wechseln sich die Programme Anweisung für Anweisung ab.
Helmut Witten 02/03
A. K. Dewdney‘s Core WarA. K. Dewdney‘s Core WarThe name of the game (Teil 3)The name of the game (Teil 3)
• Alle Zellen des Speicherfeldes (auch die, in denen sich das Programm momentan befindet) können von den beteiligten Programmen überschrieben werden.
• Ein Programm „stirbt“, wenn es versucht, eine DAT-Anweisung auszuführen.
• Gewinner ist, wer innerhalb einer vorgegeben Rundenzahl (meist 30.000) alle anderen gegnerischen Programm terminiert hat, sonst endet das Spiel unentschieden.
Helmut Witten 02/03
A. K. Dewdney‘s Core WarA. K. Dewdney‘s Core WarDas einfachste ProgrammDas einfachste Programm
• In der ursprünglichen Version verfügte Redcode nur über insgesamt 10 Befehle (ICWS’88).
• Jeder Befehl hat ein bis zwei Operanden.
• Der einfachste „Kämpfer“ namens „Knirps“ besteht aus einer einzigen Anweisung:
MOV 0 1
Helmut Witten 02/03
A. K. Dewdney‘s Core WarA. K. Dewdney‘s Core WarEin gemeiner Gnom (Teil 1)Ein gemeiner Gnom (Teil 1)
• Da Knirps nur ein unentschieden erreichen kann wird ein agressiverer Kämpfer gesucht: Der Gnom (Dwarf)!
DAT -1ADD #5 -1MOV #0 @-2JMP -2
Helmut Witten 02/03
A. K. Dewdney‘s Core WarA. K. Dewdney‘s Core WarEin gemeiner Gnom (Teil 2)Ein gemeiner Gnom (Teil 2)
• Die ersten fünf Befehlszyklen von Gnom:
Helmut Witten 02/03
A. K. Dewdney‘s Core WarA. K. Dewdney‘s Core War Quellen zu CW Quellen zu CW
• Eine Kurzbeschreibung von CW in deutscher Sprache findet man unterhttp://www.principia-natura.de/corewar.html
• Die offizielle Website von Core War(koth = "King of the Hill") http://www.koth.org/
• Linkliste zu Core War auf dmoz.org http://dmoz.org/Games/Video_Games/Simulation/Programming_Games/Core_War/
Helmut Witten 02/03
A. K. Dewdney‘s Core WarA. K. Dewdney‘s Core WarZum SchlussZum Schluss
Are you man enough for Core
War???