๐ŸŽฎ Othello C++ Mini Project โ€” Grading Rubric

Total Points: 800


1. Correct Board Display (Rendering) โ€” 80 points

  • Correct board size (e.g., 8ร—8)
  • Clear display of cells and pieces
  • Proper alignment and spacing
  • Board updates correctly after each move

2. Input Handling, Screen Control, and WASD Movement โ€” 80 points

  • Proper use of getch (no Enter required)
  • Correct screen clearing at appropriate times
  • Smooth cursor movement using W, A, S, D
  • Cursor stays within board boundaries
  • Correct cell selection mechanism

3. Core Game Logic and End-Game Conditions โ€” 200 points

  • Correct detection of valid moves
  • Proper flipping of pieces in all directions
  • Rejection of illegal moves
  • Correct turn switching
  • Accurate detection of game-ending conditions:
    • Full board
    • No valid moves for both players
  • Correct score calculation and winner declaration

4. Single-Player Mode and Bot Functionality โ€” 90 points

  • Ability to play against a bot
  • Bot always makes valid moves
  • Bot does not crash or freeze the game
  • Bot logic is consistent and reasonable (even if simple)

5. Menu System โ€” 50 points

  • Clear and functional main menu
  • Correct navigation between options
  • Proper handling of user selections

6. Leaderboard Saving and Display โ€” 50 points

  • Correct use of file I/O
  • Persistent storage of player data
  • Clean and readable leaderboard display
  • Data is not corrupted between runs

7. User Interface Quality (UI/UX) โ€” 50 points

  • Readable text-based interface
  • Proper spacing and alignment
  • Consistent visual style
  • Overall pleasant user experience

8. Code Cleanliness, Structure, and Modularity โ€” 100 points

  • Well-structured code with clear functions
  • Meaningful naming conventions
  • Minimal duplication
  • Logical separation of concerns
  • Readable and maintainable code

9. Code Understanding and Mastery โ€” 100 points**

  • Student can clearly explain their implementation
  • Demonstrates strong understanding of logic
  • Can modify or extend the code if asked
  • Code is not blindly copied or auto-generated

โœ… Points Summary

CategoryPoints
Board Display80
Input & Movement80
Game Logic & End Conditions200
Single-Player & Bot90
Menu System50
Leaderboard50
UI / UX50
Code Structure100
Code Mastery100
Total800

Bonus Features โ€” Up to 200 Points

1. Save & Load Game State โ€” 30 points

  • Ability to save the game during gameplay (e.g., via a specific key or on exit)
  • Complete game state is saved:
    • Board state
    • Current playerโ€™s turn
    • Game mode (single/multiplayer, board size, etc.)
  • Game can be loaded later via a โ€œLoad Gameโ€ menu option
  • Loaded game resumes correctly from the saved state

2. Advanced Bot Algorithms (e.g., Minimax) โ€” Up to 80 points

  • Implementation of an advanced decision-making algorithm such as:
    • Minimax
    • Minimax with depth limit
    • Alphaโ€“Beta pruning
  • Bot evaluates game states instead of choosing random or first-available moves
  • Algorithm is stable and does not significantly degrade performance

3. Visual Enhancement with ANSI Colors โ€” 20 points

  • Use of ANSI color codes for:
    • Black and white pieces
    • Board highlights
    • Menus or messages
  • Colors improve clarity and aesthetics
  • UI remains readable and consistent across the game

4. Configurable Board Size โ€” 10 points

  • User can select board size at the start of the game
  • Board size is even and valid (e.g., 6ร—6, 8ร—8, 10ร—10)
  • All game logic (moves, flips, end-game detection) adapts correctly to the chosen size

5. Display of Valid Moves (Hints) โ€” 10 points

  • Valid moves for the current player are visually indicated on the board
  • Uses a distinct marker (e.g., dim * or highlighted cell)
  • Hints update correctly when the turn changes
  • Hint display does not interfere with gameplay

6. Game Replay Feature โ€” 30 points

  • All moves are recorded during gameplay
  • After the game ends, user can replay the game from start to finish
  • Replay shows moves step-by-step in correct order
  • Controls for replay progression (automatic or manual) are reasonable

7. Creative Features & Enhancements โ€” Up to 50 points

  • Any original or creative idea that meaningfully improves the game, such as:
    • Difficulty levels
    • Undo move
    • Animations or delays
    • Better menus or transitions
  • Feature must be functional and integrated into the game