Core War

Wikipediasta
Siirry navigaatioon Siirry hakuun
0000:  ADD.AB  #   4, $   3
0001:  MOV.F   $   2, @   2
0002:  JMP.B   $  -2, $   0
0003:  DAT.F   #   0, #   0

Core War -ohjelma (Redcode ICWS-94 -koodia)

Core War (tai Core Wars) on kahden pelaajan tietokonepeli, jossa pelaajat tekevät pelin omalla ohjelmointikielellä tietokoneohjelman, jonka tarkoituksena on levittää ohjelmaa käytössä olevalle muistialueelle. Ohjelmat suorittavat yhden käskyn vuorollaan ja toisen tuhonnut ohjelma on voittaja.[1]

Pelin ohjelmat kirjoitetaan yksinkertaisella Redcode-nimisellä ohjelmointikielellä, joka muistuttaa varhaisten CISC-koneiden assemblyä. Redcode-ohjelmat suoritetaan MARS-nimisellä virtuaalikoneella (Memory Array Redcode Simulator). Kieli ei käytä rekistereitä vaan manipuloi muistiosoitteita. Siinä on vain suhteelliset hyppykäskyt. Osoitus tai hyppy muistin lopun ohi siirtyy muistiavaruuden alkuun. Käskyt vievät vakioajan. Erikoisuus on DAT-käsky (0-alkuinen). Jos ohjelma suorittaa tämän käskyn se pysähtyy ja vastustaja julistetaan voittajaksi. [2]

Core War -pelin ensimmäisen version kehittivät D. G. Jones ja A. K. Dewdney vuonna 1984 ja se perustui Victor Vyssotskyn ideoimaan Darwin-nimiseen peliin, jonka Douglas McIlroy toteutti Bell Labsissa IBM 7090 -tietokoneelle 1960-luvulla. Darwinista tehtiin versiot myös Z80 CP/M-järjestelmille ja Apple Macille.[3]

Core Warin sanotaan perustuvan tarinaan tietokonemadosta nimeltä Creeper, jota vastaan ohjelmoitiin itsekopioituva ohjelma nimeltä Reaper, joka tuhosi Creeperin kopiot ja sitten itsensä.[2]

Lähteet[muokkaa | muokkaa wikitekstiä]

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]