From d9bffd8d2cd0be07d776bca5671d09e922463d82 Mon Sep 17 00:00:00 2001 From: gitJustin86 Date: Mon, 1 Apr 2019 22:36:53 +0100 Subject: [PATCH] Justin's style of coding CHESS --- src/Makefile | 4 + src/chessPieces/bishop.cpp | 13 +++ src/chessPieces/king.cpp | 14 ++++ src/chessPieces/knight.cpp | 14 ++++ src/chessPieces/pawn.cpp | 14 ++++ src/chessPieces/queen.cpp | 14 ++++ src/chessPieces/rook.cpp | 14 ++++ src/main.cpp | 161 ++++++++++++++++++++++++++++++------- 8 files changed, 219 insertions(+), 29 deletions(-) create mode 100644 src/Makefile create mode 100644 src/chessPieces/bishop.cpp create mode 100644 src/chessPieces/king.cpp create mode 100644 src/chessPieces/knight.cpp create mode 100644 src/chessPieces/pawn.cpp create mode 100644 src/chessPieces/queen.cpp create mode 100644 src/chessPieces/rook.cpp diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..6d188be --- /dev/null +++ b/src/Makefile @@ -0,0 +1,4 @@ +default: build + +build: + g++ -o main.out main.cpp -std=c++11 diff --git a/src/chessPieces/bishop.cpp b/src/chessPieces/bishop.cpp new file mode 100644 index 0000000..bcbd7eb --- /dev/null +++ b/src/chessPieces/bishop.cpp @@ -0,0 +1,13 @@ +class Bishop +{ + public: + double points = 3; + bool status; + bool white = true; + static std::string piece() { return "B"; } + std::string player() + { + if (white == true) { return "w"; } + else { return "b"; } + } +}; diff --git a/src/chessPieces/king.cpp b/src/chessPieces/king.cpp new file mode 100644 index 0000000..f1f1947 --- /dev/null +++ b/src/chessPieces/king.cpp @@ -0,0 +1,14 @@ +class King +{ + public: + double points = 0; + bool status; + bool white = true; + static std::string piece() { return "K"; } + std::string player() + { + if (white == true) { return "w"; } + else { return "b"; } + } +}; + diff --git a/src/chessPieces/knight.cpp b/src/chessPieces/knight.cpp new file mode 100644 index 0000000..0db4bfd --- /dev/null +++ b/src/chessPieces/knight.cpp @@ -0,0 +1,14 @@ +class Knight +{ + public: + double points = 3; + bool status; + bool white = true; + static std::string piece() { return "K"; } + std::string player() + { + if (white == true) { return "w"; } + else { return "b"; } + } +}; + diff --git a/src/chessPieces/pawn.cpp b/src/chessPieces/pawn.cpp new file mode 100644 index 0000000..6a4839c --- /dev/null +++ b/src/chessPieces/pawn.cpp @@ -0,0 +1,14 @@ +class Pawn +{ + public: + double points = 1; + bool status; + bool white = true; + static std::string piece() { return "P"; } + std::string player() + { + if (white == true) { return "w"; } + else { return "b"; } + } +}; + diff --git a/src/chessPieces/queen.cpp b/src/chessPieces/queen.cpp new file mode 100644 index 0000000..2993c5f --- /dev/null +++ b/src/chessPieces/queen.cpp @@ -0,0 +1,14 @@ +class Queen +{ + public: + double points = 9; + bool status; + bool white = true; + static std::string piece() { return "Q"; } + std::string player() + { + if (white == true) { return "w"; } + else { return "b"; } + } +}; + diff --git a/src/chessPieces/rook.cpp b/src/chessPieces/rook.cpp new file mode 100644 index 0000000..f46e25e --- /dev/null +++ b/src/chessPieces/rook.cpp @@ -0,0 +1,14 @@ +class Rook +{ + public: + double points = 5; + bool status; + bool white = true; + static std::string piece() { return "R"; } + std::string player() + { + if (white == true) { return "w"; } + else { return "b"; } + } +}; + diff --git a/src/main.cpp b/src/main.cpp index 70a57ed..3d3f6dc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,38 +1,141 @@ #include #include +#include +#include "chessPieces/rook.cpp" +#include "chessPieces/knight.cpp" +#include "chessPieces/bishop.cpp" +#include "chessPieces/queen.cpp" +#include "chessPieces/king.cpp" +#include "chessPieces/pawn.cpp" using namespace std; -enum Spaces { - A8, B8, C8, D8, E8, F8, G8, H8, A7, B7, C7, D7, E7, F7, G7, H7, A6, B6, C6, D6, E6, F6, G6, H6, A5, B5, C5, D5, E5, F5, G5, H5, A4, B4, C4, D4, E4, F4, G4, H4, A3, B3, C3, D3, E3, F3, G3, H3, A2, B2, C2, D2, E2, F2, G2, H2, A1, B1, C1, D1, E1, F1, G1, H1 +class Chess +{ + int board[64] = {0,1,0,1,0,1,0,1, + 1,0,1,0,1,0,1,0, + 0,1,0,1,0,1,0,1, + 1,0,1,0,1,0,1,0, + 0,1,0,1,0,1,0,1, + 1,0,1,0,1,0,1,0, + 0,1,0,1,0,1,0,1, + 1,0,1,0,1,0,1,0}; + public: + string square(int x, string piece, string player) + { + if (board[x] == 1) + { + return "B-"+ player + piece +" "; + } + else + { + return "W-"+ player + piece +" "; + } + } }; -enum Piece { - NONE, - W_KING, W_QUEEN, W_ROOK, W_BISHOP, W_KNIGHT, W_PAWN, - B_KING, B_QUEEN, B_ROOK, B_BISHOP, B_KNIGHT, B_PAWN -}; +int main() +{ + Chess chs; + + Rook rb1, rb2; + rb1.white = false; + rb2.white = false; + + Knight kb1, kb2; + kb1.white = false; + kb2.white = false; + + Bishop bb1, bb2; + bb1.white = false; + bb2.white = false; + + Queen Qb; + Qb.white = false; + + King Kb; + Kb.white = false; + + Pawn pb1,pb2,pb3,pb4,pb5,pb6,pb7,pb8; + pb1.white = false; + pb2.white = false; + pb3.white = false; + pb4.white = false; + pb5.white = false; + pb6.white = false; + pb7.white = false; + pb8.white = false; + + Rook rw1, rw2; + rw1.white = true; + rw2.white = true; + + Knight kw1, kw2; + kw1.white = true; + kw2.white = true; + + Bishop bw1, bw2; + bw1.white = true; + bw2.white = true; + + Queen Qw; + Qw.white = true; + + King Kw; + Kw.white = true; + + Pawn pw1,pw2,pw3,pw4,pw5,pw6,pw7,pw8; + pw1.white = true; + pw2.white = true; + pw3.white = true; + pw4.white = true; + pw5.white = true; + pw6.white = true; + pw7.white = true; + pw8.white = true; + + for (int i = 0; i < 8; ++i) + { + for (int j = 0; j < 8; ++j) + { + int sqNum = (8 * i) + j; + + if (sqNum == 0) { cout << chs.square(sqNum, rb1.player(), rb1.piece()); } + else if (sqNum == 1) { cout << chs.square(sqNum, kb1.player(), kb1.piece()); } + else if (sqNum == 2) { cout << chs.square(sqNum, bb1.player(), bb1.piece()); } + else if (sqNum == 3) { cout << chs.square(sqNum, Qb.player() , Qb.piece()); } + else if (sqNum == 4) { cout << chs.square(sqNum, Kb.player() , Kb.piece()); } + else if (sqNum == 5) { cout << chs.square(sqNum, bb2.player(), bb2.piece()); } + else if (sqNum == 6) { cout << chs.square(sqNum, kb2.player(), kb2.piece()); } + else if (sqNum == 7) { cout << chs.square(sqNum, rb2.player(), rb2.piece()); } + else if (sqNum == 8) { cout << chs.square(sqNum, pb1.player(), pb1.piece()); } + else if (sqNum == 9) { cout << chs.square(sqNum, pb2.player(), pb2.piece()); } + else if (sqNum == 10) { cout << chs.square(sqNum, pb3.player(), pb3.piece()); } + else if (sqNum == 11) { cout << chs.square(sqNum, pb4.player(), pb4.piece()); } + else if (sqNum == 12) { cout << chs.square(sqNum, pb5.player(), pb5.piece()); } + else if (sqNum == 13) { cout << chs.square(sqNum, pb6.player(), pb6.piece()); } + else if (sqNum == 14) { cout << chs.square(sqNum, pb7.player(), pb7.piece()); } + else if (sqNum == 15) { cout << chs.square(sqNum, pb8.player(), pb8.piece()); } + else if (sqNum == 63) { cout << chs.square(sqNum, rw1.player(), rw1.piece()); } + else if (sqNum == 62) { cout << chs.square(sqNum, kw1.player(), kw1.piece()); } + else if (sqNum == 61) { cout << chs.square(sqNum, bw1.player(), bw1.piece()); } + else if (sqNum == 59) { cout << chs.square(sqNum, Qw.player() , Qw.piece()); } + else if (sqNum == 60) { cout << chs.square(sqNum, Kw.player() , Kw.piece()); } + else if (sqNum == 58) { cout << chs.square(sqNum, bw2.player(), bw2.piece()); } + else if (sqNum == 57) { cout << chs.square(sqNum, kw2.player(), kw2.piece()); } + else if (sqNum == 56) { cout << chs.square(sqNum, rw2.player(), rw2.piece()); } + else if (sqNum == 55) { cout << chs.square(sqNum, pw1.player(), pw1.piece()); } + else if (sqNum == 54) { cout << chs.square(sqNum, pw2.player(), pw2.piece()); } + else if (sqNum == 53) { cout << chs.square(sqNum, pw3.player(), pw3.piece()); } + else if (sqNum == 52) { cout << chs.square(sqNum, pw4.player(), pw4.piece()); } + else if (sqNum == 51) { cout << chs.square(sqNum, pw5.player(), pw5.piece()); } + else if (sqNum == 50) { cout << chs.square(sqNum, pw6.player(), pw6.piece()); } + else if (sqNum == 49) { cout << chs.square(sqNum, pw7.player(), pw7.piece()); } + else if (sqNum == 48) { cout << chs.square(sqNum, pw8.player(), pw8.piece()); } + else { cout << chs.square(sqNum, " ", " "); } + } + cout << endl; + } -int main(){ - - int board[64] = { - Piece::W_ROOK, Piece::W_KNIGHT, Piece::W_BISHOP, Piece::W_QUEEN, Piece::W_KING, Piece::W_BISHOP, Piece::W_KNIGHT, B_ROOK, - Piece::W_PAWN, Piece::W_PAWN, Piece::W_PAWN, Piece::W_PAWN, Piece::W_PAWN, Piece::W_PAWN, Piece::W_PAWN, Piece::W_PAWN, - Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, - Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, - Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, - Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, Piece::NONE, - Piece::B_PAWN, Piece::B_PAWN, Piece::B_PAWN, Piece::B_PAWN, Piece::B_PAWN, Piece::B_PAWN, Piece::B_PAWN, Piece::B_PAWN, - Piece::B_ROOK, Piece::B_KNIGHT, Piece::B_BISHOP, Piece::B_QUEEN, Piece::B_KING, Piece::B_BISHOP, Piece::B_KNIGHT, Piece::B_ROOK, - }; - - for (int i = 0; i < 8; ++i){ - for (int j = 0; j < 8; ++j){ - int bx = (i * 8) +j; - cout << hex << board[bx]; - } - cout << endl; - } - - return 0; + return 0; }