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