Sudoku là một câu đố sắp xếp số tổ hợp, dựa trên logic. Mục tiêu là lấp đầy lưới 9×9 bằng các chữ số sao cho mỗi cột, mỗi hàng và mỗi trong số chín lưới con 3×3 tạo thành lưới chứa tất cả các chữ số từ 1 đến 9.
Chúng tôi sẽ xây dựng Trò chơi Sudoku trong python bằng thư viện pygame và tự động hóa trò chơi bằng thuật toán quay lui.
Các tính năng đã triển khai.
- Giao diện trò chơi để chơi
- tự động giải quyết
- Trực quan hóa giải tự động i. e. , Trực quan hóa thuật toán quay lui
- Tùy chọn. Đặt lại, Xóa trò chơi
Điều kiện tiên quyết.
- Thư viện Pygame phải được cài đặt sẵn
- Kiến thức về thuật toán quay lui
Các bước thực hiện
1. Fill the pygame window with Sudoku Board i.e., Construct a 9×9 grid.
2. Điền vào bảng với các số mặc định.
3. Chỉ định một phím cụ thể cho từng thao tác và lắng nghe nó.
4. Tích hợp thuật toán quay lui vào nó.
5. Sử dụng bộ màu để trực quan hóa giải quyết tự động.
Hướng dẫn.
- Nhấn 'Enter' để tự động giải quyết và trực quan hóa
- Để chơi trò chơi theo cách thủ công,
Đặt con trỏ vào bất kỳ ô nào bạn muốn và nhập số.- Tại bất kỳ thời điểm nào, nhấn enter để giải quyết tự động
Dưới đây là Thực hiện.
Python3
# import pygame library
import
pygame
________X
pygame.font.init[]
# Total window
screen
=
pygame.display.set_mode[[
500
import
0import
1import
2
import
3
import
4import
5import
6
import
7__=
import
9pygame
0import
6
pygame
2
pygame
3=
pygame
5
pygame
6=
pygame
5
pygame
9=
500
________ξ2 ________ξξ
________ξ4=
pygame
5
________x7
________xth=
pygame.font.init[]
0
pygame.font.init[]
1pygame.font.init[]
0pygame.font.init[]
3import
0pygame.font.init[]
5import
0pygame
5import
0pygame.font.init[]
9import
0pygame
5import
0pygame
5import
0# Total window
5import
0# Total window
7import
0pygame
5screen
0
pygame.font.init[]
1pygame.font.init[]
0screen
3import
0pygame
5import
0pygame
5import
0pygame
5import
0pygame.font.init[]
3import
0=
3import
0pygame
5import
0pygame
5import
0# initialise the pygame font
3screen
0
pygame.font.init[]
1pygame.font.init[]
0pygame
5import
0pygame
5import
0pygame
5import
0screen
3import
0pygame
5import
0# Total window
5import
0pygame
5import
0pygame.font.init[]
3import
0pygame.font.init[]
5screen
0
pygame.font.init[]
1pygame.font.init[]
0pygame
5import
0pygame
5import
0pygame.font.init[]
3import
0pygame
5import
0pygame.font.init[]
9import
0pygame
5import
0# Total window
7import
0screen
3import
0pygame
5screen
0
pygame.font.init[]
1pygame.font.init[]
0pygame
5import
0pygame
5import
0# Total window
5import
0pygame
5import
0=
3import
0pygame
5import
0# initialise the pygame font
3import
0import
37import
0pygame
5screen
0
pygame.font.init[]
1pygame.font.init[]
0# initialise the pygame font
3_______10pygame
5import
0pygame.font.init[]
9import
0pygame
5import
0screen
3import
0pygame
5import
0pygame
5import
0pygame
5import
0=
3screen
0
pygame.font.init[]
1pygame.font.init[]
0pygame
5import
0pygame.font.init[]
3import
0pygame
5import
0import
37import
0pygame
5import
0pygame
5import
0pygame
5import
0# Total window
5import
0# Total window
7screen
0
pygame.font.init[]
1pygame.font.init[]
0# Total window
5_______10# Total window
7import
0pygame
5import
0pygame
5import
0pygame
5import
0pygame.font.init[]
3import
0pygame.font.init[]
9import
0pygame
5import
0pygame
5screen
0
pygame.font.init[]
1pygame.font.init[]
0pygame
5import
0pygame.font.init[]
9import
0# initialise the pygame font
3import
0# Total window
7import
0pygame
5import
0screen
3import
0pygame
5import
0pygame
5import
0pygame.font.init[]
3pygame
20
pygame
21____220
pygame
23
pygame
24=
pygame
26pygame
27import
0pygame
29import
6
pygame
31=
pygame
26pygame
27import
0pygame
36import
6
pygame
38 pygame
39
pygame
21pygame
41 pygame
3
pygame
21pygame
3=
pygame
46pygame
5pygame
20________ξ2________ξ2pygame
9
pygame
21pygame
41 pygame
6
pygame
21pygame
6=
pygame
46# Total window
5pygame
20________ξ2________ξ2pygame
9
pygame
64
pygame
38 pygame
66
pygame
21pygame
68 pygame
69pygame
70 pygame
71pygame
72# Total window
7pygame
74
pygame.font.init[]
1pygame
76_______277import
0pygame
5import
0pygame
5pygame
82pygame
83 pygame
9pygame
85import
37pygame
87pygame
88 pygame
89pygame
83pygame
91pygame
83 pygame
9pygame
88 import
37pygame
87pygame
88 pygame
89pygame
834__3__302____
pygame.font.init[]
1pygame
76______277import
0pygame
5import
0pygame
5# initialise the pygame font
12pygame
88 pygame
89pygame
83 # initialise the pygame font
16pygame
83 # initialise the pygame font
18pygame
88 pygame
89pygame
83 # initialise the pygame font
16pygame
83 pygame
9pygame
88 # initialise the pygame font
02pygame.font.init[]
3# initialise the pygame font
28
________x29
pygame
38 ________xxx1
pygame
21________xxxxx
________xxx4
pygame
21pygame
68 pygame
69pygame
70 pygame
71 pygame
72________ξξpygame
74
pygame.font.init[]
1pygame
68 ________ξ45pygame
70 pygame
71 pygame
72________ξξpygame
74
________ξ51________ξ52 ________ξ53=
pygame
5________ξ56
________ξ57________ξ58
# initialise the pygame font
57# initialise the pygame font
60pygame
5import
0# initialise the pygame font
63import
0# initialise the pygame font
63# initialise the pygame font
66pygame
83 # initialise the pygame font
68pygame
83 # initialise the pygame font
70pygame
88 # Total window
5# initialise the pygame font
73pygame
88 # Total window
5import
2
________ξ57________ξ78
________ξ57________ξθ0=
________ξθ2________ξθξ________ξθ4# Total window
5________ξθ6pygame
5import
0pygame
5import
0pygame
5import
2
________ξ57________ξ94pygame
83 pygame
9pygame
88 ________ξ98________ξ99pygame
83 pygame
9pygame
88 ________ξ98import
2
pygame
21pygame.font.init[]
06
pygame
21pygame
68 pygame
69pygame
70 pygame
71pygame
72pygame.font.init[]
13pygame
74
pygame.font.init[]
1________ξ52 import
535import
536import
537import
536import
539=
=
screen
23________ξ56