Skip to content

Old-school geek game where processes in the memory fight each other.

Notifications You must be signed in to change notification settings

d-spiridonov/corewar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

corewar

This project was developed as one of the group-projects of Ecole 42 curriculum. Corewar is a virtual “arena” in which programs (“The Champions”) fight against each other. These battle programs are written in an abstract assembly language. There is also an assembler which compiles the Champions. For more information about the game history, please read: https://en.wikipedia.org/wiki/Core_War

Getting Started

The project was written on OS X El Capitan. To install the program you must have gcc compiler and ncurses library installed on your system.

Installing

Install the program using makefile

Creating champions with ASM

./asm ./examples_assembler/<sourcefile.s>
will create .cor source files to be launched by ./corewar executable
-a : Instead of creating a .cor file, outputs a stripped and annotated version of the code to the standard output

Launching corewar

/corewar     [-dump nbr_cycles] [-n number] [-v] [-a] <champion1.cor> <...>
    -a               : Prints output from "aff" (Default is to hide it)
    -n number        : Sets the number of the next player
###################### MAP OUTPUT MODE #########################
    -dump nbr_cycles : Dumps memory after nbr_cycles then exits
#################### NCURSES OUTPUT MODE #######################
    -v               : Ncurses output mode

Authors

  • Vitalii Poltavets - Virtual machine ChoadPet
  • Yaroslav Zakharchuk - Virtual machine ElCorte
  • Katerina Zakharchuk - Assembler kzakharc
  • Dmitry Spiridonov - Ncurses visualisation d-spiridonov

About

Old-school geek game where processes in the memory fight each other.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published