Core Wars

From Atariki

Jump to: navigation, search

Grafika:sdx-corewars.png

Napisana w 2009 roku przez bobera implementacja Wojen rdzeniowych dla ośmiobitowego Atari. Program obsługuje nieoficjalny standard języka RedCode ICWS-88. Cała zabawa polega na napisaniu programu-wojownika, który zniszczy każdego przeciwnika. Zwycięstwo następuje w momencie wykonania przez ostatni aktywny wątek wroga rozkazu DAT.

Na dyskietce dystrybucyjnej znajduje się kompilator kodu RedCode (RC.COM), program uruchamiający MARS (MARS.COM), trzysta programów-wojowników w postaci źrodłowej (*.RED) i skompilowanej (*.CRE), oraz dokumentacja w postaci plików tekstowych *.MAN przeznaczonych dla przeglądarki "manuali" w SpartaDOS X 4.4x:

  • COREWARS.MAN - opis pakietu jako całości,
  • MARS.MAN - opis programu uruchamiającego,
  • RC.MAN - opis kompilatora,
  • REDCODE.MAN - pełny opis języka RedCode w wersji ICWS-88.

Ta implementacja ma następujące ograniczenia:

  • rozmiar rdzenia (pamięci) to zawsze 4096 komórek,
  • cała walka trwa 32 rundy,
  • jedna runda to 8192 kroki (dwukrotne wypełnienie całego rdzenia przez program 'IMP'),
  • każdy wojownik w danej chwili może mieć najwyżej 128 wątków.

Całość działa tylko pod SpartaDOS X. Program nie korzysta z rozszerzonej pamięci. W wersji 4.2x przy wysokim MEMLO (około $2000 i wyżej) oraz niektórych typach rozszerzenia pamięci mogą się pojawić śmieci na ekranie. W wersjach 4.4x ten problem nie występuje.

Skrócona instrukcja obsługi

  • Piszemy własnego wojownika. Zapisujemy go w pliku WOJOWNIK.RED,
  • Kompilujemy go pisząc polecenie: RC WOJOWNIK.RED WOJOWNIK.CRE,
  • Jeśli nie było błędów kompilacji, możemy startować walkę: MARS WOJOWNIK.CRE WROG.CRE.

Można też uruchomić MARSa w trybie debug - z jednym wojownikiem. Jest to pomocne podczas testowania własnego zawodnika. Aby uruchomić grę w tym trybie należy podać tylko jeden program: MARS WOJOWNIK.CRE.

Download


Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.

Personal tools