Added infected planes and fix README.md (thanks to Kikoo and DS)

This commit is contained in:
Shadow15510 2021-06-04 15:13:48 +02:00
parent 360390c059
commit de7f58751f
7 changed files with 32 additions and 23 deletions

Binary file not shown.

View File

@ -1,9 +1,3 @@
# Plague inc
## Présentation
### Description du jeu
Plague inc est un jeu de stratégie où le but est de réduire l'humanité à néant… Simple ? Non ! Il vous faudra manipuler avec dextérité et prudence un virus pour anéantir des humains qui ne sont pas super collaboratifs… Pire, ces petits rigolos veulent sauver leurs peaux et recherchent activement un remède à ce mystérieux virus inconnu !
### Licence
@ -12,23 +6,23 @@ La totalité du projet est soumise à la licence GNU General Public Licence v3.0
## Contrôles
Lancez le jeu, et pressez n'importe quelle touche pour passer l'écran principal. Une fois sur l'écran représentant la Terre, plusieurs choix s'offrent à vous :
Lancez le jeu, et pressez n'importe quelle touche pour passer l'écran principal. Une fois sur l'écran représentant la Terre, plusieurs choix s'offrent à vous :
- [OPTN] permet d'afficher / cacher la barre en dessous du monde qui vous affiche vos points ADN et la barre de recherche des humains.
- [VARS] permet de passer au gros du jeu : les mutations. Ce menu vous affiche vos points ADN, mais aussi les mutations sélectionnées ainsi que vos point de contagion, de sévérité, et de létalité. Dans ce menu, vous pouvez modifier tout cela.
- [x^2] permet d'accéder au menu statistique qui vous affiche les stats sur les humains. La barre symbolise le pourcentage de la popuation totale : donc la somme de toute les barre doit donné une seule barre entière.
- [VARS] permet de passer au gros du jeu : les mutations. Ce menu vous affiche vos points ADN, mais aussi les mutations sélectionnées ainsi que vos points de contagion, de sévérité, et de létalité. Dans ce menu, vous pouvez modifier tout cela.
- [x^2] permet d'accéder au menu statistique qui vous affiche les stats sur les humains. La barre symbolise le pourcentage de la population totale : donc la somme de toutes les barres doit donner une seule barre entière.
Dans les menus déplacezz-vous grâce aux touches fléchées, validez avec [SHIFT] et annuler avec [ALPHA].
Dans les menus déplacez-vous grâce aux touches fléchées, validez avec [SHIFT] et annulez avec [ALPHA].
Pour quitter le jeu, allez sur la mappemonde et pressez [EXIT].
## Mutations
Dans ce jeu, vous aurez le choix entre plusieurs mutations pour faire le plus de dégât possible parmis les humains ! Comme dans le jeu d'origine, celles-ci sont divisées en 3 catégories : Symptômes, Capacités, et Transmissions.
Dans ce jeu, vous aurez le choix entre plusieurs mutations pour faire le plus de dégât possible parmi les humains ! Comme dans le jeu d'origine, celles-ci sont divisées en 3 catégories : Symptômes, Capacités, et Transmissions.
Toutes les mutations ont plusieurs spécificités :
- Contagion qui détermine la proportion de personnes infectées
- Sévérité touche la recherche, on peut la comprendre de la manière suivante : si la sévérité est élevée, la maladie est grave, elle entraine par conséquent une recherche active de la part des Humains. La séverité vous permet également de gagner des points ADN plus rapidement.
- Létalité détermine le taux de mortalité parmi les infectés… Une létalité élevée fera de votre maladie une veritable machine à tuer, mais cela vous dévoile au grand jour et accèlere la recherche !
- Sévérité touche la recherche, on peut la comprendre de la manière suivante : si la sévérité est élevée, la maladie est grave, elle entraine par conséquent une recherche active de la part des Humains. La sévérité vous permet également de gagner des points ADN plus rapidement.
- Létalité détermine le taux de mortalité parmi les infectés… Une létalité élevée fera de votre maladie une véritable machine à tuer, mais cela vous dévoile au grand jour et accélère la recherche !
- le coût en points ADN.
Dans le menu de mutation vous avez les statistiques de la mutation sélectionnée. Et entre parenthèses vous avez les modifications effectives. Le nombre entre parenthèses vous indique donc le nombre de points de contagion, sévérité, létalité, vous allez gagner (ou perdre si le nombre est négatif) si vous faites muter votre maladie.
@ -40,8 +34,9 @@ Comme son nom l'indique, votre maladie aussi puissante soit-elle n'est pas invis
### Capacités spéciales
En mutant, votre maladie peut acquérir des capacités. Ces capacités lui permettent de mieux apréhender un milieu ou une situation, ainsi la capacité *Résistance au froid* donne un suplément de vigueur à votre virus dans les pays froid. Cela se traduit par une augmentation plus ou moins forte de la contagion dans ces régions du monde…
En mutant, votre maladie peut acquérir des capacités. Ces capacités lui permettent de mieux appréhender un milieu ou une situation, ainsi la capacité *Résistance au froid* donne un supplément de vigueur à votre virus dans les pays froids. Cela se traduit par une augmentation plus ou moins forte de la contagion dans ces régions du monde…
### Moyens de transmissions
Votre maladie aura tout le loisir de changer ses moyens de transmission ! Plus ou moins efficaces ceux-ci permettent à votre maladie d'accéder à des caractérestiques intéressantes qui lui permettront de coloniser le monde entier !
Votre maladie aura tout le loisir de changer ses moyens de transmission ! Plus ou moins efficaces ceux-ci permettent à votre maladie d'accéder à des caractéristiques intéressantes qui lui permettront de coloniser le monde entier !

