From ab715ab0c455b2aa6a9634d6e60aab97b05d9021 Mon Sep 17 00:00:00 2001
From: mszczepa <marin.szczepanski@inria.fr>
Date: Thu, 2 Jun 2022 13:36:02 +0200
Subject: [PATCH] delete uselesss files

---
 engines/fullgame/array_seq.c      |  94 ------------
 engines/fullgame/array_seq.h      |  36 -----
 engines/fullgame/events_player.c  |  64 --------
 engines/fullgame/events_player.h  |  15 --
 engines/fullgame/items.c          | 238 ------------------------------
 engines/fullgame/items.h          |  67 ---------
 engines/fullgame/items.txt        |   4 -
 engines/fullgame/linkedlist_seq.c | 106 -------------
 engines/fullgame/linkedlist_seq.h |  36 -----
 engines/fullgame/maze.c           | 124 ----------------
 engines/fullgame/maze.h           |  24 ---
 engines/fullgame/monster.c        |  58 --------
 engines/fullgame/monster.h        |  23 ---
 engines/fullgame/shop.c           |  39 -----
 engines/fullgame/shop.h           |  27 ----
 15 files changed, 955 deletions(-)
 delete mode 100644 engines/fullgame/array_seq.c
 delete mode 100644 engines/fullgame/array_seq.h
 delete mode 100644 engines/fullgame/events_player.c
 delete mode 100644 engines/fullgame/events_player.h
 delete mode 100644 engines/fullgame/items.c
 delete mode 100644 engines/fullgame/items.h
 delete mode 100644 engines/fullgame/items.txt
 delete mode 100644 engines/fullgame/linkedlist_seq.c
 delete mode 100644 engines/fullgame/linkedlist_seq.h
 delete mode 100644 engines/fullgame/maze.c
 delete mode 100644 engines/fullgame/maze.h
 delete mode 100644 engines/fullgame/monster.c
 delete mode 100644 engines/fullgame/monster.h
 delete mode 100644 engines/fullgame/shop.c
 delete mode 100644 engines/fullgame/shop.h

