编程说明: pygame编程五子棋程序。
设计流程:新建棋盘,落子画圆,校验五子相连,赢家信息显示,自动重启下一局,程序打包成exe。
关键点:
新建棋盘:考虑线的间隔,需提前计算好。
落子画圆:考虑黑白交替,已落子坐标位不可重复落子。
校验五子相连:分成横、竖、左斜、右斜四个方向的相连,其中如果第一个为白子,第二个不为同色的白子,则列表清零重新计算,当列表出现五子相连即列表长度出现5个值,则跳出循环,提示赢家信息。
赢家信息显示:先提前获取系统字体简称,设定正确的字体,否则中文显示为方框设定函数为pygame.font.SysFont("simhei",25)。
程序打包成exe:准备.ico图标,使用指令在cmd框下执行Pyinstaller -F -w -i wzq.ico wzq.py 指定icon图标进行打包,在cmd黑框查看生成文件路径,找到生成的exe文件即可,坑为Pyinstaller确认为最新版本,版本过旧会报错导致打包失败,pip升级或者卸载重装即可。
参考链接:
1.pygame基础教程
https://blog.csdn.net/qq_40801987/article/details/121506910
2.Python Pygame制作简单五子棋游戏(详细代码+解释)
https://blog.csdn.net/weixin_43918046/article/details/119521845?spm=1001.2014.3001.5506
3.python中的tkinter库弹窗messagebox详解
https://www.jb51.net/article/216076.htm
4.pygame在屏幕上显示中文的方法
https://www.jianshu.com/p/eeea79aaf4b8
5.pygame基础语法
https://www.cnblogs.com/liuzhongkun/p/16165288.html
效果展示:
程序详情:
# encoding:utf-8
#调用pygame库
import pygame
import sys
#调用常用关键字常量,例当产生 KEYDOWN 或 KEYUP 事件时,key 属性描述具体哪个按键被按下
from pygame.locals import QUIT,KEYDOWN
import numpy as np
# from tkinter import *
# from tkinter import messagebox #一方获胜后弹出面板,第二种显示样式
#判断鼠标的落点
def find_pos(x,y):
for i in range(27,670,44):
for j in range(27,670,44):
L1=i-22
L2=i+22
R1=j-22
R2=j+22