vault backup: 2026-01-06 20:28:50
This commit is contained in:
@@ -0,0 +1,177 @@
|
||||
# 🎮 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 — **100 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 — **60 points**
|
||||
- Clear and functional main menu
|
||||
- Correct navigation between options
|
||||
- Proper handling of user selections
|
||||
|
||||
---
|
||||
|
||||
## 6. Leaderboard Saving and Display — **70 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 — **90 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 — 70 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
|
||||
|
||||
| Category | Points |
|
||||
| --------------------------- | ------- |
|
||||
| Board Display | 80 |
|
||||
| Input & Movement | 80 |
|
||||
| Game Logic & End Conditions | 200 |
|
||||
| Single-Player & Bot | 100 |
|
||||
| Menu System | 60 |
|
||||
| Leaderboard | 70 |
|
||||
| UI / UX | 50 |
|
||||
| Code Structure | 90 |
|
||||
| Code Mastery | 70 |
|
||||
| **Total** | **800** |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Bonus Features — **Up to 200 Points**
|
||||
|
||||
## 1. Save & Load Game State — **20 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 — **20 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
|
||||
|
||||
---
|
||||
|
||||
## 8. Creative Features & Enhancements — **Up to 40 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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user