diff --git a/engines/fullgame/array_seq.c b/engines/fullgame/array_seq.c
deleted file mode 100644
index b3804387..00000000
--- a/engines/fullgame/array_seq.c
+++ /dev/null
@@ -1,94 +0,0 @@
-#include "array_seq.h"
-
-sequence* create_sequence (void)
-{
-    /* BUGMULTILINE: not creating the malloc, returning local address */
-    sequence* seq = (sequence*)malloc(sizeof(sequence));
-    seq->length = 0;
-    return seq;
-    /* BUGALTERNATE
-     * sequence seq;
-     * seq.length = 0;
-     * return &seq;
-     */
-}
-
-void seq_pp (sequence* seq)
-{
-    printf ("< ");
-    for (int i=0; i < seq->length-1; i++) {
-        printf ("%d, ", seq->arr[i]);
-    }
-    if (seq->length > 0) {
-        /* BUGLINEDELETEMORE: forgetting to check there is at least one element */
-        printf ("%d ", seq->arr[seq->length-1]);
-    }
-    /* BUGALSOREMOVE */
-    printf (">\n");
-}
-
-void seq_add_first (sequence* seq, item i)
-{
-    assert (seq->length < LMAX);
-    for (int i=seq->length; i>0; i--) {
-        /* BUGLINE: doing the moves in the wrong ordering
-         * for (int i=0; i<seq->length; i++) {
-         */
-        seq->arr[i] = seq->arr[i-1];
-    }
-    seq->arr[0] = i;
-    seq->length++;
-    /* BUGLINEDELETE: forgetting to increase length of sequence */
-}
-
-void seq_add_last (sequence* seq, item i)
-{
-    assert (seq->length < LMAX);
-    seq->arr[seq->length] = i;
-    seq->length++;
-}
-
-void seq_add (sequence* seq, item i)
-{
-    seq_add_last (seq, i);
-}
-
-
-void seq_remove_idx (sequence* seq, int idx)
-{
-    assert (idx >= 0 && idx < seq->length);
-    for (int i=idx; i<seq->length-1; i++) {
-        /* BUGLINE: going to far in the list, but bug will probably be silent
-         * for (int i=idx; i<seq->length; i++) {
-         */
-        seq->arr[i] = seq->arr[i+1];
-    }
-    seq->length--;
-}
-
-
-
-int seq_search (sequence* seq, item i)
-{
-    /* search the item */
-    int idx=0;
-    for (; idx<seq->length; idx++) {
-        if (seq->arr[idx] == i) return idx;
-    }
-    return -1;
-}
-
-void seq_remove (sequence* seq, item i)
-{
-    int idx = seq_search (seq, i);
-    if (idx != -1) {
-        /* BUGLINEDELETEMORE: forgetting to check if item belongs to sequence */
-        seq_remove_idx (seq, idx);
-    }
-    /* BUGALSOREMOVE */
-}
-
-bool seq_contains (sequence* seq, item i)
-{
-    return seq_search (seq, i) != -1;
-}
diff --git a/engines/fullgame/array_seq.h b/engines/fullgame/array_seq.h
deleted file mode 100644
index 98e18f8a..00000000
--- a/engines/fullgame/array_seq.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef ARRAY_SEQ_H
-#define ARRAY_SEQ_H
-
-/*************************************************/
-/* Library of sets and sequences based on arrays */
-/*************************************************/
-
-#include <stdbool.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-
-#define LMAX 256
-
-typedef int item;
-
-struct sequence_s {
-    item arr[LMAX];
-    unsigned int length;
-};
-
-typedef struct sequence_s sequence;
-
-sequence* create_sequence (void);
-
-void seq_pp (sequence *seq); /* pretty printer for a sequence */
-
-void seq_add_first (sequence *seq, item i);
-void seq_add_last  (sequence *seq, item i);
-void seq_add (sequence *seq, item i);
-
-void seq_remove (sequence *seq, item i);
-void seq_remove_idx (sequence *seq, int index);
-
-bool seq_contains (sequence *seq, item i);
-#endif//ARRAY_SEQ_H
diff --git a/engines/fullgame/events_player.c b/engines/fullgame/events_player.c
deleted file mode 100644
index 580a01ad..00000000
--- a/engines/fullgame/events_player.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Triggers and resolutions related to items.
-*/
-
-#include "events_player.h"
-
-int walks_on_item() {
-    int x = player_x;
-    int y = player_y;
-    map * cmap = current_map();
-    // quick check to avoid useless looping
-    if (item(y, x) == NO_ITEM) {
-        return 0;
-    }
-
-    /* we loop over the possible items until we see one for which the character
-     corresponds to where the player is standing.
-    */
-    int i = 0;
-    while (i < MAX_POSSIBLE_ITEMS) {
-        if (list[i]->code == item(y, x)) {
-            /* we found an item.
-             My first algo teacher would say it's very bad to exist a loop
-             like this, but this whole code is for educational purposes,
-             isn't it?
-            */
-            return 1;
-        }
-        i++;
-    }
-    // nothing found
-    return 0;
-}
-
-void pick_item(int trig) {
-    // here the trig parameter is not used
-
-    /* How to add an item to the inventory, knowing some are stackable?
-     1. if item of this type and space to stack = stack
-     2. if there is a free space = new instance
-     3. if no item of this type and no place in inventory = exit
-     Goal: we shouldn't have two instances with stack space left
-    */
-    int x = player_x;
-    int y = player_y;
-    map * cmap = current_map();
-    /* because the trigger function was called before, we are guaranteed
-     that the player is currently on an item
-    */
-    itemtype item_code = item(y, x);
-
-    if (add_item_to_inventory(item_code)) {
-        cmap->items[y * cmap->width + x] = NO_ITEM;
-    }    
-}
-
-int death_imminent() {
-    return (health_points < 1);
-}
-
-void death(int trig) {
-    printf("You die.\n");
-    level_failed();
-}
diff --git a/engines/fullgame/events_player.h b/engines/fullgame/events_player.h
deleted file mode 100644
index 1c8e1a78..00000000
--- a/engines/fullgame/events_player.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#pragma once
-
-#include "common.h"
-#include "map.h"
-#include "items.h"
-
-// Trigger function: returns 1 if the player is standing on an item, 0 otherwise
-int walks_on_item();
-
-// Resolution function: picks the item the player is walking on and adds it to their inventory
-void pick_item(int trig);
-
-int death_imminent();
-
-void death(int trig);
diff --git a/engines/fullgame/items.c b/engines/fullgame/items.c
deleted file mode 100644
index f9f6774f..00000000
--- a/engines/fullgame/items.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/**
- * A way to model an inventory. Each possible item only exists once,
- * and the player has "intances" of items.
- * 
- * Concepts used:
- *  - malloc and free
- *  - pointers and structures, pointers of pointers
- * 
- * Possible bugs:
- *  - pointers, double pointers, triple pointers in structures
- *  - malloc, not freeing correctly
- *  - misusing the functions of string.h and stdio.h
- *  - reading an incorrect items.txt
- * 
- * Game design related tip:
- *  Inventories exist in many types of games, but the most complex
- *  are those of RPGs. 
-*/
-
-#include "common.h"
-
-
-
-/***********************************/
-/*      Methods and functions      */
-/***********************************/
-
-void load_items() {
-    FILE * fp;
-    fp = fopen("items.txt", "r");
-    if (fp == NULL) {
-        fprintf(stderr, "Could not find or open items.txt.\n");
-        exit(EXIT_FAILURE);
-    }
-
-    /* for each item, we read:
-       - name
-       - description
-       - character code (for the ASCII map)
-       - stack limit
-       - properties
-       - a blank line or EOF
-     We assume the file items.txt is correct! */
-    char buffer[MAX_LINE_LENGTH];
-    int i = 0;
-
-    while (fgets(buffer, MAX_LINE_LENGTH, fp) != NULL && i < MAX_POSSIBLE_ITEMS) {
-        list[i] = (type *) malloc(sizeof(type));
-
-        // name
-        list[i]->name = malloc(sizeof(char) * MAX_LINE_LENGTH);
-        strcpy(list[i]->name, buffer);
-
-        // description
-        fgets(buffer, MAX_LINE_LENGTH, fp);
-        list[i]->description = malloc(sizeof(char) * MAX_LINE_LENGTH);
-        strcpy(list[i]->description, buffer);
-
-        // character code
-        fgets(buffer, MAX_LINE_LENGTH, fp);
-        list[i]->code = atoi(buffer);
-
-        // stack limit
-        fgets(buffer, MAX_LINE_LENGTH, fp);
-        list[i]->stack_limit = atoi(buffer);
-
-        // properties (can be zero or more)
-        list[i]->properties = malloc(sizeof(char *) * MAX_POSSIBLE_ITEMS);
-        int j = 0;
-
-        fgets(buffer, MAX_LINE_LENGTH, fp);
-
-        if (feof(fp)) {
-            list[i]->properties[j] = NULL;
-            j = MAX_POSSIBLE_ITEMS;
-        }
-        
-        // while we don't encounter a blank line
-        while (fp != NULL && strncmp(buffer, "\n", 1) && j < MAX_POSSIBLE_ITEMS) {
-            list[i]->properties[j] = malloc(sizeof(char) * MAX_LINE_LENGTH);
-            strcpy(list[i]->properties[j], buffer); // possible bug: strcpy(buffer, list[i]->properties[j]);
-            j++;
-            fgets(buffer, MAX_LINE_LENGTH, fp);
-            if (feof(fp)) {
-                if (j < MAX_POSSIBLE_ITEMS) {
-                    list[i]->properties[j] = NULL;
-                }
-                j = MAX_POSSIBLE_ITEMS;
-            }
-        }
-
-        if (j < MAX_POSSIBLE_ITEMS) {
-            list[i]->properties[j] = NULL;
-        }
-        i++;
-    }
-
-    if (i < MAX_POSSIBLE_ITEMS) {
-        list[i] = NULL;
-    }
-
-    fclose(fp);
-}
-
-
-void print_items_list() {
-    int i = 0;
-    int j;
-    while (list[i] != NULL && i < MAX_POSSIBLE_ITEMS) {
-        // name
-        printf("\nItem, name : %s", list[i]->name);
-        // description
-        printf("\tDescription: %s", list[i]->description);
-        // ASCII code
-        printf("\tCode: %c\n", list[i]->code);
-        // stack limit
-        printf("\tStack limit: %d\n", list[i]->stack_limit);
-        // properties
-        j = 0;
-        while (list[i]->properties[j] != NULL && j < MAX_POSSIBLE_ITEMS) {
-            printf("\tProperty %d : %s", j+1, list[i]->properties[j]);
-            j++;
-        }
-        i++;
-    }
-
-    printf("\n");
-}
-
-
-void free_list() {
-    int i = 0;
-    int j;
-    while (list[i] != NULL && i < MAX_POSSIBLE_ITEMS) {
-        // name
-        free(list[i]->name);
-        // description
-        free(list[i]->description);
-        // stack limit was not allocated        
-        // properties
-        j = 0;
-        while (list[i]->properties[j] != NULL && j < MAX_POSSIBLE_ITEMS) {
-            free(list[i]->properties[j]);
-            j++;
-        }
-        free(list[i]->properties);
-        free(list[i]);
-        i++;
-    }
-}
-
-unsigned get_item_count(itemtype it) {
-    unsigned count = 0;
-    for (int i = 0; i < INVENTORY_SIZE; i++) {
-        if (inventory[i].type != NULL && inventory[i].type->code == it)
-            count = count + inventory[i].stack;
-    }
-    return count;
-}
-
-void set_item_count(itemtype it, unsigned count) {
-    int diff = get_item_count(it) - count;
-    int i = 0;
-
-    if (diff < 0) {
-        for (int i = 0; i < diff; i++)
-            add_item_to_inventory(it);
-    }
-
-    if (diff > 0) {
-        for (int i = 0; i < diff; i++)
-            remove_item_from_inventory(it);
-    }
-}
-
-bool add_item_to_inventory(itemtype item_code) {
-    int i = 0;
-    bool item_picked = false;
-    // 1. if item of this type and space to stack = stack
-    while (i < INVENTORY_SIZE && !item_picked) {
-        if (inventory[i].type != NULL
-                && inventory[i].type->code == item_code
-                && inventory[i].stack < inventory[i].type->stack_limit) {
-            inventory[i].stack++;
-            item_picked = true;
-        }
-        i++;
-    }
-
-    // 2. if there is a free space = new instance
-    // BUGLINE: item_picked = 0; (resetting the wrong variable)
-    i = 0;
-
-    while (i < INVENTORY_SIZE && !item_picked) {
-        /* we choose to represent a free inventory space as
-         an item with type NULL
-        */
-        if (inventory[i].type == NULL) {
-            inventory[i].stack = 1;
-            /* now we need to set the type. The trigger function guanrantees
-             the item is valid
-            */
-            int j = 0;
-            while (j < MAX_POSSIBLE_ITEMS) {
-                if (list[j]->code == item_code) {
-                    inventory[i].type = list[j];
-                    j = MAX_POSSIBLE_ITEMS;
-                }
-                j++;
-            }
-            item_picked = true;
-        }
-        i++;
-    }
-
-    /* if item_picked == 0 here, it means we have no space for the item
-       in which case we do nothing and the item stays on the map */
-    
-    return item_picked;
-}
-
-bool remove_item_from_inventory(itemtype it) {
-    bool item_removed = false;
-    int i = 0;
-
-    while (i < INVENTORY_SIZE && !item_removed) {
-        if (inventory[i].type != NULL && inventory[i].type->code == it) {
-            inventory[i].stack--;
-
-            if (inventory[i].stack < 1) {
-                inventory[i].type = NULL;
-            }
-            item_removed = true;
-        }
-    }
-
-    return item_removed;
-}
diff --git a/engines/fullgame/items.h b/engines/fullgame/items.h
deleted file mode 100644
index b9005354..00000000
--- a/engines/fullgame/items.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#pragma once
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-typedef enum {
-    NO_ITEM,
-    I_GOLD,
-    ITEMS_N,
-} itemtype;
-
-
-/* The maximum number of different items to be defined,
- and the maximum number of properties a type of item can hold. */
-#define MAX_POSSIBLE_ITEMS 20
-
-/* The maximum number of characters a line from items.txt can have. */
-#define MAX_LINE_LENGTH 500
-
-/* The common structure to any item */
-typedef struct item_type {
-    // name of this item
-    char * name;
-    // a short description
-    char * description;
-    /* Code representing the item on the map
-    must correspond to the definition of the item in itemtype */
-    int code;
-    /* pointer to any properties constant and shared by all instances of an item
-    e.g. attack for a sword, health restored for a healing potion */
-    char ** properties;
-    /* How many instances of this type of item can be stacked in one inventory slot */
-    unsigned stack_limit;
-} type;
-
-typedef struct item_instance {
-    // type of the item
-    type * type;
-    // number of stacked items in this instance (must always be <= stack_limit)
-    unsigned stack;
-} instance;
-
-
-/* In this simplified example, the possible items are stored in a text file (items.txt).
- This function loads the items in memory. */
-void load_items() ;
-
-/* Prints all items known in memory. */
-void print_items_list();
-
-/* Frees every allocated memory of the list given in argument,
- including the list itself.*/
-void free_list();
-
-/* Returns the total number of items of this type in the inventory */
-unsigned get_item_count(itemtype it);
-
-/* Sets the total number of items of a type in the inventory */
-void set_item_count(itemtype it, unsigned count);
-
-/* Tries to add an item in the inventory. Returns true on success, false if there was no place */
-bool add_item_to_inventory(itemtype it);
-
-/* Tries to remove an instance of an item in the inventory.
-Return true on success, false if the item was not found in the inventory */
-bool remove_item_from_inventory(itemtype it);
diff --git a/engines/fullgame/items.txt b/engines/fullgame/items.txt
deleted file mode 100644
index 62d4ab46..00000000
--- a/engines/fullgame/items.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Gold Coin
-It's shiny! Allows you to buy equipment.
-1
-100
diff --git a/engines/fullgame/linkedlist_seq.c b/engines/fullgame/linkedlist_seq.c
deleted file mode 100644
index efcbf3e1..00000000
--- a/engines/fullgame/linkedlist_seq.c
+++ /dev/null
@@ -1,106 +0,0 @@
-#include "linkedlist_seq.h"
-
-
-list* ll_create (void)
-{
-    list* l = (list*)malloc(sizeof(list));
-    return l;
-}
-
-cell* create_cell(void)
-{
-    cell* cel = (cell*)malloc(sizeof(cell));
-    /* BUGLINE: allocating the size of a pointer instead of the structure
-     * cell* cel = (cell*)malloc(sizeof(*cell));
-     */
-    return cel;
-}
-
-void list_pp (list *l) {
-    cell *c;
-    c = l->head;
-    if (!c) {
-        printf ("<empty>\n");
-        return;
-    }
-    while (c->next!=NULL) {
-        printf("%d, ",c->value);
-        c = c->next;
-    }
-    printf("%d\n",c->value);
-}
-
-int ll_length (list *l)
-{
-    int len=0;
-    cell* cel = l->head;
-    while (cel) {
-        /* BUGLINEMORE: forgetting to add brackets
-         * while (cel)
-         * */
-        len++;
-        cel = cel->next;
-    }
-    /* BUGALSOREMOVE */
-    return len;
-}
-
-/* BUGIDEA: passing a list instead of list* as parameter */
-/* BUGIDEA: having cell as a local variable */
-void ll_add_first (list *l, item i) {
-    cell* cel = create_cell();
-    cel->value = i;
-    cel->next = l->head;
-    l->head = cel;
-}
-
-void ll_add_last (list *l, item i) {
-    if (!l->head) {
-        ll_add_first (l, i);
-        return;
-        /* BUGLINEDELETE: forgetting the return, hence adding the first item twice. */
-    }
-    cell* tail = l->head;
-    while (tail->next) { tail = tail->next; }
-    tail->next = create_cell();
-    tail->next->value = i;
-    tail->next->next = NULL;
-}
-
-void ll_add (list *l, item i)
-{
-    ll_add_first(l,i);
-}
-
-cell* generic_search (list *l, item i, cell** prec)
-{
-    cell* cel = l->head;
-    *prec = NULL;
-    while (cel && cel->value != i) {
-        *prec = NULL;
-        cel = cel->next;
-    }
-    return cel; /* will be non null if item i found */
-}
-
-void ll_remove (list *l, item i)
-{
-    cell *prec;
-    cell *cel = generic_search(l, i, &prec);
-    if (!cel) return;
-    if (!prec) {
-        l->head = cel->next;
-    } else {
-        prec->next = cel->next;
-    }
-    free(cel);
-    /* BUGLINEDELETE: memory leak */
-}
-
-bool ll_contains (list *l, item i)
-{
-    cell* useless;
-    return generic_search(l, i, &useless) != NULL;
-}
-
-
diff --git a/engines/fullgame/linkedlist_seq.h b/engines/fullgame/linkedlist_seq.h
deleted file mode 100644
index af4ca21c..00000000
--- a/engines/fullgame/linkedlist_seq.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef LINKEDLIST_SEQ_H
-#define LINKEDLIST_SEQ_H
-/************************************************************/
-/* Library for sequences of integers based on linked lists  */
-/************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdbool.h>
-
-typedef int item;
-
-struct cell_s {
-    item value;
-    struct cell_s *next;
-};
-typedef struct cell_s cell;
-
-struct list_s {
-    cell *head;
-};
-typedef struct list_s list;
-
-
-list* ll_create (void);
-void list_pp (list *l); /* pretty printer for a linked list */
-
-int ll_length (list *l);
-void ll_add_first (list *l, item i);
-void ll_add_last (list *l, item i);
-void ll_add (list *l, item i);
-
-void ll_remove (list *l, item i);
-bool ll_contains (list *l, item i);
-
-#endif//LINKEDLIST_SEQ_H
diff --git a/engines/fullgame/maze.c b/engines/fullgame/maze.c
deleted file mode 100644
index 8988cb6e..00000000
--- a/engines/fullgame/maze.c
+++ /dev/null
@@ -1,124 +0,0 @@
-#include "maze.h"
-
-void place_vertical_wall(square_t **walls, int x, int y, int height) {
-    printf("place wall v x:%d y:%d l:%d\n", x, y, height);
-    // JAI ECRIT CA LOL CA MARCHE QUE QUAND CEST 0 JPP for(int j=y; j<height; j++) {
-    for(int j=0; j<height; j++) {
-        //walls[x][y] = 1; INVERSION ROW-COLUMN MAJOR
-        walls[x][y+j].vertical_wall = 1;
-    }
-    display_maze_internal(walls, 6, 5);
-}
-
-void place_horizontal_wall(square_t **walls, int x, int y, int width) {
-    printf("place wall h x:%d y:%d l:%d\n", x, y, width);
-    // PAREIL QUE AU DESSUS MAIS MDR
-    for(int i=0; i<width; i++) {
-        //walls[i][y] = 1; INVERSION VERTICAL HORIZONTAL
-        //walls[x][y] = 1; INVERSION ROW-COLUMN MAJOR
-        walls[x+i][y].horizontal_wall = 1;
-    }
-    display_maze_internal(walls, 6, 5);
-}
-
-void place_horizontal_door(square_t **walls, int x, int y, int width) {
-    int door_pos = rand() % width;
-
-    //walls[x+door_pos][y] = 0; INVERSION VERTICAL HORIZONTAL
-    //walls[y+door_pos][x] = 0; INVERSION ROW-COLUMN MAJOR
-    walls[x+door_pos][y].horizontal_wall = 0;
-}
-
-void place_vertical_door(square_t **walls, int x, int y, int height) {
-    int door_pos = rand() % height;
-
-    //walls[x][y+door_pos] = 0; INVERSION VERTICAL HORIZONTAL LINVERSE EN FAIT
-    walls[x][y+door_pos].vertical_wall = 0;
-}
-
-void divide_chamber(square_t **walls, int x, int y, int width, int height) {
-    // Stop when we have a corridor
-    // IL FAUT METTRE <= et pas ==
-    printf("DIVIDE x:%d y:%d width:%d height:%d\n", x, y, width, height);
-    if (width <= 1 || height <= 1) {
-        return;
-    }
-
-    // Choose side to divide
-    if (width >= height) {
-        // Place vertical wall
-        int vertical_wall = x + 1 + rand() % (width-1);
-        printf("v: %d x: %d y: %d\n", vertical_wall, x, y);
-        place_vertical_wall(walls, vertical_wall, y, height);
-        place_vertical_door(walls, vertical_wall, y, height);
-
-        divide_chamber(walls, x, y, vertical_wall-x, height);
-        divide_chamber(walls, vertical_wall, y, width-vertical_wall, height);
-    } else {
-        // Place horizontal wall
-        int horizontal_wall = y + 1 + rand() % (height-1);
-        printf("h: %d x: %d y: %d\n", horizontal_wall, x, y);
-        place_horizontal_wall(walls, x, horizontal_wall, width);
-        place_horizontal_door(walls, x, horizontal_wall, width);
-        
-        divide_chamber(walls, x, y, width, horizontal_wall-y);
-        divide_chamber(walls, x, horizontal_wall, width, height-horizontal_wall);
-    }
-    display_maze_internal(walls, 6, 5);
-}
-
-maze_t generate_maze(int width, int height) {
-    // Walls allocation, at the beginning all walls are empty
-    maze_t maze;
-    maze.width = width+1;
-    maze.height = height+1;
-    maze.walls = malloc(sizeof(square_t*) * maze.width);
-    square_t** walls = maze.walls;
-    for(int i=0; i < maze.width; i++) { // WIDTH AU LIEU DE MAZE.WIDTH
-        maze.walls[i] = calloc(maze.height, sizeof(square_t));
-    }
-
-    // Enclose the maze
-    // ICI JAVAIS FAIT UN BUG DE FOR NESTED WALLS[i][j] = 1
-    place_horizontal_wall(walls, 0, 0, width);
-    place_horizontal_wall(walls, 0, height, width); // WIDTH AU LIEU DE HEIGHT
-    place_vertical_wall(walls, 0, 0, height);
-    place_vertical_wall(walls, width, 0, height);
-
-    display_maze(maze);
-
-    // Recursively divide the chambers
-    divide_chamber(walls, 0, 0, maze.width-1, maze.height-1);
-
-    // Place the two exits
-    // TODO
-    
-    return maze;
-}
-
-void display_maze_internal(square_t** walls, int width, int height) {
-    for(int j=0; j < height; j++) {
-        for(int i=0; i < width; i++) {
-            /*
-            if (walls[i][j].horizontal_wall) {
-                if (walls[i][j].vertical_wall) {
-                    printf("+");
-                } else {
-                    printf("-");
-                }
-            } else if (walls[i][j].vertical_wall) {
-                printf("|");
-            } else {
-                printf(".");
-            }
-            */
-            printf("%d %d, ", walls[i][j].vertical_wall, walls[i][j].horizontal_wall);
-        }
-        printf("\n");
-    }
-    printf("\n");
-}
-
-void display_maze(maze_t maze) {
-    display_maze_internal(maze.walls, maze.width, maze.height);
-}
diff --git a/engines/fullgame/maze.h b/engines/fullgame/maze.h
deleted file mode 100644
index 3ca5aaa2..00000000
--- a/engines/fullgame/maze.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef MAZE_H
-#define MAZE_H
-
-#include <stdlib.h>
-#include <stdio.h>
-
-typedef struct {
-    int horizontal_wall;
-    int vertical_wall;
-} square_t;
-
-typedef struct {
-    int width;
-    int height;
-    square_t **walls; // an 2d array of walls in a column major way
-} maze_t;
-
-// Allocate a new generate maze from the given size
-maze_t generate_maze(int width, int height);
-
-void display_maze_internal(square_t** walls, int width, int height);
-void display_maze(maze_t maze);
-
-#endif
diff --git a/engines/fullgame/monster.c b/engines/fullgame/monster.c
deleted file mode 100644
index 310f53f3..00000000
--- a/engines/fullgame/monster.c
+++ /dev/null
@@ -1,58 +0,0 @@
-#include "monster.h"
-
-void talk_monster(monster *mon)
-{
-    if (strcmp (mon->name, "Shopkeeper")) {
-        printf("You cannot talk to a %s.\n", mon->name);
-        return;
-    }
-    printf("Welcome to my humble shop traveler.\nDo you want to buy something?\n");
-    return;
-}
-
-void reduce_health(int dmg)
-{
-    health_points = max(0, health_points-dmg);
-    printf("Your health points are now %d.\n", health_points);
-}
-
-void receive_damage(monster *mon)
-{
-    int dmg = mon->weapon;
-    printf("You receive %d damage.\n", dmg); /* BUGIDEA: forgetting the 'dmg' argument */
-    reduce_health (dmg);
-}
-
-/* returns if monster is defeated, otherwise level_failed will be called */
-void fight_monster(monster *mon, equipment eq)
-{
-    int dmg;
-    /* fight until player or monster dies */
-
-    while (mon->health_points > 0 && health_points > 0) {
-        /* attack */
-
-        dmg = max(0, eq.weapon - mon->armor);
-        printf ("You inflict %d damage to the %s.\n", dmg, mon->name);
-        mon->health_points -= dmg;
-        /* BUGIDEA: forgetting to remove damage to the monster */
-
-
-        if (mon->health_points > 0) {
-            /* retaliates */
-            dmg = max(0, mon->weapon - eq.armor);
-            printf ("The %s inflicts %d damage to you.\n", mon->name, dmg);
-            reduce_health (dmg);
-        }
-    }
-
-    /* monster dies */
-    if (mon->health_points <= 0) {
-        printf ("The %s dies.\n", mon->name);
-    }
-
-    /* si le joueur est mort alors l'échec sera vu au prochain apply_event,
-    une fois revenu dans la main loop */
-}
-
-
diff --git a/engines/fullgame/monster.h b/engines/fullgame/monster.h
deleted file mode 100644
index 720b5ce1..00000000
--- a/engines/fullgame/monster.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef MONSTER_H
-#define MONSTER_H
-
-#include "common.h"
-
-typedef struct {
-    int weapon;
-    int armor;
-} equipment;
-
-
-typedef struct {
-    int pos_y, pos_x;
-    int health_points;
-    int armor;
-    int weapon;
-    char *name;
-} monster;
-
-void talk_monster(monster* mon);
-void fight_monster(monster*, equipment);
-
-#endif//MONSTER_H
diff --git a/engines/fullgame/shop.c b/engines/fullgame/shop.c
deleted file mode 100644
index 51f8313e..00000000
--- a/engines/fullgame/shop.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include "shop.h"
-
-int gold=0;
-
-const int weapon_price[WEAPONS_N] = {0, 1, 2, 5};
-const int armor_price[ARMORS_N] = {0, 2, 4, 8};
-
-int buy_generic(const int price[], int num_prices)
-{
-    gold = get_item_count(I_GOLD);
-    int idx=num_prices-1;
-    while (idx > 0 && price[idx] > gold) { idx--; };
-    gold = gold - price[idx];
-    if (!idx) {
-        printf ("You do not have enough gold for that.\n");
-    } else {
-        printf ("You buy something for %d gold.\n",price[idx]);
-        printf ("You now have %d gold.\n",gold);
-        set_item_count(I_GOLD, gold);
-    }
-    return idx;
-}
-
-weapon_type buy_weapon(void)
-{
-    printf("You try to buy a weapon...\n");
-    int widx  = buy_generic (weapon_price, WEAPONS_N);
-    return (weapon_type)widx;
-}
-
-armor_type buy_armor(void)
-{
-    printf("You try to buy armor...\n");
-    int aidx  = buy_generic (armor_price, ARMORS_N);
-    return (armor_type)aidx;
-}
-
-
-
diff --git a/engines/fullgame/shop.h b/engines/fullgame/shop.h
deleted file mode 100644
index 9fd0d7dc..00000000
--- a/engines/fullgame/shop.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef SHOP_H
-#define SHOP_H
-
-#include "common.h"
-
-typedef enum {
-    NO_WEAPON,
-    DAGGER,
-    SHORT_SWORD,
-    LONG_SWORD,
-    WEAPONS_N
-} weapon_type;
-
-typedef enum {
-    NO_ARMOR,
-    LEATHER_JACKET,
-    CHAINMAIL,
-    FULLPLATE,
-    ARMORS_N
-} armor_type;
-
-extern int gold;
-
-weapon_type buy_weapon(void);
-armor_type buy_armor(void);
-
-#endif//SHOP_H
-- 
GitLab