-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnote.txt
More file actions
62 lines (53 loc) · 2.24 KB
/
note.txt
File metadata and controls
62 lines (53 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
notes:
3 Additional classes to add
Server class: the server class connects the two clients such that every move passes through the server and then to the other client
- In theory, this is the basis of an online game
ClientText class
ClientGUI class
running two instances of any of the clients should work.
Text + GUI
Text + Text
GUI + GUI
-----
/*
* 🔁 COSC 2P13 PROJECT ROADMAP — RESTATED
* 🎮 OBJECTIVE:
* Build a 2-player networked card game (CoExistence) with:
* → Game logic
* → Server (with socket communication)
* → GUI Client (Java Swing)
* ─────────────────────────────────────
* ✅ STEP 1: Understand the Game Rules
* - Rock-paper-scissors style:
* → Axe > Hammer, Hammer > Sword, Sword > Axe, Arrow kills any (0 points)
* - 12–16 card deck, 6 per player per round
* - Round ends when both players pass
* - Game ends at 9 points or after 5 rounds
* ✅ STEP 2: Implement Core Game Logic (No networking yet)
* - Create classes: Unit, Deck, Player, GameState
* - Build and shuffle deck, deal hands
* - Handle turns, legal moves, scoring, round transitions
* - Use TextUI to test full gameplay in console
* ✅ STEP 3: Build the Server
* - Listens on port 21357
* - Accepts socket connections
* - Pairs players and runs GameState in a new thread
* - Sends 40×19 text-based message frames
* ✅ STEP 4: Test with Terminal
* - Use netcat (or similar) to connect to the server
* - Send commands like “BD” (attack), “PS” (pass)
* - Observe frames and debug game logic via text
* ✅ STEP 5: Build the GUI Client (Java Swing)
* - Parse server frames to extract state info
* - Render unit cards, log, and controls
* - Send valid moves to server
* - Prevent input when it’s not the user’s turn
* ✅ STEP 6: Final Testing
* - Test full game with 2 GUI clients or 1 GUI + 1 terminal
* - Ensure rounds, scoring, and game-end all function correctly
* - Handle invalid input and disconnects gracefully
* ✅ STEP 7: Submission
* - Include server, GUI client, run configurations
* - Submit as a single .zip to Brightspace
* - Stick to Java 11, no late submissions accepted
*/