f
This commit is contained in:
+29
-41
@@ -3,8 +3,12 @@
|
||||
|
||||
const char p1 = 'x', p2 = 'o';
|
||||
char temp = 0;
|
||||
|
||||
// char buf[9] = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' };
|
||||
|
||||
void
|
||||
print_bits_int(unsigned int n);
|
||||
|
||||
unsigned int
|
||||
encoder(unsigned int mask, int length, int point)
|
||||
{
|
||||
@@ -60,48 +64,24 @@ draw_board(unsigned int buf)
|
||||
for (int i = 0; i < 9; i += 3)
|
||||
{
|
||||
char row[] = " 0 | 0 | 0\n";
|
||||
if (decoder(buf, i) == 1)
|
||||
{
|
||||
row[1] = 'x';
|
||||
}
|
||||
else if (decoder(buf, i) == 2)
|
||||
{
|
||||
row[1] = 'o';
|
||||
}
|
||||
else
|
||||
{
|
||||
row[1] = ' ';
|
||||
}
|
||||
if (decoder(buf, i + 1) == 1)
|
||||
{
|
||||
row[5] = 'x';
|
||||
}
|
||||
else if (decoder(buf, i + 1) == 2)
|
||||
{
|
||||
row[5] = 'o';
|
||||
}
|
||||
else
|
||||
{
|
||||
row[5] = ' ';
|
||||
}
|
||||
if (decoder(buf, i + 2) == 1)
|
||||
{
|
||||
row[9] = 'x';
|
||||
}
|
||||
else if (decoder(buf, i + 2) == 2)
|
||||
{
|
||||
row[9] = 'o';
|
||||
}
|
||||
else
|
||||
{
|
||||
row[9] = ' ';
|
||||
}
|
||||
if (decoder(buf, i) == 1) row[1] = 'x';
|
||||
else if (decoder(buf, i) == 2) row[1] = 'o';
|
||||
else row[1] = ' ';
|
||||
|
||||
if (decoder(buf, i + 1) == 1) row[5] = 'x';
|
||||
else if (decoder(buf, i + 1) == 2) row[5] = 'o';
|
||||
else row[5] = ' ';
|
||||
|
||||
if (decoder(buf, i + 2) == 1) row[9] = 'x';
|
||||
else if (decoder(buf, i + 2) == 2) row[9] = 'o';
|
||||
else row[9] = ' ';
|
||||
write(1, row, sizeof(row) - 1);
|
||||
if (i < 6) write(1, divider, sizeof(divider) - 1);
|
||||
}
|
||||
write(1, "Current Player: ", 16);
|
||||
write(1, &temp, 1);
|
||||
write(1, "\n", 1);
|
||||
print_bits_int(buf);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -120,8 +100,12 @@ int
|
||||
main()
|
||||
{
|
||||
unsigned player_mask = 0;
|
||||
player_mask = encoder(player_mask, 1, 0);
|
||||
draw_board(player_mask);
|
||||
player_mask = encoder(player_mask, 1, 13); // p1
|
||||
player_mask = encoder(player_mask, 2, 14); // p2
|
||||
player_mask = encoder(player_mask, 1, 15); // Temp
|
||||
|
||||
// player_mask = encoder(player_mask, 1, 0);
|
||||
// draw_board(player_mask);
|
||||
// player_mask = encoder(player_mask, 1, 1);
|
||||
// print_bits_int(player_mask);
|
||||
// player_mask = encoder(player_mask, 2, 3);
|
||||
@@ -162,9 +146,9 @@ main()
|
||||
read(0, &ch, 1);
|
||||
if (ch == 'q') break;
|
||||
unsigned char idx = ch - '1';
|
||||
if (ch >= '1' && ch <= '9' && decoder(player_mask, idx) != (1 | 2))
|
||||
if (ch >= '1' && ch <= '9' &&
|
||||
decoder(player_mask, idx) != (1 | 2))
|
||||
{
|
||||
// buf[idx] = temp;
|
||||
player_mask = encoder(player_mask, 1, idx);
|
||||
// if (check_line(temp))
|
||||
// {
|
||||
@@ -174,7 +158,11 @@ main()
|
||||
// sizeof(" wins!\n") - 1);
|
||||
// goto end;
|
||||
// }
|
||||
// temp = (temp == 1) ? 2 : 1;
|
||||
temp = (decoder(player_mask, 15) == 1)
|
||||
? (player_mask =
|
||||
encoder(player_mask, 2, 15))
|
||||
: (player_mask =
|
||||
encoder(player_mask, 2, 15));
|
||||
filled++;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user