Tic tac toe trăn rùa

Đầu tiên chúng ta phải vẽ lưới. Bạn phải viết một hàm để vẽ lưới, Bạn có thể sử dụng hàm rùa goto để làm điều này, một dòng sẽ trông giống như thế này

up[]
goto[x1, y1]
down[]
goto[x2, y2]

Chúng tôi muốn tạo lưới có kích thước 400x400.  

Sau đó, bạn có thể gọi hàm ngay sau hàm

Gợi ý. Lượt thích đầu tiên trông như thế này

up[]
goto[-67, 200]
down[]
goto[-67, -200]

Giải pháp

def grid[]:
 up[]
 goto[-67, 200]
 down[]
 goto[-67, -200]

 up[]
 goto[67, 200]
 down[]
 goto[67, -200]

 up[]
 goto[-200, -67]
 down[]
 goto[200, -67]

 up[]
 goto[-200, 67]
 down[]
 goto[200, 67]

Bước 2 Vẽ X

Tiếp theo chúng ta cần tạo một hàm vẽ x, hàm sẽ có 2 đối số là x và y. Bạn cũng có thể sử dụng hàm goto để vẽ cái này. x và y sẽ đề cập đến góc dưới cùng bên trái của hình vuông bạn đang vẽ

gợi ý 1. Một hình vuông là 133x133

gợi ý 2. Bạn sẽ cần đặt x + 133 và y + 133 vào đâu đó trong mã của mình

Giải pháp

def drawx[x, y]:
 up[]
 goto[x, y]
 down[]
 goto[x + 133, y + 133]

 up[]
 goto[x, y + 133]
 down[]
 goto[x + 133, y]
 up[]

Bước 3. Vẽ chữ O

Bây giờ chúng ta có thể chuyển sang vẽ chữ o. Hàm này cũng sẽ có hai đối số, x và y. Chúng sẽ trỏ đến góc dưới cùng bên trái

gợi ý 1. Rùa có chức năng vòng tròn

gợi ý 2. Bạn sẽ cần x + 67 và y + 5 trong mã của mình

Giải pháp

def drawo[x, y]:
 up[]
 goto[x + 67, y + 5]
 down[]
 circle[62]

Bước 4. Theo dõi lượt chơi của người chơi

Bây giờ chúng ta có tất cả mã để vẽ trên màn hình, chúng ta phải làm cho nó hữu ích, vì vậy, hãy thêm một cách để theo dõi lượt của ai. Chúng tôi có thể tạo Từ điển Boolean để theo dõi những gì người chơi bật vì chỉ có hai người chơi

state = {'player': False}
players = [drawx, drawo]


Thao tác này sẽ tạo một biến trạng thái là một “mảng” với chỉ mục có tên là 'người chơi' được đặt thành false, nó cũng sẽ tạo ra một mảng các hàm có tên là người chơi. Hai hàm trong đó là hàm drawx[] và drawo[]. Chúng tôi sẽ sử dụng những thứ này để chọn hình dạng sẽ vẽ sau đó người chơi nhấp vào màn hình

Người chơi x = Sai/0

Người chơi o = True/1

state = {'player': False} #false = x true = o
players = [drawx, drawo]

Bước 5. Nhấp vào một hình vuông

Khi người chơi nhấp vào màn hình, chúng ta cần thực hiện một số điều

  1. Tìm xem đến lượt ai
  2. Tìm góc dưới cùng bên trái của hình vuông được nhấp vào
  3. Vẽ một x/o trong hình vuông đó
  4. Chuyển sang lượt của ai

Đầu tiên chúng ta cần một biến mới sẽ là hàm vẽ cần thiết

Gợi ý. Sử dụng người chơi và giá trị int của trạng thái


Tiếp theo chúng ta cần một chức năng để tìm góc dưới cùng bên trái của hình vuông, chúng ta sẽ có tọa độ của địa điểm được nhấp để tìm hình vuông

gợi ý 1. Chúng ta có thể sử dụng chức năng này để tìm giá trị cho x hoặc y

