---
# System prepended metadata

title: Planning making game (Tic tac toe)

---

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

![](https://i.imgur.com/5Hr1mMk.png)

---

## 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

---

    
