python 象棋 ai 入门教程-Python学员作品-中国象棋之pygame篇

背景:为了更好的运用前三阶段学习的知识,再加上本身是个象棋迷,特以此出发点做了一个简单的小游戏

功能: 注册 登录 选桌 红黑方下棋对战 大厅聊天 对战聊天 切换棋盘背景 邮箱验证

技术实现:

客户端:pygame PyQt5 qdarkstyle webbrowser wheel

服务端:AJAX flask框架 TCP 多线程

详细说明:

1)下棋原理

20190624155329_533.png

1、pygame背景图像作为一个坐标,左上点为原点,分别以右侧和下侧

为x,y坐标轴的正方向;

2、通过鼠标单击事件来获取棋子被抓起时候的坐标值和下棋子时候的

坐标值来进行一系列判断,从而得到移动棋子与否以及吃子等事件的发生;

3、留下接口给让客户端和服务器进行棋子坐标的通信;

4、当主将被吃掉时候,游戏结束。

2)pygame初始化

1、 import pygame #载入pygame模块

pygame.init() #初始化

screen=pygame.display.set_mode((500,400)) #创建窗口大小

bg=pygame.image.load("背景图片路径’)

screen.blit(bg,(0,0)) #载入背景图片

pygame.mixer.music.load("音乐文件路径”) #载入背景音乐

pygame.mixer.music.play() #播放背景音乐

clock=pygame.time.Clock() #创建时钟对象

3)载入棋子

1、循环遍历载入棋子

screen = pygame.display.set_mode((990,798))

for chess in self.boardChess:

self.screen.blit(chess.image,chess.image_rect)

4)事件监听

1、局部列表my_list

通过对鼠标监听事件来获取棋子的坐标,如果单击获得对象并且颜色为红色,则先清空列表,并将新元素坐标加入列表

5)棋子算法

1、通过比较抓棋子和落棋子的坐标来判断是否可以下棋

6)接口

1、局部列表my_list

通过对鼠标监听事件来获取棋子的坐标,如果单击获得对象并且颜色为红色,则先清空列表,并将新元素坐标加入列表,客户端和服务器通过传输接受棋子坐标来进行客户端与客户端的通信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值