Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 12 Sep 2012
Offline Last Active Sep 13 2012 12:36 PM

Topics I've Started

C++/OpenGL Chess Game Project

12 September 2012 - 10:55 AM

So, I'm a student at UHV and I'm taking a class called Computer Graphics Applications, as is required for my degree in Computer Science - Digital Gaming and Simulation. We were assigned a final project, and I want to start working on that project now so that I can refine it until it is perfect by the end of the semester. I chose a chess game, rendered with OpenGL.
This would do three things for me: (1) Help to make me more fluent in C++. (2) Help solidify OOP concepts I've been learning. (3) Give me a head start into Game AI before I take the AI class next semester
So, I'm not sure if i will get much help on here, but any would be much appreciated. I'm not looking for somebody to tell me all of the answers, I would like to figure the code out on my own, but pointing me to the right concepts is what I really need. At this point, I'm not sure where to start.. Here is what I have:
Classes: RED
SubClasses: GREEN
Data Members: BLUE
Functions: PURPLE

enum TurnState
enum GameState

- Player(abstract class)
- Computer(inherits from Player)
- ChessGame
- Player p1, p2
-TurnState turnState
- GameState gamState
- Move
- *Piece
- Location origin
- Location destination
- Location
- row
- col
- *ChessBoard
- ChessBoard
-isValid(move) //checks if the move is valid
- ChessPiece(abstract class)
- GetValue() //returns an int value of the peice(for scoring)
- GetPosition() //returns the current position of a piece
- getIsSelected() //returns a boolean, true if selected, fale if unselected
- move() // moves the piece in a way dependent upon what piece
- Pawn
- Rook
- Queen
- King
- Knight

So this is what I have so far. All of the pieces will inherit methods from Piece and be able to override those methods. But I have several questions:
Where and how do I tie OpenGL into this? What classes should have openGL code in them? Should I make seperate classes for openGL??
Do I still make a 2d array in memory to store the position of the pieces? Or is eveyrthing done on screen? For example, would I say, " rook location is [1][3]" or would I tell openGL "When I click on this part of the screen, select the rook", or both?

Are there classes I should add? What other functions will I need? How do i get started?