fug
このコミットが含まれているのは:
コミット
eda7d1fab6
39
uttt.c
39
uttt.c
|
@ -211,7 +211,32 @@ void ut_local_game(struct ut_state *state) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ut_host_game(struct ut_state *state, int sock) {
|
void ut_host_game(struct ut_state *state, int sock) {
|
||||||
printf(":P\n");
|
while (true) {
|
||||||
|
int x, y;
|
||||||
|
ut_show(state);
|
||||||
|
for (int j = 0; j < 3; j++) {
|
||||||
|
for (int i = 0; i < 3; i++) {
|
||||||
|
putchar(state->boards[j][i]);
|
||||||
|
}
|
||||||
|
putchar('\n');
|
||||||
|
}
|
||||||
|
bool ok = getpos(state, &y, &x);
|
||||||
|
if (!ok) {continue;}
|
||||||
|
int err = ut_move(state, state, x, y);
|
||||||
|
if (err) {continue;}
|
||||||
|
char w = ut_winner((char *)state->boards, 0, 3);
|
||||||
|
if(w)
|
||||||
|
{
|
||||||
|
if(w == ' ')
|
||||||
|
{
|
||||||
|
printf("\nDraw!\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("\n%c wins!\n", (int)w);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
|
@ -236,6 +261,18 @@ int main(int argc, char **argv) {
|
||||||
printf("error %d\n", errsv);
|
printf("error %d\n", errsv);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
if (listen(sock, 128) == -1) {
|
||||||
|
int errsv = errno;
|
||||||
|
printf("error %d\n", errsv);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
printf("Waiting for game partner at 127.0.0.1:6669 ...\n");
|
||||||
|
int conn = accept(sock, NULL, NULL);
|
||||||
|
if (conn == -1) {
|
||||||
|
int errsv = errno;
|
||||||
|
printf("error %d\n", errsv);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
ut_host_game(&state, sock);
|
ut_host_game(&state, sock);
|
||||||
} else if (strncmp(argv[1], arg_join, strlen(arg_join)) == 0) {
|
} else if (strncmp(argv[1], arg_join, strlen(arg_join)) == 0) {
|
||||||
printf("no ;)\n");
|
printf("no ;)\n");
|
||||||
|
|
読み込み中…
新しいイシューから参照