🏭 Robot Factory 🤖

Table of contents 📑

Description 📝

The Robot Factory is a project carried out by groups of 2 (see Contributors, during our 1st year in EPITECH Grand Ecole program.
Its purpose is to create in C a machine-language converter.
The aim is to convert champions/robots written in assembler into a machine language.
This project is the first part of the Corewar, another school project aimed at fighting the champions/robots created at the Robot Factory.

Usage ⚔️

You can run Robot Factory like this :

./asm champion/42.s  

For more information, please see the help section.

> ./asm -h  
USAGE  
 ./asm file_name[.s]  
DESCRIPTION  
 file_name file in assembly language to be converted into file_name.cor, an executable in the Virtual Machine.  

Result 🚩

The result of this project is an perfect Robot Factory.
If you discover a problem or an error, don’t hesitate to create an issue and report it to us as soon as possible.

my.epitech.eu result

Category Percentage Numbers of tests Crash
Algorithm app. 100% 5/5 No
Data structure 100% 5/5 No
Parsing 100% 18/18 No
Robustness 100% 35/35 No
Results 100% 63/63 No

Tests and code coverage

To check that our Robot Factory is perfect, we’ve created a tester.
It will convert many robots/champions with our robots factory and the reference one and check if there’s a difference.
To run the tester, execute this command :

./tester.sh

Unit tests were performed using criterion.
In this project, only the library code is covered.
Unit tests are still to be performed, but a large part of the code is already covered.

You can compile the project and run the unit tests with this command :

make tests_run

Compilation 🛠️

You can compile the project with this command :

make  

If you want clean the project, you can run this command :

make fclean  

You can clean and compile the project with make re.

You can compile the unit tests with this command :

make unit_tests  

Code mandatory 📦

Of course, in exceptional cases, we may depart from these rules.

What’s next ? 🚀

Contributors 👥

For this project, we were a group of 2 people. Here are the people in the group: