Planning making game (Tic tac toe)
===
Thành viên nhóm:
Nguyễn Minh Tân
Vũ Đình Anh Thư
---
## 1. Chọn chủ đề.
- Làm game tic tac toe (có giao diện)
---
## 2. Thu thập thông tin về chủ đề
Game Tic-tac-toe bao gồm:
- Bàn cờ có chín ô, 3x3
- Hai người chơi, một người dùng ký hiệu O, một người dùng ký hiệu X
Cách chơi:
- Lần lượt từng người điền ký hiệu của mình vào các ô
- Người thắng là người có thể tạo được đầu tiên một dãy ba ký hiệu của mình, ngang dọc hay chéo đều được
Kết quả mong muốn:
- Tạo ra một website chơi game tic tac toe đúng chuẩn, bắt mắt
---
## 3. Phân tích chủ đề được chọn
Để tạo được một game tic tac toe, chúng ta cần phải biết:
- Tạo giải thuật của game: Đúng luật, tối ưu
- Hiểu được luật chơi của game
- Phân tích các trường hợp thắng trong game: [0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6]
- Tạo được giải thuật từ các điều đã phân tích:
- Bắt đầu game: tạo ra một bàn cờ trống bằng array hai chiều
- Sau mỗi lượt đánh của từng người, thực hiện quét bàn cờ để kiểm tra có trường hợp thắng hay không
- Nếu có thì dừng game, hiện thông báo là đã thắng hoặc đã thua
- Nếu không thì tiếp tục chơi
- Kết thúc game: khi bàn cờ không còn trống, thông báo kết quả: thắng, thua, huề
-> Research cách chơi game bằng tài liệu và thực nghiệm; tham khảo giải thuật mẫu cho game từ sách hoặc tài liệu online, code mẫu; sử dụng Javascript để viết giải thuật
- Tạo ra giao diện cho game: Đơn giản, bắt mắt
- Game có các yếu tố cơ bản, 3 cột, 3 hàng, quân cờ X và quân cờ O
- Cột thống kê kết quả các lượt chơi: thắng, thua, huề
- Button bắt đầu một game mới, button reset lại kết quả, button để switch game mode
- Giao diện đơn giản, thu hút bằng màu sắc
-> Sử dụng html, css để tạo ra giao diện của game
- Gamemode:
- Game 1 người chơi: áp dụng giải thuật đã phân tích, dạy cho máy gen những nước cờ như một người bình thường có thể chơi
- Game 2 người chơi

---
## 4. Lên kế hoạch và thực hiện chủ đề.
Việc cần làm:
- Phần 1: Tạo ra giao diện
- Phần 2: Tạo ra giải thuật
Tools:
- Phần 1:
- Phác họa trên giấy: Figma
- Tạo giao diện trên máy: sử dụng HTML, CSS, sử dụng source-code editor Visual Studio Code
- Phần 2:
- Brainstorm, lên ý tưởng về giải thuật, các function sẽ dùng trong game
- Code giải thuật trên máy: sử dụng Javascript
Thời gian:
- Phần 1:
- Ngày 1: trên giấy
- Ngày 2: trên máy
- Phần 2:
- Ngày 1: trên giấy
- Ngày 2: trên máy
- Phần 3: merge code (1 ngày)
Nhân lực:
- Người 1 làm phần 1
- Người 2 làm phần 2
---
## 5. Đánh giá lại
Đánh giá lại từng phần đã phân công
## 6. Chuẩn hóa
Điều chỉnh lại nếu chưa chuẩn
## 7. Hoàn thiện quy trình
---