Git Product home page Git Product logo

corewar's Introduction

corewar

Corewar is a School 42 project. It is the final project of the Algorithms branch

The purpose of this project is an implementation of the programming game “Core War”

Done by two awesome restless individuals:
me & Vitas Brazas (aka millon15)


Project Structure

This project consists of five parts:

  • Champion
  • Assembler
  • Virtual Machine(THE ARENA)
  • Visualizer

Project has one developed champion: bot_kompot.s. It is located in the project's root directory.

Assembler is the module of program asm

Virtual Machine + Visualizer are modules of program corewar


Cloning the repo & installation

This repository includes submodule. So if you want to clone it, you can use the following command:

git clone --recurse-submodules <repository url>

To get the executables asm & corewar, simply run make


Usage

asm

Usage: ./asm champion.cor

Corewar

Usage: ./corewar [-v N] [(-d|-dump) N] [--ncurses [--stealth] [--start-in N] [(--venom|--skibidi)]] [-n N champion.cor] <champion1.cor> <...>
	(-d|-dump) N		: dumps memory after N cycles then exits
	--ncurses		: ncurses output mode
				--start-in N	: waits N cycles, then starts the ncurses mode
				--stealth	: hides the real contents of the memory in ncurses mode
				--no-stat	: turn off stat(3rd) window in ncurses mode
				--(venom|skibidi|bigshaq) : playing last chosen sounds in ncurses mode
	-n N champion.cor	: sets the N of the next player
	-v N			: verbosity levels, can be added together to enable several
				- 0	: Show only essentials
				- 1	: Show lives
				- 2	: Show cycles
				- 4	: Show operations (Params are NOT litteral ...)
				- 8	: Show deaths

Visualisation

The best visualizer performance is with iTerm (make sure you've got the latest version).

Random bots combination midgame screenshot

CoreWar screenshot #1

Random bots combination endgame screenshot

CoreWar screenshot #2


That's all, guys, hope you enjoyed it😉

corewar's People

Contributors

artemisks avatar millon15 avatar aspyltsov65 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.