home *** CD-ROM | disk | FTP | other *** search
/ Syzygy Magazine 4 / Syzygy_Magazine_4_1998_08_07___pl_Disk_2_of_3_Side_B.atr / core.arc / COREWARS.DOC < prev    next >
Text File  |  1988-09-01  |  6KB  |  1 lines

  1. CORE WARS (Wojny rdzeniowe)¢Niniejszy opis jest fragmentem artyku u¢W. Zientary zawartego w numerze 6/91¢"Mojego Atari"¢¢1. Zasady¢¢W "Wojnach rdzeniowych" rozgrywka toczy¢si❎ mi❎dzy dwoma programami napisanymi¢przez  zawodnikw. Najciekawsz⇧ i  naj-¢trudniejsz⇧  faz⇧  gry  jest  u oəenie¢programu, ktry b❎dzie w stanie pokona⇨¢program  przeciwnika. Po  wprowadzeniu¢do pami❎ci programw zostaje juə tylko¢obserwacja tocz⇧cej si❎ bitwy i oczeki-¢wanie na zwyci❎stwo jednego  z  graczy.¢ Polem  walki  jest  obszar  pami❎ci¢zamkni❎ty w p❎tl❎ bez  koca.  przekro-¢czenie przez jeden z programw koca¢tego obszaru powoduje pojawienie si❎ go¢ na pocz⇧tku i odwrotnie.¢Walcz⇧ce  programy s⇧ umieszczone loso-¢wo w pami❎ci komputera i na przemian¢wykonywane. Podczas wykonywania progra-¢my mog⇧ przemieszcza⇨ si❎ w pami❎ci i¢dzieli⇨. Je③li w przypadaj⇧cej na niego¢ kolejno③ci  program  nie  moəe  by⇨¢prawid owo  wykonany,  to  zostaje¢zniszczony.Gracz, ktry straci  wszy-¢stkie programy przegrywa.¢Programy  wojenne s⇧ napisane w specja-¢lnym  j❎zyku  zwanym "Redcode". Do ich¢tworzenia moəna  wykorzysta⇨  dowolny¢edytor tekstowy(np. Panther).  Program¢wojenny  musi by⇨ zapisany w postaci¢pliku na  dysku, sk⇧d jest odczytywany¢przez gr❎.¢¢2.REDCODE¢¢J❎zyk  Redcode  zosta  w  wersji  dla¢naszego komputerka  nieco  uproszczony,¢w  stosunku do  standartu, co zosta o¢wymuszone  niewielk⇧  ilo③ci⇧  pami❎ci.¢J❎zyk ten zawiera 10 rozkazw:¢¢DAT - rozkaz zawieraj⇧cy wy ⇧cznie dane¢i niemoəliwy do wykonania(prba taka¢niszczy program);¢¢MOV - przepisz zawarto③⇨ komrki A do¢komrki B, a je③li A jest dan⇧ to¢utwrz w komrce B rozkaz DAT;¢¢ADD - dodaj argumenty A i B a wynik¢umie③⇨ w komrce B;¢¢SUB - odejmij argumenty A i B, a wynik¢umie③⇨ w komrce B;¢¢JMP - skocz do komrki okre③lonej przez¢argument;¢¢JMZ - skocz do komrki okre③lonej przez¢argument A, gdy zawarto③⇨ komrki B¢jest rwna zero;¢¢JMN - skocz do komrki okre③lonej przez¢argument A, gdy zawarto③⇨ komrki B¢jest rəna od zera;¢¢DJN - zmniejsz o jeden argument B i¢skocz do komrki okre③lonej przez¢argument A, gdy wynik jest roəny od¢zera;¢¢CMP - porwnaj zawarto③ci A i B, a¢je③li s⇧ rəne to opu③⇨(przeskocz)¢nast❎pny rozkaz¢¢SPL - podziel si❎ na cz❎③ci: jedn⇧¢wykonywan⇧ od nast❎pnego rozkazu i¢drug⇧ wykonywan⇧ od rozkazu wskazanego¢przez argument.¢¢Argumentami rozkazw mog⇧ by⇨ wy ⇧cznie¢liczby okre③laj⇧ce dane i adresy.¢Adresy  s⇧  podawane  wzgl❎dnie, czyli¢licz⇧c  od  rozkazu, ktry zawiera dany¢adres. Dane  czyli  liczby  uəywane¢bezpo③rednio, a nie jako adresy oznacza¢si❎ znakiem "#". Np.:¢¢MOV 10 20¢¢oznacza  przepisanie zawarto③ci komrki¢odleg ej  od  tego  rozkazu  o 10  do¢komrki, ktrej  adres  znajduje si❎ w¢komrce odleg ej o 20, a¢¢MOV #10 20¢¢oznacza  umieszczenie w komrce, ktrej¢adres  jest  odleg y o 20,  liczby 10.¢Ponadto dopuszczane jest stosowanie w¢argumentach znakw "<", ">", "@".¢Oznaczaj⇧ one  dodanie  do warto③ci¢argumentu  pobranego  ze  wskazanej¢komrki odpowiednio warto③ci -1, 1 lub¢0. Rozkaz:¢¢MOV 10<20¢¢oznacza przepisanie zawarto③ci komrki¢odleg ej  o  10  do komrki, ktrej¢aderesem jest zmniejszona o 1 zawarto③⇨¢komrki odleg ej o 20.¢W odrənieniu od innych wersji REDCODE,¢na Atarce nie moəna stosowa⇨ etykiet i¢wszystkie  adresy i  dane  musz⇧ by⇨¢podawane bezpo③rednio liczbami. Of coz¢uəycie  liczby  ujemnej  nakazuje¢odliczanie wstecz od rozkazu, ktry j⇧¢zawiera.¢¢3. GRA¢¢Dzia anie  programw  wojennych¢nadzorowane jest przez program o nazwie¢MARS( Memory Array Redcode Simulator ).¢Program, ktrego listing znajduje si❎ w¢w/w  pi③mie. Powinien   by⇨  rozpowsze-¢chniany z niniejszym plikiem.¢¢W celu rozpocz❎cia gry naleəy uruchomi⇨¢program  MARS. Nast❎pnie  podaje si❎¢nazwy  plikw  zawieraj⇧cych  wybrane¢programy wojenne. Zostan⇧ one odczytane¢i rozpoczn⇧  walk❎. Batalia  toczy si❎,¢aə do skutku , czyli  do  momentu, gdy¢jeden z programw  zostanie  ca kowicie¢zniszczony. Jeəeli trzeba przerwa⇨ gr❎¢, wystarczy nacisn⇧⇨ BREAK.¢¢Program  przystosowany jest  do  wsp -¢pracy  zarwno  ze s tacj⇧ dyskw jak i¢ magnetem. Aby za adowa⇨ jaki③ program¢trzeba  poda⇨ s pecyfikacj❎  oraz  w¢przypadku  stacji  oczywi③cie  nazw❎¢programu wojennego.¢¢4 PROGRAMY WOJENNE¢¢Poniewaə  napisanie  w asnego progu¢wojennego moəe sprawi⇧⇨ pewne trudno③ci¢to do pakietu  powinne by⇨  do ⇧czone¢przyk adowe  programy  wojenne(*.CW):¢¢SKOCZEK -  sk ada si❎ tylko z jednego¢rozkazu.  Kopiuje on samego siebie do¢nast❎pnej komrki pami❎ci i w ten¢sposb systematycznie "zadeptuje" jej¢zawarto③⇨;¢¢BLI`NIAKI - w❎druj⇧ po pami❎ci kopiuj⇧c¢si❎ do obszaru po oəonego o 100 komrek¢dalej;¢¢KARZE{ - prbuje "upolowa⇨" przeciwnika¢strzelaj⇧c w co 5 komrk❎ pami❎ci;¢¢ZMIENIACZ - trudny przciwnik, ktry¢dzieli si❎ podczas walki na cz❎③ci o¢odmiennym dzia aniu¢¢KOPIER - dzieli si❎ na cz❎③ci, ktre¢rozrzucane s⇧ po ca ym obszrze pami❎ci;¢¢ROBAK - gro♪ny, cho⇨ powolny przciwnik.¢Posuwa si❎ on powoli do przodu¢kontroluj⇧c przy tym swj "ogon",¢dzi❎ki czemu unika "zdeptania" od ty u.¢¢SKOCZEK ZBROJNY - odmiana Skoczka,¢ktra dzieli si❎ co 200 kolejek tworz⇧c¢nowego Skoczka.¢¢BLI`NIAKI ZBROJNE - analogicznie jak¢Skoczek zbrojny ale efektem podzia u s⇧¢rosn⇧ce zast❎py Bli♪niakw.¢¢5 ROZKAZY REDCODE(zestawienie)¢¢symbol rozkaz argumenty operacja¢------ ------ --------- --------¢  0     DAT     A       dane¢  1     MOV     A B     przepisz¢  2     ADD     A B     dodaj¢  3     SUB     A B     odejmij¢  4     JMP     A       skocz¢  5     JMZ     A B     skocz gdy 0¢  6     JMN     A B     skocz gdy nie 0¢  7     DJN     A B     zmniejsz i¢                        skocz gdy nie 0¢  8     CMP     A B     porwnaj¢  9     SPL     A       podziel si❎¢¢¢¢                     Wklepa : McMaster¢                             ----------¢