How to add interface/graphics to C++?
Jan 27, 2016 at 1:24pm UTC
I just made a c++ code to play tic tac toe, but the "graphics" I'm using are quite ugly, are there any ways to easily implement some graphics? And how exactly will this be done? I only know the very basics of C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
#include <iostream>
int main()
{
char cSquare1('1' );
char cSquare2('2' );
char cSquare3('3' );
char cSquare4('4' );
char cSquare5('5' );
char cSquare6('6' );
char cSquare7('7' );
char cSquare8('8' );
char cSquare9('9' );
int iPlayerTurn(1);
bool bGameOver(false );
// Main game loop
do {
// Print board
std::cout << cSquare1 << "|" << cSquare2 << "|" << cSquare3 << std::endl;
std::cout << cSquare4 << "|" << cSquare5 << "|" << cSquare6 << std::endl;
std::cout << cSquare7 << "|" << cSquare8 << "|" << cSquare9 << std::endl;
// Set player marker: Player 1 uses X and Player 2 uses O
char cPlayerMark;
if (iPlayerTurn == 1) {
cPlayerMark = 'X' ;
} else {
cPlayerMark = 'O' ;
}
// Prompt the player for a move
std::cout << "Player" << iPlayerTurn << "'s move:" << std::endl;
bool bValidMove;
// Loop until we get a valid move
do {
char cNextMove;
std::cin >> cNextMove;
bValidMove = true ;
// Check for a valid move
if (cNextMove == '1' && cSquare1 == '1' ) {
cSquare1 = cPlayerMark;
} else if (cNextMove == '2' && cSquare2 == '2' ) {
cSquare2 = cPlayerMark;
} else if (cNextMove == '3' && cSquare3 == '3' ) {
cSquare3 = cPlayerMark;
} else if (cNextMove == '4' && cSquare4 == '4' ) {
cSquare4 = cPlayerMark;
} else if (cNextMove == '5' && cSquare5 == '5' ) {
cSquare5 = cPlayerMark;
} else if (cNextMove == '6' && cSquare6 == '6' ) {
cSquare6 = cPlayerMark;
} else if (cNextMove == '7' && cSquare7 == '7' ) {
cSquare7 = cPlayerMark;
} else if (cNextMove == '8' && cSquare8 == '8' ) {
cSquare8 = cPlayerMark;
} else if (cNextMove == '9' && cSquare9 == '9' ) {
cSquare9 = cPlayerMark;
} else {
std::cout << "Invalid Move. Try again." << std::endl;
bValidMove = false ;
}
} while (!bValidMove);
bGameOver = false ;
bool bWinGame = true ;
// Check for end of game conditions
if (cSquare1 != '1' ) {
if (cSquare2 == cSquare1 && cSquare3 == cSquare1) {
bGameOver = true ;
}
if (cSquare4 == cSquare1 && cSquare7 == cSquare1) {
bGameOver = true ;
}
}
if (cSquare5 != '5' ) {
if (cSquare1 == cSquare5 && cSquare9 == cSquare5) {
bGameOver = true ;
}
if (cSquare2 == cSquare5 && cSquare8 == cSquare5) {
bGameOver = true ;
}
if (cSquare4 == cSquare5 && cSquare6 == cSquare5) {
bGameOver = true ;
}
if (cSquare3 == cSquare5 && cSquare7 == cSquare5) {
bGameOver = true ;
}
}
if (cSquare9 != '9' ) {
if (cSquare3 == cSquare9 && cSquare6 == cSquare9) {
bGameOver = true ;
}
if (cSquare7 == cSquare9 && cSquare8 == cSquare9) {
bGameOver = true ;
}
}
// Need to check the board full (no-win condition)
if (cSquare1 != '1' && cSquare2 != '2' && cSquare3 != '3' &&
cSquare4 != '4' && cSquare5 != '5' && cSquare6 != '6' &&
cSquare7 != '7' && cSquare8 != '8' && cSquare9 != '9' && !bGameOver)
{
bGameOver = true ;
bWinGame = false ;
}
if (bGameOver) {
if (bWinGame) {
std::cout << "Player" << iPlayerTurn << " wins!" << std::endl;
}
// Print ending board
std::cout << cSquare1 << "|" << cSquare2 << "|" << cSquare3 << std::endl;
std::cout << cSquare4 << "|" << cSquare5 << "|" << cSquare6 << std::endl;
std::cout << cSquare7 << "|" << cSquare8 << "|" << cSquare9 << std::endl;
std::cout << "Game Over!" << std::endl;
std::cout << "Play again (y/n)?" << std::endl;
char cPlayAgain;
std::cin >> cPlayAgain;
if (cPlayAgain == 'y' ) {
bGameOver = false ;
// Clear the board
cSquare1 = '1' ;
cSquare2 = '2' ;
cSquare3 = '3' ;
cSquare4 = '4' ;
cSquare5 = '5' ;
cSquare6 = '6' ;
cSquare7 = '7' ;
cSquare8 = '8' ;
cSquare9 = '9' ;
}
iPlayerTurn = 1;
} else {
// Alternate player turns
if (iPlayerTurn == 1) {
iPlayerTurn = 2;
} else {
iPlayerTurn = 1;
}
}
} while (!bGameOver);
}
Jan 27, 2016 at 1:28pm UTC
Jan 27, 2016 at 2:04pm UTC
Graphics huh :3
Topic archived. No new replies allowed.