Files
ampersand/ampersand.c
2026-04-11 22:39:28 +02:00

96 lines
4.1 KiB
C

#include <stdio.h>
#include <stdlib.h>
int main() {
enum { columns = 3 };
char board[][columns] = {
{"___"},
{"___"},
{"___"}};
int arr[1];
int currentPlayer;
if ((int) arr % 32 != 0) {
currentPlayer = 1;
} else currentPlayer = 0;
int end;
int faul;
printf("\n------------------------------------------\n");
printf("Ampersand Tic-Tac-Toe (Feet not included.)\n");
printf("Very lightweight Tic-Tac-Toe remake.\n");
printf("Made by RegonGaming\n");
printf("Licensed under WTFPL License\n\n");
// while loop maybe?
while(end != 1) {
printf(" 1 2 3\nA |%c||%c||%c|\nB |%c||%c||%c|\nC |%c||%c||%c|\n", board[0][0],board[0][1],board[0][2],board[1][0],board[1][1],board[1][2],board[2][0],board[2][1],board[2][2]);
if (currentPlayer == 1) {
printf("It's Player 1's turn! ");
} else printf("It's Player 2's turn! ");
printf("Input your move! ");
char move[3];
scanf("%2s", move);
char* xStr = &move[0];
int y = atoi(xStr)-1;
int x;
if(move[1] == 'A') { x = 0;}
else if(move[1] == 'B') { x = 1;}
else if(move[1] == 'C') { x = 2;}
if (board[x][y] != 'x' && board[x][y] != 'o') {
if (currentPlayer == 1) {
board[x][y] = 'x';
} else board[x][y] = 'o';
} else {
printf("That place is already taken up.\n");
faul = 1;
}
// super smart validation AI
for(int i = 0; i < 3; i++) {
if(board[i][0] == 'x' && board[i][1] == 'x' && board[i][2] == 'x' || board[0][i] == 'x' && board[1][i] == 'x' && board[2][i] == 'x') {
end = 1;
printf(" 1 2 3\nA |%c||%c||%c|\nB |%c||%c||%c|\nC |%c||%c||%c|\n", board[0][0],board[0][1],board[0][2],board[1][0],board[1][1],board[1][2],board[2][0],board[2][1],board[2][2]);
printf("X won!1!");
}
if(board[i][0] == 'o' && board[i][1] == 'o' && board[i][2] == 'o' || board[0][i] == 'o' && board[1][i] == 'o' && board[2][i] == 'o') {
end = 1;
printf(" 1 2 3\nA |%c||%c||%c|\nB |%c||%c||%c|\nC |%c||%c||%c|\n", board[0][0],board[0][1],board[0][2],board[1][0],board[1][1],board[1][2],board[2][0],board[2][1],board[2][2]);
printf("O won!1!");
}
}
if(board[0][0] == 'x' && board[1][1] == 'x' && board[2][2] == 'x' || board[2][0] == 'x' && board[1][1] == 'x' && board[0][2] == 'x') {
end = 1;
printf(" 1 2 3\nA |%c||%c||%c|\nB |%c||%c||%c|\nC |%c||%c||%c|\n", board[0][0],board[0][1],board[0][2],board[1][0],board[1][1],board[1][2],board[2][0],board[2][1],board[2][2]);
printf("X won!1!\n");
}
if(board[0][0] == 'o' && board[1][1] == 'o' && board[2][2] == 'o' || board[2][0] == 'o' && board[1][1] == 'o' && board[0][2] == 'o') {
end = 1;
printf(" 1 2 3\nA |%c||%c||%c|\nB |%c||%c||%c|\nC |%c||%c||%c|\n", board[0][0],board[0][1],board[0][2],board[1][0],board[1][1],board[1][2],board[2][0],board[2][1],board[2][2]);
printf("O won!1!\n");
}
if (end != 1) {
if(
board[0][0] != '_' &&
board[0][1] != '_' &&
board[0][2] != '_' &&
board[1][0] != '_' &&
board[1][1] != '_' &&
board[1][2] != '_' &&
board[2][0] != '_' &&
board[2][1] != '_' &&
board[2][2] != '_' ) {
end = 1;
printf(" 1 2 3\nA |%c||%c||%c|\nB |%c||%c||%c|\nC |%c||%c||%c|\n", board[0][0],board[0][1],board[0][2],board[1][0],board[1][1],board[1][2],board[2][0],board[2][1],board[2][2]);
printf("All the places are filled up. Can't continue!\n");
}
}
if (faul != 1) {
if (currentPlayer == 1) {
currentPlayer -= 1;
} else currentPlayer += 1;
}
faul = 0;
}
return 0;
}