このコミットが含まれているのは:
ninya9k 2023-11-12 13:42:03 +00:00
コミット eda7d1fab6
1個のファイルの変更38行の追加1行の削除

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) {
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) {
@ -236,6 +261,18 @@ int main(int argc, char **argv) {
printf("error %d\n", errsv);
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);
} else if (strncmp(argv[1], arg_join, strlen(arg_join)) == 0) {
printf("no ;)\n");