mirror of
https://github.com/LucasCodeur/alcu.git
synced 2026-11-01 09:02:03 +01:00
Create README.md
This commit is contained in:
1 parent
f18659cbf1
commit
9057f20955
1 file changed
+46
@@ -0,0 +1,46 @@
|
|||||||
|
# AlCu
|
||||||
|
|
||||||
|
**AlCu** is a Rush project completed as part of the **42 curriculum**.
|
||||||
|
|
||||||
|
The project consists of implementing a playable version of the **Nim game**, where players take turns removing objects from piles according to a defined set of rules.
|
||||||
|
|
||||||
|
## 🎯 Objectives
|
||||||
|
|
||||||
|
The goal was to implement the game logic while managing the underlying data structures and ensuring that the game state remained consistent throughout the execution.
|
||||||
|
|
||||||
|
The project involved:
|
||||||
|
|
||||||
|
* Representing and managing game piles
|
||||||
|
* Implementing the game rules
|
||||||
|
* Managing turns between players
|
||||||
|
* Handling user input
|
||||||
|
* Detecting valid and invalid moves
|
||||||
|
* Determining the end of the game
|
||||||
|
* Managing dynamic memory
|
||||||
|
|
||||||
|
## 🧠 Skills developed
|
||||||
|
|
||||||
|
* **C programming**
|
||||||
|
* **Data structures**
|
||||||
|
* **Linked lists**
|
||||||
|
* **Dynamic memory allocation**
|
||||||
|
* **Algorithmic thinking**
|
||||||
|
* **Input validation**
|
||||||
|
* **Game state management**
|
||||||
|
* **Debugging**
|
||||||
|
|
||||||
|
## ⏱️ Rush environment
|
||||||
|
|
||||||
|
As a **42 Rush**, the project had to be completed within a limited amount of time.
|
||||||
|
|
||||||
|
The challenge was to quickly understand the rules, design an appropriate data structure and implement a reliable solution while handling invalid inputs and edge cases.
|
||||||
|
|
||||||
|
## 🏆 Result
|
||||||
|
|
||||||
|
**Score: 100%**
|
||||||
|
|
||||||
|
## 📚 What I learned
|
||||||
|
|
||||||
|
AlCu strengthened my understanding of **dynamic data structures and state management in C**.
|
||||||
|
|
||||||
|
It also required translating a set of game rules into a clear algorithm while keeping the implementation robust against invalid inputs and different game situations.
|
||||||
Reference in new issue
Block a user