用Python实现智能五子棋,实现发现根本打不赢!

**

五子棋游戏实现效果

**

01

导入所需模块和类


import sys  
import random  
import pygame  
from pygame.locals import *  
import pygame.gfxdraw  
from checkerboard import Checkerboard, BLACK_CHESSMAN, WHITE_CHESSMAN, offset, Point
  • 导入系统模块sys

  • 导入随机数模块random

  • 导入Pygame库和其本地模块。

  • 导入自定义的checkerboard模块,其中包含了棋盘、棋子等相关类和常量。

02

定义常量


SIZE = 30  # 棋盘每个点时间的间隔  
Line_Points = 19  # 棋盘每行/每列点数  
Outer_Width = 20  # 棋盘外宽度  
Border_Width = 4  # 边框宽度  
...  
Checkerboard_Color = (0xE3, 0x92, 0x65)  # 棋盘颜色  
...  
RIGHT_INFO_POS_X = SCREEN_HEIGHT + Stone_Radius2 * 2 + 10

定义了与棋盘和棋子相关的各种常量,如棋盘大小、颜色等。

03

辅助函数


def print_text(screen, font, x, y, text, fcolor=(255, 255, 255)):  
    imgText = font.render(text, True, fcolor)  
    screen.blit(imgText, (x, y))

定义了一个函数 print_text,用于在屏幕上打印文本,

04

主函数 main()


def main():  
    pygame.init()  
    ...  
    checkerboard = Checkerboard(Line_Points)  
    cur_runner = BLACK_CHESSMAN  
    winner = None  
    computer = AI(Line_Points, WHITE_CHESSMAN)  
    ...  
    while True:  
        for event in pygame.event.get():  
            ...  
            elif event.type == KEYDOWN:  
                if event.key == K_RETURN:  
                    ...

初始化Pygame库。
创建一个窗口并设置标题为’五子棋"。
初始化字体。
创建一个棋盘实例。
初始化当前下棋方为黑方(BLACK_CHESSMAN)
初始化胜者为 None。
初始化一个AI对象,代表电脑下棋方(此处 A 类并未在给出的代码段中定义)
进入主循环,监听并处理各种事件(如退出事件、键盘按下事件等)

05

事件处理


if event.type == QUIT:  
    sys.exit()  
elif event.type == KEYDOWN:  
    if event.key == K_RETURN:  
        if winner is not None:  
            winner = None  
            cur_runner = BLACK_CHESSMAN  
            checkerboard = Checkerboard(Line_Poin

当用户点击关闭窗口按钮时,退出程序。

当用户按下键盘上的某个键时,执行相应的操作。这里只给出了按下回车键(K_RETURN )时的部分逻辑,但代码在这里被截断了。

√完整版代码下方保存图片v扫取

在这里插入图片描述

  • 13
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值