def floor[value]:
    Return [[value] // 133] * 133 - 200


gợi ý 2. Nếu bạn sàn [] cả x và y, bạn sẽ nhận được góc dưới cùng bên trái

Sau đó, chúng ta cần vẽ một x hoặc o trong hình vuông đó, bạn có thể sử dụng biến bạn đã tạo trước đó với các giá trị x và y mới mà bạn có

Cuối cùng, bạn có thể chuyển lượt của người chơi, sử dụng biến trạng thái của bạn để thay đổi lượt của người chơi

Gợi ý. Bạn có thể đặt một bool thành không chính nó

________số 8_______


Bước 6. Vòng lặp mã

Ở cuối đoạn mã của bạn, bạn có thể sử dụng hàm done[] để lặp đoạn mã chúng tôi đã viết

done[]


Bước 7. Tạo một mảng 2D để lưu trữ bảng

Tiếp theo để đánh giá ai là người thắng trò chơi, chúng ta phải tạo một mảng 2D để lưu trữ giá trị của từng vị trí trên lưới, mỗi vị trí phải được khởi tạo thành '-'

up[]
goto[-67, 200]
down[]
goto[-67, -200]
0


Bước 8. Thêm X và O vào Mảng

Bây giờ chúng ta cần thêm từng lượt di chuyển của người chơi vào mảng, để làm được điều đó, chúng ta phải biết tất cả các giá trị sàn cho trục x và y, các giá trị sàn trông như thế này


Sử dụng điều này, chúng ta có thể sử dụng các câu lệnh if trong các hàm vẽ để thêm từng lần di chuyển vào mảng

Gợi ý. Ghi đè các giá trị x và y bằng chỉ mục chính xác sẽ hữu ích khi thêm vào mảng

Giải pháp

up[]
goto[-67, 200]
down[]
goto[-67, -200]
1


Bước 9. Tạo một hàm để kiểm tra xem ai đã thắng

Sử dụng các câu lệnh if bên trong vòng lặp for có thể giúp tìm mọi tổ hợp của 3 dòng. Bạn cũng có thể có một câu lệnh if cho mỗi kết hợp, khi bạn tìm thấy một người chơi có 3 liên tiếp thì trả lại chữ cái của người chiến thắng. Điều này sẽ được đặt trong chức năng nhấn gần cuối, nó sẽ không trả lại bất cứ thứ gì nếu không có người chiến thắng

gợi ý 1. Bạn sẽ cần so sánh 3 giá trị với nhau, đồng thời đảm bảo rằng chúng không có khoảng trống

gợi ý 2. Nó có thể trông giống như thế này đối với một đường chéo

up[]
goto[-67, 200]
down[]
goto[-67, -200]
2

Giải pháp

up[]
goto[-67, 200]
down[]
goto[-67, -200]
3


Bước 10. Vẽ lá thư của người chiến thắng

Khi bạn gọi chức năng, bạn sẽ cần kiểm tra xem ai đã thắng và sau đó xóa bảng nếu không có người chiến thắng. Nếu không, bạn nên gọi chức năng vẽ của mình ở giữa màn hình

Gợi ý. Sử dụng câu lệnh if để kiểm tra xem nó có trả về x hay o hay không, sau đó gọi hàm draw tương ứng là một ý tưởng hay. Bạn có thể sử dụng Clearscreen[] để xóa các bản vẽ trước đó

up[]
goto[-67, 200]
down[]
goto[-67, -200]
4

Bước 11. Khởi động lại khi hòa

Cuối cùng, chúng ta có thể thêm chức năng cuối cùng, một chức năng sẽ kiểm tra xem bảng có đầy x và o hay không, nếu có, nó sẽ xóa màn hình và vẽ lại lưới, sau đó nó cũng sẽ thiết lập lại mảng bảng. Nó sẽ được gọi từ bên trong chức năng nhấn ngay sau khi bạn kiểm tra xem ai đó đã thắng chưa

Tic Tac Toe hoạt động như thế nào trong Python?

Bản trình diễn. Trò chơi Tic-Tac-Toe trong Python . Màn hình trò chơi ở đầu cửa sổ sẽ hiển thị tên của người chơi sẽ đi tiếp. Nếu người chơi thắng, thì màn hình trò chơi sẽ hiển thị thông báo chiến thắng với tên hoặc dấu của người chơi [X hoặc O]. The players will take turns making their moves on a shared device. The game display at the top of the window will show the name of the player who gets to go next. If a player wins, then the game display will show a winning message with the player's name or mark [X or O].

con rùa [] trong Python là gì?

rùa là thư viện Python được cài đặt sẵn cho phép người dùng tạo ảnh và hình dạng bằng cách cung cấp cho họ một canvas ảo . Cây bút trên màn hình mà bạn sử dụng để vẽ được gọi là con rùa và đây là tên gọi của thư viện.

Chủ Đề