190 likes | 532 Views
Chess ++. Goals. Create a functional version of chess Adding bonus features Attack and defense Bonus cards Health bars Save functionality/New Game options Testing framework. Working Chess. Back End structure Global variables Chesspiece object ChessSquare object ChessBoard object.
E N D
Goals • Create a functional version of chess • Adding bonus features • Attack and defense • Bonus cards • Health bars • Save functionality/New Game options • Testing framework
Working Chess • Back End structure • Global variables • Chesspiece object • ChessSquare object • ChessBoard object
Global variables • The turn (which colour pieces can be moved) • Active vectors (which colour pieces are on the board) • Eliminated vectors (which pieces have been eliminated) • King vectors (for check and checkmate) • The board (a multidimensional array of chess squares)
ChessPiece Object • Object storing piece information • Can be any one of pawn, knight, bishop, rook, queen or king • Stores position, attack, defense, health • Movement capabilities dependent on piece (inheritance)
ChessSquare Object • For displaying information about the chessboard • Can contain a piece or not (and display this accordingly) • Responds to mouse click events
ChessBoard Object • Contains information on the chess game • Functions in ChessBoard affect the global variable board • Passed to the Mainwindow (class which displays chess information) • Used to set up a chess board
Front End • Booyeong?
Promotion • Alex?
Bonus Features • Attack and Defense • Health Bars • Bonus Cards
Attack and Defense • A player has the option of attacking another piece in their turn
Health Bars • Ali?
Bonus Cards • Alex?
Game options • New Game • Save Game • Load Game
Testing • Fiona?