-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgame.c
138 lines (126 loc) · 2.22 KB
/
game.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# define Row 4
# define Col 4
#include <stdio.h>
#include <stdlib.h>
void Initboard(char board[Row][Col], int row, int col)
{
int i = 0;
for (i = 0; i < row; i++)
{
int j = 0;
for (j = 0; j < col; j++)
{
board[i][j] = ' ';
}
}
}
void Displayboard(char board[Row][Col], int row, int col)
{
int i = 0;
int j = 0;
for (i=0;i < row; i++)
{
for (j = 0;j < col; j++)
{
printf(" %c ", board[i][j]);
if (j < col - 1)
{
printf("|");
}
}
printf("\n");
if (i< row - 1)
{
for (j=0; j < col; j++)
{
printf("---");
if (j < col - 1)
{
printf("|");
}
}
printf("\n");
}
}
}
void PlayerMove(char board[Row][Col], int row, int col)
{
int x = 0;
int y = 0;
int chess_type;
int blood_A[4];
int attack_A[4];
int coor_A[4][2];
int blood_B[4];
int attack_B[4];
int coor_B[4][2];
for (int i = 0; i < 4; i++)
{
printf("A玩家下第%d棋, 請輸入棋子種類: ", i+1);
scanf("%d", &chess_type);
if (chess_type > 3)
{
printf("available number for chess type is 0,1,2,3.\n");
i--;
continue;
}
switch (chess_type)
{
case 0:
blood_A[i] = 5;
attack_A[i] = 3;
break;
case 1:
blood_A[i] = 2;
attack_A[i] = 2;
break;
case 2:
blood_A[i] = 5;
attack_A[i] = 3;
break;
case 3:
blood_A[i] = 10;
attack_A[i] = 10;
break;
default:
break;
}
printf("A玩家下第%d棋, 請輸入棋子座標: ", i+1);
scanf("%d %d", &x, &y);
coor_A[i][0] = x;
coor_A[i][1] = y;
printf("B玩家下第%d棋, 請輸入棋子種類: ", i+1);
scanf("%d", &chess_type);
if (chess_type > 3)
{
printf("available number for chess type is 0,1,2,3.\n");
i--;
continue;
}
switch (chess_type)
{
case 0:
blood_B[i] = 5;
attack_B[i] = 3;
break;
case 1:
blood_B[i] = 2;
attack_B[i] = 2;
break;
case 2:
blood_B[i] = 5;
attack_B[i] = 3;
break;
case 3:
blood_B[i] = 10;
attack_B[i] = 10;
break;
default:
break;
}
printf("B玩家下第%d棋, 請輸入棋子座標: ", i+1);
scanf("%d %d", &x, &y);
coor_B[i][0] = x;
coor_B[i][1] = y;
}
}