View File

@ -30,6 +30,9 @@ void next_frame(struct game *current_game)
}
if (current_game->planes[i]->x == current_game->planes[i]->dest_x && current_game->planes[i]->y == current_game->planes[i]->dest_y)
{
// Infect the airport
if (current_game->planes[i]->is_infected) current_game->grid.data[current_game->planes[i]->x + current_game->planes[i]->y * current_game->grid.width] = 1;
// Set the new destination
current_game->planes[i]->dest_x = current_game->planes[i]->depa_x;
current_game->planes[i]->dest_y = current_game->planes[i]->depa_y;
@ -42,6 +45,14 @@ void next_frame(struct game *current_game)
int new_dir = (current_game->planes[i]->direction + 2) % 4;
if (!new_dir) new_dir = 4;
current_game->planes[i]->direction = new_dir;
// Infect the plane
if (current_game->grid.data[current_game->planes[i]->x + current_game->planes[i]->y * current_game->grid.width] == 1 &&
(current_game->mutations_selected[2] == 3 ||
current_game->mutations_selected[2] == 2 ||
current_game->mutations_selected[2] == 5)) current_game->planes[i]->is_infected = 1;
}
}
@ -54,7 +65,8 @@ void next_frame(struct game *current_game)
current_game->time = 0;
// Update the game
if (current_game->dna < 30) current_game->dna += 1 + floor(current_game->severity / 25);
current_game->dna = current_game->dna + 1 + floor(current_game->severity / 25);
if (current_game->dna > 30) current_game->dna = 30;
if (current_game->research < current_game->limit) current_game->research += current_game->priority;
epidemic_simulation(current_game);

View File

@ -70,6 +70,8 @@ struct plane
// Coordinates of the plane's departure
int depa_x, depa_y;
int is_infected;
};
//cursor : cursor information for mutations selection

View File

@ -6,7 +6,7 @@ const struct mutation symptoms_data[14] =
{
{10, 10, 0, 2, 0, "NAUSEE"},
{15, 10, 0, 10, 0, "VOMISSEMENT"},
{10, 10, 0, 3, 0, "TOUX"},
{10, 5, 0, 3, 0, "TOUX"},
{15, 20, 0, 10, 0, "PNEUMONIE"},
{10, 30, 20, 15, 10, "TUMEUR"},
{15, 10, 5, 4, 0, "PLAIES"},

View File

@ -35,11 +35,11 @@ int main(void)
title_screen();
// Game statistics
struct plane plane_1 = {22, 20, 2, 84, 20, 22, 20};
struct plane plane_2 = {34, 20, 3, 34, 44, 34, 20};
struct plane plane_3 = {68, 44, 1, 68, 20, 68, 44};
struct plane plane_4 = {104, 20, 3, 104, 50, 104, 20};
struct plane plane_5 = {68, 44, 4, 34, 44, 68, 44};
struct plane plane_1 = {22, 20, 2, 84, 20, 22, 20, 0};
struct plane plane_2 = {34, 20, 3, 34, 44, 34, 20, 0};
struct plane plane_3 = {68, 44, 1, 68, 20, 68, 44, 0};
struct plane plane_4 = {104, 20, 3, 104, 50, 104, 20, 0};
struct plane plane_5 = {68, 44, 4, 34, 44, 68, 44, 0};
struct game current_game =

View File

@ -125,7 +125,7 @@ int mutation_buy(struct game *current_game, const struct cursor c, const int mut
// Update
update_disease(current_game);
current_game->priority += floor((mutation_data->severity + mutation_data->lethality) / 10);
current_game->priority += floor((mutation_data->severity + mutation_data->lethality) / 20);
const char *msg[5] = {"mutation", "achetee", "", "", ""};
message(msg);