Pygame经典游戏:坦克大战TankWar+五子棋人机对弈(安排!!)

Python108款,小游戏集合,总有一个是你想要的
中国象棋 像素鸟 五子棋 24点小游戏 贪吃蛇 扫雷 俄罗斯方块

魂斗罗 消消乐 坦克大战 外星人入侵 汤姆猫 斗地主 乒乓球

推箱子 植物大战僵尸 围棋 超级玛丽 飞机大战

迷宫 滑雪 吃豆人…等等(需要的回复666领取)

1.坦克大战的玩法:我方有两个坦克,玩家1,使用WASD控制坦克方向,空格键开火;玩家2,使用上下左右键控制方向,小键盘数字0键开火。函数中,初始化了pygame,设置了游戏窗口的大小,加载了背景图片、音效和坦克、子弹等精灵。你也定义了一些精灵组来管理这些对象,并创建了我方坦克和敌方坦克。游戏的主循环和事件处理,坦克移动、射击、碰撞检测等游戏逻辑。在这里插入图片描述
运行代码后
在这里插入图片描述
2.五子棋的游戏玩法:

当玩家点击窗口的关闭按钮时,Pygame会生成一个QUIT事件。捕获这个事件,并使用sys.exit()退出整个程序。

当玩家按下键盘上的某个键时,Pygame会生成一个KEYDOWN事件。代码中特别处理了回车键(K_RETURN),如果游戏已经有一个赢家(winner is not None),那么这段代码会重置游戏状态,让(玩家)黑方重新开始游戏,并初始化一个新的棋盘和一个(白棋)AI对手。

当玩家按下鼠标按钮时,执行落子下棋。首先,它检查游戏是否已经有了赢家。如果没有,它会获取鼠标的点击位置,并尝试将这个位置转换为棋盘上的一个有效点(_get_clickpoint)。如果点击的位置在棋盘上并且该位置可以放置棋子,那么玩家会在此位置放置棋子,并检查是否产生了赢家。如果没有赢家,AI会进行下一步的移动,并检查是否AI赢得了游戏。根据赢家是谁,会更新相应的胜利计数。
在这里插入图片描述
完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/626621.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

postman汉化

一、postman历史版本下载:Postman 10.24.16 Download for Windows / Old Versions / FileHorse.comhttps://www.filehorse.com/download-postman/old-versions/ 二、汉化包下载: Releases hlmd/Postman-cn GitHubPostman汉化中文版. Contribute to h…

Python文件操作大全

1 文件操作 1.1 文件打开与关闭 1.1.1 打开文件 在Python中,你可以使用 open() 函数来打开文件。以下是一个简单的例子: # 打开文件(默认为只读模式) file_path example.txt with open(file_path, r) as file:# 执行文件操作…

CTFHUB-技能树-Web前置技能-文件上传(无验证,JS前端验证,前端验证)

CTFHUB-技能树-Web前置技能-文件上传(无验证,JS前端验证,前端验证—.htaccess) 文章目录 CTFHUB-技能树-Web前置技能-文件上传(无验证,JS前端验证,前端验证—.htaccess)文件上传无验…

机器学习引领金融革命:重塑金融服务领域新格局,开启智能化新篇章

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

Oracle11.2.0.1,(CVE-2012-1675)漏洞解决方案

1.进入容器停止监听 docker exec -it -u 0 oracle11g bash su - oracle lsnrctl stop listener2.找到监听配置文件位置,修改监听文件 echo $ORACLE_HOMEvi network/admin/listener.ora #在文件底部添加 SECURE_REGISTER_LISTENER (IPC) #启动监听 lsnrctl start …

angular node版本问题导致运行出错时应该怎么处理

如下图所示: 处理方式如下: package.json中start跟build中添加:SET NODE_OPTIONS--openssl-legacy-provider即可

数据结构:打造高效的通讯录项目

✨✨小新课堂开课了,欢迎欢迎~✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:http://t.csdnimg.cn/oHJAK(数据结构与算法) 小新的主页:编程版小新-CSDN博客 …

python爬虫原理和编程实战:爬取CSDN博主的账号信息

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

【重磅开源】一款可以生成SpringBoot+Vue代码的轻量级项目

基于SpringBootVue3开发的轻量级快速开发脚手架 🍁项目简介 一款通用的前、后端项目模板 一款快速开发管理系统的项目 一款可以生成SpringBootVue代码的项目 一款持续迭代的开源项目 一个程序员的心血合集 度过严寒,终有春日&#xff…

JavaSE图书管理系统实战

代码仓库地址:Java图书管理系统 1.前言 该项目将JavaSE的封装继承多态三大特性,使用了大量面向对象的操作,有利于巩固理解 (1)实现效果 2.实现步骤 第一步先把框架搭建起来,即创建出人:管理员和…

将图片按灰度转换成字符

from struct import *ch [., :, !, ~, ,, ^, *,$, #] ch.reverse()def calc(R, G, B):#模式Lreturn R * 299 // 1000 G * 587 // 1000 B * 144 / 1000def character( val):num val / 260 * len(ch)num round(num)if num>len(ch):numlen(ch)-1return ch[num]class rmb:d…

IIC总线读取温度湿度传感器数据实验

iic.c #include "iic.h"extern void printf(const char* fmt, ...); /** 函数名 : delay_us* 函数功能:延时函数* 函数参数:无* 函数返回值:无* */ void delay_us(void) //微秒级延时 {unsigned int i 2000;while(i-…