1 / 18

Chess ++

Chess ++. Capricorn Adrian Hoekman Daniel Potvin Ali El- Shakankiry Fiona Sinclair Alex Wisman Boyeong Woo. Goals. Create a functional version of chess Adding bonus features Attack and defense Bonus cards Health bars Save functionality/New Game options Testing framework.

caraf
Download Presentation

Chess ++

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chess ++ Capricorn Adrian Hoekman Daniel Potvin Ali El-Shakankiry Fiona Sinclair Alex Wisman Boyeong Woo

  2. Goals • Create a functional version of chess • Adding bonus features • Attack and defense • Bonus cards • Health bars • Save functionality/New Game options • Testing framework

  3. Where we are

  4. Working Chess • Back End structure • Global variables • Chesspiece object • ChessSquare object • ChessBoard object

  5. 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)

  6. 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)

  7. ChessSquare Object • For displaying information about the chessboard • Can contain a piece or not (and display this accordingly) • Responds to mouse click events

  8. 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

  9. Promotion • The option to change a pawn to a knight, bishop, rook, or queen if the pawn advances to the last square • A Qlabel appears when the pawn is about to reach the last square • The user choice is then recorded, the pawn is removed and the piece the user chose appears on the last square

  10. Promotion Example

  11. Bonus Features • Health Bars • Attack and defense • Bonus Cards

  12. Health Bars • Pieces have a certain amount of health • Health is reduced when one piece attacks another • Amount of health also displayed above pieces

  13. Attack and Defense • A player has the option of attacking another piece in their turn • The amount of damage done to a piece when another piece attacks • Attack, defense, and health saved as attributes in pieces

  14. Bonus Cards • Happen after a certain number of pieces have been taken • Offers the option to place a piece back on the board

  15. Bonus Example

  16. Bonus Example Continued

  17. Game options • New Game • Save Game • Load Game

  18. Testing • Sikuli • Automated GUI testing software • We used this to ensure our changes did not impact piece behavior when undesired

More Related