| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: Core War im Forum Code Kitchen, in der Kategorie Software Home; Ich weiß eigentlich gar nichtmal ob das das richtige Forum ist aber es ist diesem wohl am ehesten zuzuordnen. Sollte ...
![]() |
|
|
#1 (permalink) |
|
Ich weiß eigentlich gar nichtmal ob das das richtige Forum ist aber es ist diesem wohl am ehesten zuzuordnen. Sollte ein Mod/Admin es besser wissen entschuldige ich den Threadschiebaufwand. Vielleicht (aber wahrscheinlich eher nicht) knnt hier jemand "Core War" Das ist beileibe alles andere als ein gewöhnliches Spiel da es auf assamblerartigen Programmen beruht und gegen einen fähigen Gegner sehr spannend ist. Auf Wikipedia gibt es wie nahezu immer die wichtigsten Informationen. Hier ! ist der Link dazu. Bei Core War wird nahezu immer mit der Programmiersprache Redcode gearbeitet, wobei diese eigenltich nichts weiter als eine simple Assemblerartige Mini-Sprache ist mit nicht mehr als 19 Befehlen. Das Spiel fängt damit an das beide Kontrahenten ein Programm damit schreiben dessen Ziel es ist den gesamten Speicher zu füllen, den "Kern". Das Programm das über das andere dominiert und es schafft alleine im Speicher zu bleiben hat gewonnen. Klingt einfach, ist es auch, die Herausforderung liegt darin ein Programm zu schreiben das erstens diese Aufgabe schnell erfüllt und zweitens so wenig anfällig wie möglich auf gegnerische Angriffe oder "Fehler" ist. Fehler sind hierbei wenn sich Programmteile vermischen was ohne weiters passieren kann. Das Pogramm darf natürlich auch nicht zulang sein da es ansonsten sehr fehleranfällig ist. Das so ziemlich simpelste Programm besteht aus nur einer Zeile und heißt "Imp": MOV 0, 1 Zweck dieses Programms ist es ganz einfach sich immer wieder in den nächsten Slot des Kerns zu kopieren. Dann wird der nächste Slot ausgeführt und somit schreibt sich das Programm weiter und weiter ... Simpel und ziemlich effektiv. Aber es hat auch Nachteile, naja, ich will jetzt nicht zu sehr ausschweifen. Was haltet ihr von dem Spiel ? Nebenbei könnt ihr Hier ! näheres zu Redcode erfahren und Hier ! noch mehr zu Core Wars, unter anderem eine Art "Emulator" des Ur-Mars-Rechners der früher für Core Wars verwendet wurde.
|
|
|
|
|
|
|
#2 (permalink) |
|
Registriert seit: 02.04.05
![]() ![]() ![]() ![]() |
Ich kannte das spiel noch gar nicht. Aber ich muss sagen ich bin schon süchtig
![]() Hier mein erster Warrior. CoreSentry ![]() Naja ist zwar ziemlich einfach zu besiegen. (Der Hauptcode bleibt an einer Stelle und erzerstört sich elber nach einiger zeit)), aber er durchsetzt den Kern doch ganz schön mit DATs. Code:
;redcode ;name CoreSentry ;version 0.1 ;author +++ATH0 ;date 2005-Nov-09 ;strategy kill_the_opponent JMP +2 DAT #1000 MOV -1, @-1 SUB +5, -2 JMN -2, -3 SUB #1, -4 SUB #3, +2 JMP -5 DAT #10 http://harald.ist.org/ares/ Bei 10 Battles : (Man beachte Punktevergabe) CoreSentry vs. IMP = 18 : 6 ![]() CoreSentry vs. littleFighter = 12 : 18 ![]() CoreSentry vs. Dwarf = 18 : 12 ![]() CoreSentry vs. Seeds Of Terror = 19 :10 ![]() CoreSentry vs. LittleSeeder2 = 17:11 Schreibt mal euers. Ich lass es battlen ![]() EDIT: Neuer Warrior ![]() Er heisst CloneBeholder ![]() Code:
;redcode
;name CloneBeholder
;version 0.2
;author +++ATH0
;date 2005-Nov-10
;strategy Clone And Overwhelm
ORG Start
JMP -2
Data DAT #1000
ADD #-1, +1
Start
MOV #1337, -5
MOV -2, @-3
ADD #1, Data
MOV -3, @-5
ADD #1, Data
MOV -8, @-7
SPL @Data
ADD #100, Data
JMP -7
|
|
|
|
|
|
#3 (permalink) |
| Themenstarter |
Schön das das Spiel dir gefällt
Dann lass deinen Warrior mal hiergegen antreten : Code:
;redcode-b
;name Crazy Engine
;author Orniflyer
inc DAT <-2936,<-2936
loop1 MOV splb,*2
MOV jmpb,@1
MOV -2938,*-2936
ADD.F inc,-1
DJN loop1,#999
splb SPL 0,<-3
MOV inc,<1
jmpb JMP -1,<-3
END loop1
![]()
|
|
|
|
|
|
#4 (permalink) |
|
Registriert seit: 02.04.05
![]() ![]() ![]() ![]() |
Ergebnisse:
1. Crazy Engine : 36 2. Clone Avenger : 30 //Schade. Aber er wird noch verbessert ![]() 3. Core Sentry : 24 Starker Warrior.
|
|
|
|
|
|
#5 (permalink) |
| Themenstarter |
Bomber/Core Cleaner sind immer ziemlich stark
![]() Aber deiner ist auch verdammt gut, hat mich echt überrascht, meine ersten Warriors waren ziemlich bedürftig. Hat ne ziemliche Weile gedauert bis ich mich vom Imp Muster gelöst hab Momentan will ich nen effizienten Core Cleaner bauen aber so richtig will's mir nicht gelingen. Hier ist der Code für nen Warrior von nem Freund, ich bin völlig unterlegen, wie zur Hölle besiegt man den ?!? Dumme Replikatoren ![]() Code:
;redcode-94
;name Chillie
;author Yoshi
;strategy replicator
start spl 1, <300
spl 1, <150
mov -1, 0
silk spl 3620, #0
mov.i >-1, }-1
mov.i bomb, >2005
mov.i bomb, }2042
add.a #50, silk
jmp silk, <silk
bomb dat.f >2667, >5334
![]() /edit: Hier noch ein anderer Warrior, extrem schnell und einfach aufgebaut, ein rückwärtslaufender Stone Imp. Man kann nur immer wieder staunen wie diese Imps auch die komplexesten Warrior zu Grunde richten: Code:
;redcode
;name Stonefinger
;author Orniflyer+Yoshi
;strategy fast stone imp
m0 mov mm ,{mm
djn.a -1 ,mm
spl #0 ,<-5
mm mov -7 ,1
|
|
|
|
|
|
#6 (permalink) |
|
Registriert seit: 02.04.05
![]() ![]() ![]() ![]() |
Heftiges Ding
![]() Ranking /Score : 1. Chillie : 85 2. Crazy Engine: 65 3. Clone Beholder: 49 4. Stome Finger: 37 5. Core Sentry: 33 Aber echt geiles Spiel. Gibts schon so lange und noch nie wat von gehört. Danke für den Hinweis btw. ![]() EDIT: Detaillierte Ranking Tabelle. Im Anhang. Welchen MARS nimmst du eigentlich? pMarsV ? |
|
|
|
|
|
#7 (permalink) |
|
Moderator
![]() Registriert seit: 20.07.05
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
was ganz einfaches von mir
Code:
;redcode ;redcode ;name <NEW_WARRIOR> ;version 1 ;author cdw ;date 2005-Nov-11 ;strategy kill_the_opponent add #6,5 sub #7,5 mov 3,@3 mov 3,@3 jmp -4 one dat #0,#1600 two dat #0,#-2600 ![]() NEW_Warrios: Wins 7, losts 3,kills 7, Score 21 EDIT: Das kriegt zwar Chillie nicht tot Code:
;redcode ;name <NEW_WARRIOR> ;version 1 ;author anonymous ;date 2005-Nov-11 ;strategy kill_the_opponent add #3,5 sub #3,5 mov 3,@3 mov 3,@3 jmp -4 one dat #0,#1600 two dat #0,#-2600
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
|
|
|
|
|
#8 (permalink) |
|
Registriert seit: 02.04.05
![]() ![]() ![]() ![]() |
Also ich glaube ja die Suche nach einem Warrior, der die Crazy Engine UND Chillie besiegt, ist wie die Suche nach dem heiligen Gral.
![]() (Jetz weiss ich warum, SG1 aus StarGate immer soviele Probs mit den Replikatoren hatten )Also ich krieg die Reps ums verrecken nicht tot. Sowas ist ja echt mal dreist. ![]() Naja, ich hab alle Warriors (ausser diesen IMP) mal durchn Tournament geschickt: |
|
|
|
|
|
#9 (permalink) |
|
Moderator
![]() Registriert seit: 20.07.05
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
@ATH0: aber was für ein Unterschied schon durch das bloße anpassen der Zahl da ist (zumindest bei mir ersichtlich
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
|
|
|
|
|
#10 (permalink) |
|
Registriert seit: 02.04.05
![]() ![]() ![]() ![]() |
Wie wärs mit dem hier? Kennst du den schon?
http://vyznev.net/corewar/guide.html Aber das les ich mir heut nich mehr durch (bzw. diese Nacht). So spät noch Englisch und Assembly/redcode zusammen ...ne *schüttel* ![]() Gute Nacht zusammen |
|
|
|
|
|
#11 (permalink) |
|
Registriert seit: 14.06.05
![]() |
Klingt ziemlich interessant, auch wenn ich Assembler sonst nicht gerade mag.
Das gelinkte Redcode-Tutorial hab ich mir durchgelesen. Gibt es irgendwo vielleicht noch allgemeinen Kram zu Strategien usw. in Core War? Als Simulator verwende ich einen SDL-Port von pMARS (Gentoo hat das Ding im Paketmanager, wie's bei anderen Linux-Distros aussieht, weiß ich nicht). |
|
|
|
|
|
#12 (permalink) |
|
Registriert seit: 14.11.04
![]() |
Hab mir das ganze mal angeschaut. Hab zwar von Assembler nicht richtig viel Ahnung, hab aber trotzdem mal versucht den Replikator zu schlagen.... und ich sage nur scheiss Replikatoren, die killen alles was ich zusammen gebastel hab
![]() würde mich auch mal interresiern obs eine Seite mit Strategien für Core War gibt. Oder gibts irgendwo eine ausführliche Anleitung auf Deutsch? |
|
|
|
|
|
#13 (permalink) |
|
Registriert seit: 14.06.05
![]() |
So, ich hab auch mal was gecodet. Das ganze ist ein (relativ einfacher, großer, langsamer, schlechter) Replikator.
Code:
;redcode-94
;author lumax
;name testbot01
;strategy replicator
org start
count dat #0, #200
start djn 2, #13
jmp 3, <-3
mov }count, >count
jmp -3, <-5
sub.ab #11, count
add.ab #2, @count
mov.a #0, count
spl @count, <-9
add.ab #99, count
mov.ab #13, start
jmp start, <-12
Oh, und dem Ding sterben nach einer Weile ein ganzer Haufen Prozesse weg, weil ich die "Schrittweite" etwas ungeschickt gewählt habe, das Teil überschreibt oft seine eigenen Kopien. Edit: Zur "Schrittweite": ich hab mal testweise die von Chillie in meinen Warrior übernommen, das macht auch keinen wirklichen Unterschied. |
|
|
|
|
|
#14 (permalink) |
|
Registriert seit: 21.07.05
![]() |
hiho!
Kann vielleicht jemand mal auf deutsch etwas ausführlicher erklären wie das funktioniert und was man dafür benötigt(hab Ubuntu5.10),denn ich kann zwar Englisch aber halt nur das was man in der schule lernt und unsere Lehrerin ist naja einwenig inkompetent... Würde mich sehr über eine Erläuterung freuen... Hab mir den Wikipedia-Artikel schon durchgelesen, und weiß grob worum es geht,aber worum genau hab ich nicht verstanden... Thx MfG Cube |
|
|
|
|
|
#15 (permalink) |
|
Registriert seit: 09.01.05
![]() |
Harhar, erzittert vor mir einfache sterbliche, ich habe den Nanohill geentert ^^
Code:
;redcode-nano
;name SuperSentryV
;author J.J. 'Imrahil' Wingert
; Thanks to S.Fernandes who gave me good advice during the creation
;strategy Scans for any value not 0,0 and bombs it
;assert (CORESIZE==80) && (MAXPROCESSES==80)
;assert (MAXCYCLES==800) && (MAXLENGTH==5)
;assert (MINDISTANCE==5)
org scanner ; setzt den startpunkt auf scanner
somewhere equ 43 ; definiert somewhere als 43
scanstep equ -5 ; definiert scanstep als -5
scanstart equ -11 ; definiert scanstart als -11
scanstep add.ab #scanstep,1 ; Schritt 2: erhöht den b-value um scanstep (# beachten das ist der Identifier der scanstep als Zahl behandelt) zurück zu schritt 1
scanner jmz.f scanstep, scanstart ; Schritt 1: Jump if scanstart = $0,$0 zur Position scanstep
mov bomb,>scanner ; Schritt 3: Wenn an scanstart etwas anderes als $0,$0 (standardwert, auf jeden Fall ein uninteressanter Fleck!) ist kopiere den string bei bomb an die Position des Werts des B-Felds von scanner und erhöhe dieses Feld gleichzeitig um 1
jmp scanner, <somewhere ; springt nach erfolreichem Bomben zurück zu scanner und platziert an der Stelle somewhere (hier 43) einen decrease
bomb dat 0,0 ; die Bombe
end ; Der Endpunkt
Und zum Konzept von dem Spiel, naja, es gibt auch ein paar weniger qualitative Anleitungen auf Deutsch... Ich benutze aber auf anraten eines Corewar spielers das sehr gute Programm Corewin (Windows). http://www.geocities.com/corewin2/ Ich kann dir nur sagen lies dir einfach diese Anleitungen durch, auch wenn du nicht alles verstehst. Es reicht meistens ein grobes verständnis von dem was du da hast und dann kannst schon loslegen. Meine Empfehlung: irc://irc.koth.org/corewars #corewars auf irc.koth.org Sind auch einige Deutsche Corewarler drauf. Imrahil *EDIT* Machen wir den 10. Edit draus, ist alles kommentiert. Mit etwas veränderten werten (siehe ganz unten) bin ich damit immo Platz 5 auf dem Nanohill von SAL (http://sal.math.ualberta.ca/warrior.php?key=nano) Ist eine recht leistungsfähige und besonders kleine scannengine mit nem einfachen bomber. Ich arbeite grad an einer etwas verbesserten bombing version. Code:
somewhere equ 40 scanstep equ -5 scanstart equ -11 |
|
|
|
![]() |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Dual Core... | Mailyn | Kaufberatung | 4 | 19.09.07 18:44 |
| Fedora Core 6 ist da! | Indiziert | Linux/UNIX | 2 | 24.10.06 18:25 |
| Fedora Core 4 | Cube | Linux/UNIX | 8 | 11.08.05 10:21 |
| Fedora Core 4 out now !!! | fishboard | News & Ankündigungen | 3 | 13.06.05 19:03 |
| mit Core Center | Hellcony | Die Problemzone | 0 | 31.05.05 12:52 |