用python写一个有AI的斗地主游戏(一)——开始前的准备

这篇具有很好参考价值的文章主要介绍了用python写一个有AI的斗地主游戏(一)——开始前的准备。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

源码请看我的Github页面。
这是我一个课程的学术项目,请不要抄袭,引用时请注明出处。
本专栏系列旨在帮助小白从零开始开发一个项目,同时分享自己写代码时的感想。
请大佬们为我的拙见留情,有不规范之处烦请多多包涵!

开场白

不知道有多少喜欢计算机相关学科的人,一开始喜欢上这门学科是因为自己喜欢玩游戏,。博主就是这样的。对于博主来说,自己写一款游戏是一个很酷的事情。正好有机会,便花了一个月写了个简单的斗地主游戏,满足了一下我童年的梦想。先看效果图:

游戏界面(比较丑)。这里可以选择牌并打出,看到其它玩家出牌,查看地主牌,等等
用python写一个有AI的斗地主游戏(一)——开始前的准备
想要进一步体验游戏的小伙伴请转到我的Github页面下载源码并运行main.py。注意:我的Github上的项目有联机功能,因为代码难度对新手不友好和一些其它特殊原因无法在这里讲解细节,感兴趣的同学可以自己看代码琢磨下。单人模式的话选择Single Player进行体验。多人模式可用博主和博主朋友们的账号登录,感兴趣请私信博主。接下来就是对项目开发流程的心得笔记了!

使用的库

主要用到的库有tkinterpygame。唯一算第三方库的就是pygame,运行项目前可以用pip install pygame进行下载安装。

项目开发流程

博主也算个萌新,第一次自己系统性地开发有一定规模(代码量大于1000行)的项目,以下步骤是自己琢磨来的。有不规范之处请多多指教!

  1. 梳理思路。用更专业的术语叫写“立项申请报告”或者“项目建议书”。这个步骤主要是帮助你整个项目规划导航的。注意,这部分自己开发的时候是可以写完后随时更新的,所以没必要过于纠结,但也不能一点都不写。比如,在开始项目开发前这里你可以写以下几点:
    a. 项目综述。这部分包含了你的项目名称,简要功能概述,简要原理概述等等。
    b. 市场分析。这部分包含了你对市场上现存其它项目的分析,以理清自己项目的特别之处。自己写项目也是要做的,毕竟写一个和别人一模一样的项目可能不是很有成就感。比如,我这个项目独特的地方就是我(还)没见过有人用python写斗地主。
    c. 代码结构。这部分包含了你的项目里将包含哪些代码结构(比如你需要自己写一些类,放点图片素材,不同的文件存不同的GUI代码等等)。这部分可以用文件树的形式呈现。
    d. 算法。这部分你将介绍你项目里主要的功能并且如何用算法实现他们。比如我的这个项目里就写了多人游玩功能如何用socket库和我自己写的游戏引擎类实现,单人模式下的AI将有其它某算法实现等等。
    e. 时间表。这里包含了你对项目开发的时间安排。比如,我要在某月某日之前开发完功能1,在某月某日之前进行内部测试等等。
    f. 版本控制。这部分可能会被忽视却是最必不可少的。尤其是在开发的时候,经常会写出很多顽固的bug。这时候就需要和之前的版本进行对比。这里推荐用Github进行版本控制。
    g. 还有其它你能想到的部分,如果对你的开发有帮助,那么可以进行添加。
  2. 写代码,修代码。按照代码结构和算法构思进行项目开发。有问题要随时记录下来并及时解决,不要一拖再拖。写不下去的时候想想你在项目运行的时候会多么开心。
  3. 代码测试。在项目开发完成后,一般的惯例是先进行alpha测试(即内部测试,由开发者或者内部人员使用项目成果,确保没有额外的漏洞),再进行beta测试(即外部测试,由开发团队之外的人进行测试,同时收集他们的使用反馈并对项目进行提升)。

结束语

该专栏的第一篇博客就到这里了。该博客是对之后几篇进行的综述,对于代码细节并没有进行深入探究。之后几篇博客会对代码和逻辑进行深入探究,感兴趣的小伙伴请继续阅读下去!有各种问题和见解也欢迎评论或者私信!文章来源地址https://www.toymoban.com/news/detail-464892.html

