-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfonctions_tour_de_jeu.c
68 lines (55 loc) · 2.59 KB
/
fonctions_tour_de_jeu.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//
// Created by Peterrr on 10/06/2021.
//
#include <stdio.h>
#include <ctype.h>
#include "structure.h"
#include "fonctions_tour_de_jeu.h"
#include "type_missile.h"
#define u_accent 151
#define e_circonflexe 136
void coordonnees_tir(Missile_Coordinates* Coordonnees_missile){
do {
printf("O%c voulez-vous tirer ? Exemple : C7\n",u_accent );
fflush(stdin);
fgets(Coordonnees_missile->Given_Coordinates, 4, stdin);
Coordonnees_missile->Y_Coordinates = (toupper(Coordonnees_missile->Given_Coordinates[0]) - 'A');
if (Coordonnees_missile->Given_Coordinates[1] == '1' && Coordonnees_missile->Given_Coordinates[2] == '0') {
Coordonnees_missile->X_Coordinates = 9;
}else{
Coordonnees_missile->X_Coordinates = Coordonnees_missile->Given_Coordinates[1]-48 -1 ;
}
} while (Coordonnees_missile->X_Coordinates > 10 || Coordonnees_missile->X_Coordinates <= -1 || Coordonnees_missile->Y_Coordinates > 10 || Coordonnees_missile->Y_Coordinates <= -1);
}
void lancement_tir(Missile_Coordinates Coordonnees_missile, int missile_choisie, Grid* boat_grid, Grid* user_grid, boat* liste_bateaux[], Inventory* liste_missile){
switch (missile_choisie) {
case 1 :
fire_missile(Coordonnees_missile.X_Coordinates, Coordonnees_missile.Y_Coordinates, boat_grid, user_grid, *liste_bateaux, liste_missile);
break;
case 2 :
fire_tactical(Coordonnees_missile.X_Coordinates, Coordonnees_missile.Y_Coordinates, boat_grid, user_grid, *liste_bateaux, liste_missile);
break;
case 3 :
fire_bomb(Coordonnees_missile.X_Coordinates, Coordonnees_missile.Y_Coordinates, boat_grid, user_grid, *liste_bateaux, liste_missile);
break;
case 4 :
fire_artillery(Coordonnees_missile.X_Coordinates, Coordonnees_missile.Y_Coordinates, boat_grid, user_grid, *liste_bateaux, liste_missile);
break;
default :
printf("Erreur : valeur 'type_missile' invalide\n");
}
}
int continuer_partie(){
int J_Q; // jouer ou quitter(et sauvegarde)
printf( "\n"
" Voulez-vous continuer de jouer ? \n"
" Continuer : O Arr%cter : N \n\n", e_circonflexe);
fflush(stdin);
J_Q = fgetc(stdin);
while (J_Q != 'O' && J_Q != 'N'){
printf("Erreur : saisie incorrecte \n");
fflush(stdin);
J_Q = fgetc(stdin);
}
return(J_Q);
}