<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[marble_xu的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/marble_xu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; marble_xu]]></copyright><item><title><![CDATA[HTML5 canvas 实现回合制战棋游戏(1)：加载和绘制图形]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/104568939</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/104568939</guid><author>marble_xu</author><pubDate>Sun, 01 Mar 2020 20:18:26 +0800</pubDate><description><![CDATA[HTML5 canvas 实现回合制战棋游戏（1）游戏介绍
游戏介绍
致敬永远的经典英雄无敌3, 本想在网上找个战棋游戏学习下，无奈没有发现python版本的，那就自己来写一个把。
游戏实现了类似英雄无敌3 中战斗场景的回合制玩法：

对战双方每个生物每一轮有一次行动机会，可以行走或攻击对方。
每个生物属性有：行走范围，速度，生命，伤害，防御，攻击 和 是否是远程兵种。
当把对方生物都消灭时，即胜...]]></description><category></category></item><item><title><![CDATA[Python 植物大战僵尸代码实现(2):植物卡片选择和种植]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/103100614</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/103100614</guid><author>marble_xu</author><pubDate>Sat, 23 Nov 2019 13:41:58 +0800</pubDate><description><![CDATA[这篇文章要介绍的是：
- 上方植物卡片栏的实现。
- 点击植物卡片，鼠标切换为植物图片。
- 鼠标移动时，判断当前在哪个方格中，并显示半透明的植物作为提示。]]></description><category></category></item><item><title><![CDATA[Python 愤怒的小鸟代码实现(2):爆炸效果实现]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/102538247</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/102538247</guid><author>marble_xu</author><pubDate>Sun, 13 Oct 2019 22:22:58 +0800</pubDate><description><![CDATA[python 愤怒的小鸟代码实现（1）：爆炸效果实现爆炸效果方案完整代码代码实现编译环境
爆炸效果方案
想增加黑色小鸟的爆炸效果，但是翻遍了pymunk的文档，没有找到可以实现爆炸的函数，那就只能自己实现一个。
爆炸实现思路如下：当黑色小鸟爆炸时，以小鸟刚体的中心为起点，向外发射速度很快的圆形小刚体，这些小刚体会被喷射到附近的刚体上，对附近的刚体施加力，造成爆炸的效果。
爆炸的测试截图如下，可以看...]]></description><category></category></item><item><title><![CDATA[Python 愤怒的小鸟代码实现(1):物理引擎pymunk使用]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/102079236</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/102079236</guid><author>marble_xu</author><pubDate>Sun, 06 Oct 2019 15:33:43 +0800</pubDate><description><![CDATA[python 愤怒的小鸟代码实现（1）：物理引擎pymunk使用游戏介绍
游戏介绍
最近比较忙，国庆正好有时间写了python版本的愤怒的小鸟，使用了物理引擎pymunk，代码参考了 github上的，实现了一个可玩的简单版本。
功能实现如下：

...]]></description><category></category></item><item><title><![CDATA[Python 植物大战僵尸代码实现(1):图片加载和显示切换]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/100129768</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/100129768</guid><author>marble_xu</author><pubDate>Fri, 30 Aug 2019 09:57:59 +0800</pubDate><description><![CDATA[功能实现如下：
    支持的植物类型：太阳花，豌豆射手，寒冰射手，坚果，樱桃炸弹。新增加植物：双重豌豆射手，三重豌豆射手，食人花 ，小喷菇，土豆地雷，倭瓜。
    支持的僵尸类型：普通僵尸，棋子僵尸，路障僵尸，铁桶僵尸。新增加读报僵尸。
    使用json文件保存关卡信息，设置僵尸出现的时间和位置。
    增加每关开始时选择上场植物。
    增加除草机。]]></description><category></category></item><item><title><![CDATA[Python 超级玛丽代码实现(2):人物行走和碰撞检测]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/100022385</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/100022385</guid><author>marble_xu</author><pubDate>Fri, 23 Aug 2019 20:12:09 +0800</pubDate><description><![CDATA[python 超级玛丽代码实现（2）：人物行走和碰撞判断人物行走碰撞判断
人物行走
游戏中的马里奥有几个状态，站立不动，向左或向右走，向上跳，向下蹲。
碰撞判断
使用pygame的精灵类

...]]></description><category></category></item><item><title><![CDATA[TDengine代码学习(3):定时器实现]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/99621424</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/99621424</guid><author>marble_xu</author><pubDate>Fri, 16 Aug 2019 20:32:05 +0800</pubDate><description><![CDATA[定时器实现代码介绍
代码介绍
学习TDengine ttimer.c 中的代码

]]></description><category></category></item><item><title><![CDATA[TDengine代码学习(2):内存池分配]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/99544895</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/99544895</guid><author>marble_xu</author><pubDate>Thu, 15 Aug 2019 20:12:45 +0800</pubDate><description><![CDATA[内存池分配代码介绍
代码介绍

]]></description><category></category></item><item><title><![CDATA[TDengine代码学习(1):生产者与消费者模式]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/98197962</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/98197962</guid><author>marble_xu</author><pubDate>Wed, 14 Aug 2019 20:01:04 +0800</pubDate><description><![CDATA[生产者与消费者模式C语言实现代码介绍完整代码
代码介绍
完整代码
在linux 下面运行测试。
编译需要加上 -lpthread 选项。例子如下：
gcc -o producer_consumer producer_consumer.c -lpthread
#include &lt;errno.h&gt;
#include &lt;pthread.h&gt;
#include &lt;semaph...]]></description><category></category></item><item><title><![CDATA[python 战棋游戏代码实现(2):六边形地图寻路和显示]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/99327318</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/99327318</guid><author>marble_xu</author><pubDate>Tue, 13 Aug 2019 19:25:52 +0800</pubDate><description><![CDATA[python 战棋游戏代码实现（1）：六边形地图寻路和显示六边形地图介绍A*算法的六边形实现修改
六边形地图介绍
之前的文章 生物行走和攻击选择 实现了简单的方格地图，战棋游戏一般是使用六边形地图，六边形地图的显示和寻路会更加复杂些，所以这边自己尝试增加了六边形地图的实现。
图1 
六边形地图有2种形式，这里采用上面图1的形式。
地图的坐标还是采用二维数组，如下面图2所示，六边形里面的坐标（x, ...]]></description><category></category></item><item><title><![CDATA[python 战棋游戏代码实现(1):生物行走和攻击选择]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/98176441</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/98176441</guid><author>marble_xu</author><pubDate>Sun, 04 Aug 2019 11:38:11 +0800</pubDate><description><![CDATA[python 战棋游戏代码实现（1）：人物行走和攻击选择游戏介绍
游戏介绍
致敬永远的经典英雄无敌3, 本想在网上找个战棋游戏学习下，无奈没有发现python版本的，那就自己来写一个把。

...]]></description><category></category></item><item><title><![CDATA[Python 超级玛丽代码实现(1):界面和状态机实现]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/96427946</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/96427946</guid><author>marble_xu</author><pubDate>Fri, 19 Jul 2019 19:33:18 +0800</pubDate><description><![CDATA[python 超级玛丽代码实现（1）：界面和状态机实现游戏介绍状态机介绍状态机代码实现
游戏介绍
小时候的经典游戏，代码参考了github上的项目，还是使用pygame来实现，从中学习到了横版过关游戏实现中的一些处理方法。原项目实现了超级玛丽的第一个小关。
在原项目的基础上，游戏使用json文件来保存每一个关卡的数据，将数据和代码解耦合，目前已开发4个小关，后续关卡的扩展也很方便，只需要添加jso...]]></description><category></category></item><item><title><![CDATA[Python 五子棋AI实现(4):启发式评估]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/90726034</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/90726034</guid><author>marble_xu</author><pubDate>Thu, 06 Jun 2019 20:10:26 +0800</pubDate><description><![CDATA[python 五子棋AI实现（3）：启发式评估启发式评估
启发式评估
影响alpha beta剪枝效率的关键，是要让评分高的位置更早的被搜索到，这样可以更快的进行剪枝。
要实现这一点，就需要对每一个可以下的位置进行评分的预估，让预估分高的位置排在前面。
这边采用的预估评分方法是对于一个空的位置，分布下白棋或黑棋，获取这个点四个方向能够形成的棋型，然后打分。

...]]></description><category></category></item><item><title><![CDATA[Python 五子棋AI实现(3):极大极小值搜索和alpha beta剪枝]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/90647361</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/90647361</guid><author>marble_xu</author><pubDate>Mon, 03 Jun 2019 20:41:48 +0800</pubDate><description><![CDATA[python 五子棋AI实现（3）：alpha beta剪枝和启发式评估alpha beta剪枝算法启发式评估代码实现完整代码
alpha beta剪枝算法
启发式评估
代码实现
完整代码

]]></description><category></category></item><item><title><![CDATA[Python 五子棋AI实现(2):棋型评估函数实现]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/90450436</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/90450436</guid><author>marble_xu</author><pubDate>Thu, 23 May 2019 20:17:00 +0800</pubDate><description><![CDATA[python 五子棋AI实现（2）：棋型评估函数实现五子棋基本棋型介绍评估方法介绍代码实现
五子棋基本棋型介绍
参考资料：http://game.onegreen.net/wzq/HTML/142336.html
最常见的基本棋型大体有以下几种：连五，活四，冲四，活三，眠三，活二，眠二。
① 连五：顾名思义，五颗同色棋子连在一起，不需要多讲。
图2-1
② 活四：有两个连五点（即有两个点可以形成五...]]></description><category></category></item><item><title><![CDATA[Python 五子棋AI实现(1):界面实现]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/90340389</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/90340389</guid><author>marble_xu</author><pubDate>Mon, 20 May 2019 22:21:48 +0800</pubDate><description><![CDATA[@[TOC](python 五子棋AI实现(1):界面和评估函数实现)

]]></description><category></category></item><item><title><![CDATA[Python 四大迷宫生成算法实现(5): 图形显示实现]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/89735353</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/89735353</guid><author>marble_xu</author><pubDate>Fri, 03 May 2019 21:16:36 +0800</pubDate><description><![CDATA[python迷宫生成算法：图形显示实现迷宫图形显示简介代码介绍GameSearch.py完整代码
迷宫图形显示简介
使用pygame做了一个4种迷宫算法的图形显示，如下图，有4个按钮，可以用鼠标点击按钮来切换使用哪种算法来生成迷宫。按任意键来生成迷宫，同时加入了A* 寻路算法，来表现4种算法生成迷宫的不同，红色点是起点和终点，绿色点是使用A*算法获取的从起点到终点的路线。

代码介绍
代码实现有4...]]></description><category></category></item><item><title><![CDATA[Python 四大迷宫生成算法实现(4): 生成树+并查集算法]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/89329862</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/89329862</guid><author>marble_xu</author><pubDate>Tue, 16 Apr 2019 19:58:49 +0800</pubDate><description><![CDATA[python迷宫生成算法实现：生成树+并查集算法生成树算法简介并查集算法简介关键代码介绍保存基本信息的地图类算法主函数介绍代码的初始化完整代码
生成树算法简介
先看下生成树Kruskal算法：
1 一开始将每个点作为单独的一棵树，选择一个起点和终点。
2 循环执行，随机选择一条边，判断边连接的顶点，是否在同一子树中。

如果不是，则连通这两个顶点，把他们任意一个添加到另一个所在的子树中。
如果是，...]]></description><category></category></item><item><title><![CDATA[Python 四大迷宫生成算法实现(3): 递归分割算法]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/89310401</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/89310401</guid><author>marble_xu</author><pubDate>Mon, 15 Apr 2019 19:29:02 +0800</pubDate><description><![CDATA[递归分割算法简介
先介绍下算法使用的地图，地图最外围默认是一圈墙，其中白色单元是迷宫单元，黑色单元是墙。示例地图的宽度和长度都为11。

第一个图用十字将地图分割成4个小矩阵，可以看到这个十字交点所在的位置(WALL_X, WALL_Y)，在这个图中为（6，4），注意WALL_X, WALL_Y都必须是偶数。同时迷宫的长度和宽度必须为奇数。

第二图在4个小矩阵的相邻四条边上随机选择三条边来打通（...]]></description><category></category></item><item><title><![CDATA[Python 飞机大战 增强版本实现]]></title><link>https://blog.youkuaiyun.com/marble_xu/article/details/87886325</link><guid>https://blog.youkuaiyun.com/marble_xu/article/details/87886325</guid><author>marble_xu</author><pubDate>Fri, 08 Mar 2019 20:31:40 +0800</pubDate><description><![CDATA[Python 游戏开发：shoot game 优化版本欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程...]]></description><category></category></item></channel></rss>