到了这里,关于用python写一个有AI的斗地主游戏(一)——开始前的准备的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 斗地主残局破解算法,斗地主残局暴力求解器算法,秒解各种斗地主残局

    斗地主残局破解,斗地主残局暴力求解器,秒解各种斗地主残局 秒解抖音、微信等各大平台的斗地主残局挑战 支持自定义出牌规则 输入双方的牌后单击“开始求解”按钮即可 求解完成后,电脑会自动选择必胜的一方与用户对局互动,以演示如何必胜 软件和源码地址 http:/

    2024年02月10日
    浏览(75)
  • 【华为OD机试 2023 B卷 | 100分】斗地主之顺子(C++ Java JavaScript Python)

    华为OD统一考试A卷+B卷 新题库说明 2023年5月份,华为官方已经将的 2022/0223Q(1/2/3/4)统一修改为OD统一考试(A卷)和OD统一考试(B卷)。 你收到的链接上面会标注A卷还是B卷。请注意:根据反馈,目前大部分收到的都是B卷。但是仍有概率抽到A卷。 A卷对应2023的新题库(2022Q4 2

    2024年02月08日
    浏览(29)
  • 逆向破解学习-单机斗地主

    9000 是成功的代码 ` import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import de.robv.android.xposed.callbacks.XC_LoadPackage; public class HookComJuneGameDouDiZhu extends HookImpl{ @Override public String packageName() { return “com.june.game.doudizhu”; } } `

    2024年02月13日
    浏览(40)
  • 【华为OD机试真题】1220 - 斗地主之顺子(JAVA C++ Python JS) | 机试题+算法思路+考点+代码分析

    🍂个人博客首页: KJ.JK   🍂专栏介绍: 华为OD机试真题汇总,定期更新华为OD各个时间阶段的机试真题,每日定时更新,本专栏将使用Python语言进行更新解答,包含真题,思路分析,代码参考,欢迎大家订阅学习

    2024年02月06日
    浏览(45)
  • 微信小程序斗地主完整代码及步骤

    一、准备工作 1. 安装微信开发者工具,并登录微信小程序账号; 2. 准备斗地主游戏的图片资源; 3. 准备斗地主游戏的音效资源; 二、创建小程序 1. 打开微信开发者工具,点击“新建小程序”,输入小程序名称,选择小程序的项目目录,点击“创建”; 2. 在小程序的项目目

    2024年02月04日
    浏览(192)
  • 【Java】Java基础 使用集合实现斗地主分牌

       📝个人主页:哈__ 期待您的关注  今天使用集合TreeSet来实现一个斗地主的分牌流程。 TreeSet集合的一个特点就是 元素有序,这样就方便我们分的牌自动排序。 我们到时候分的牌都存储在这里,但你可能会有疑问,因为存储的泛型是Integer,但扑克牌是有花色的,这该如何

    2024年04月27日
    浏览(29)
  • 第12章_集合框架拓展练习(ArrayList,HashSet,TreeSet,HashMap,斗地主,省市联动)

    1、随机验证码 随机验证码。 随机生成十组六位字符组成的验证码。 验证码由大小写字母、数字字符组成。 代码实现,效果如图所示: 开发提示: 使用字符数组保存原始字符,利用Random类生成随机索引。 将十组验证码放到集合中 用Iterator迭代器遍历集合 2、学生信息录入

    2024年01月17日
    浏览(34)
  • 利用Python编写一个AI脚本自动控制2048网页小游戏

    本文将使用python+selenium自动控制游戏运行。当然采用的是伪随机数进行键盘控制。只作为一个抛砖迎玉的参考,不涉及专业算法。 – pip install win32gui pip install PyUserInput pip install PyKeyboard pip install selenium(注意要配合相应的webdriver驱动使用,webdriver的安装下载请自行到网上搜索学

    2023年04月08日
    浏览(33)
  • 你的第一个微信小游戏,教你从0开始制作小游戏(一)

    微信开放文档 Cocos引擎_游戏开发引擎 发布流程就是先在cocos中编写你的游戏,然后生成对应的软件包,再到微信开发者工具上传到微信小程序平台。 Cocos是典型的组件节点式的开发,3.x版本之前的语言是js,ts都可以。3.x版本之后就只能用ts。 Introduction · Cocos Creator使用手册

    2024年02月12日
    浏览(39)
  • 【用unity实现100个游戏之7】从零开始制作一个仿杀戮尖塔卡牌回合制游戏

    参考原视频链接: 【视频】:https://www.bilibili.com/video/BV1eF41177hu/ 注意 :本文为学习笔记记录,推荐支持原作者,去看原视频自己手敲代码理解更加深入

    2024年02月10日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包