- 博客(19)
- 收藏
- 关注
原创 tkinter/python:第一个GUI程序——制作一个数据录入界面
tkinter包装成函数后丢失图片问题,可以考虑图像在函数外部定义为全局变量
2024-05-06 15:11:46 1373
原创 pandas/python 一个实战小案例
上次写坦克游戏的时候,接触了一点pandas,当时只是简单了解了一下如何遍历行和列并获取值来替换图片,想更多了解pandas。正好有一些数据需要筛选,试试能不能用通过代码实现。
2024-04-19 09:06:46 1416
原创 python/pygame 挑战魂斗罗 笔记(二)
这里先测量并定义出前面的部分,其实有collider一个组就行,这里按照y坐标的位置分了很多组只是为了测量、加载的时候更清晰一点,不容易乱,最后统一加入collider组。初始状态为下落,也就是主角从画面外降落,碰撞到地面碰撞体后把碰撞体的top值赋值给Bill的bottom,实现停止下落。移动需要考虑三种情况:第一是开始直到人物走到屏幕中间,这部分是主角Bill正常移动;
2024-04-16 08:57:54 1247 1
原创 python/pygame 挑战魂斗罗 笔记(一)
前面完成了飞机和坦克两个经典游戏的基本功能,想挑战一下魂斗罗?这里的难点感觉是玩家的上下左右移动和变换动作,还有跳跃、趴下、射击等,尤其是跳到地面下的各个台阶部分,有点复杂。下面开始我的魂斗罗1.0的挑战,看看能不能实现。
2024-04-15 15:13:56 1068 1
原创 python/pygame坦克游戏边学边写笔记——完结(七)
预想的坦克游戏的基本功能到这里基本都实现了,这里贴出全部源文件完整代码,一共8个文件,把使用到的游戏元素路径、命名对应就可以实际运行。
2024-03-20 09:27:43 395 1
原创 python/pygame坦克游戏边学边写笔记(六)
这里贴一下地图excel文件的内容,通过pandas读取excel文件,并进行字符与图片的匹配,就可以得到游戏地图了。准备了五种声音效果,开始游戏、结束游戏,射击、坦克移动以及击杀地方坦克,建立sound.py文件,在各自地方响应。2、被敌方子弹击中,结束游戏,在敌方坦克子弹与墙的碰撞中加一条,家被射击,玩家生命数量为0,终结游戏。1、双方坦克不能穿过家,暂且按除草以外的墙来处理,这里就不改了。2、地图字典索引,生命值设为1,生命脆弱哦。测试玩了一下,才发现玩家的家还没安排。
2024-03-19 13:24:41 808
原创 python/pygame坦克游戏边学边写笔记(四)
再就是墙就没法被子弹打掉了呀!2、花了一点时间对文件框架进行调整,现在的还是有点乱:将wall_map方法从main函数中调整到wall_map.py文件,将new_enemy_tank方法调整到enemy_tank.py文件。3、增加extra_speed属性,用来调整坦克速度,比如遇到草地减少移速,坦克的移动速度调整为坦克的初始速度+extra_speed。4、加了墙后,敌方坦克初始位置有可能直接就在墙里面了,这里简单调整,修改一下敌方坦克初始坐标y为0,从游戏窗口最上面一行开始出现。
2024-03-17 17:08:40 497 1
原创 python/pygame坦克游戏边学边写笔记(二)
这里要注意的就是把文件夹和文件的名字定义好,有简单的规律,方便循环加载。3、用一个变量option_number来实现控制mini坦克的绘制位置,用tab键来进行修改变量,这里就写mini坦克在1 player 时按Enter键进入第一关游戏,其它的就不写了。每产生一个地方坦克,就通过随机函数产生的order选择type_list的一组数据,给这个坦克赋值相关属性,包括方向、图片以及后期增加的其它属性。只写了选项1的代码,选择1,按enter键进入游戏,可以看见坦克正常显示,还没有写移动代码。
2024-03-15 10:00:03 509 1
原创 python/pygame坦克游戏边学边写笔记(一)
准备挑战一下坦克大战的游戏,感觉要比飞机游戏复杂一些,坦克移动时候需要考虑图片跟随方向改变,地图是游戏元素的一部分,需要增加这部分的载入和碰撞检测。参考网上的教程,按照自己的理解和思路来尝试实现。一步步来吧,遇到问题再说,基本还是按以前的思维方式来写。
2024-03-14 13:53:22 556 2
原创 python/pygame飞机游戏边学边写-结束篇(七)
3、调整生命血条代码,原来只考虑了hp值,血条瞬间消失,而且玩家飞机在增加防御buff后又会出现超长血条。现将双方飞机的防御值统一考虑进去,可以更真实的体现飞机被击中后的血量变化。2、限定玩家飞机生命总数不能超过5条,限定炸弹总数不能超过3个,防御值增加最多不超过3000。1、得分显示,在分数增加,字段变长后会跑出游戏窗口,直接调整到游戏窗口中间显示。4、boss机没有爆炸效果,调整爆炸规模,如果是boss飞机,加大爆炸效果显示。
2024-03-04 16:36:44 370 2
原创 python/pygame飞机游戏边学边写(六)
玩家飞机在死亡后如果还有life_number,会在原位置直接刷新玩家飞机,影响游戏体验,这里重新写一个玩家飞机产生方法,在死亡后让玩家飞机先消失,然后在底部初始位置重新出现。载入buff图片,一共设计四种buff:增加生命、增加火力、增加炸弹、增加防御。最后在主循环中和碰撞检测中完善buff,如果是子弹buff加强火力20秒,如果是防御buff,增加3000防御值。下面进入爆炸效果,准备了6张爆炸效果图片,建立一个爆炸的列表,依次导入图片,在爆炸是在依次播放图片,达到爆炸效果。
2024-03-03 15:05:30 901
原创 python/pygame飞机游戏边学边写(五)
写的有点匆忙,这里面觉得玩家子弹发射速度太慢了,还有其它一些属性值都有所增加和调整,虽然玩的感受很不好,但是总归是实现了攻击,加分、被攻击,死亡后进入结束界面。需要检测的精灵,除玩家飞机外,都需要单独建立sprite.Group:玩家子弹、敌方飞机、敌机子弹、buff。把各精灵添加到各自的组中,all_sprites组负责draw和update,其它组负责实现碰撞检测。
2024-03-02 16:51:46 203
原创 python/pygame飞机游戏边学边写(四)
1、用PS搞了5种颜色的敌机,三种小飞机(灰色、橙色、红色),两种大飞机(蓝色、绿色)。2、根据得分逐渐增加敌机种类,boss机的出场机制是根据score还是游戏时间来写呢?1、增加玩家飞机数量显示,单独写一个mini_icon方法,显示飞机和炸弹数量,炸弹的图片还没有,暂时空着吧。2、先用字典键值对来匹配不同敌机的图像、纵向移动速度、射击速度、伤害值、分值等。3、小飞机飞出游戏窗口自行删除,大飞机在窗口内往返移动,直至被消灭。1、每隔2秒产生一架敌机,并跟随level增加缩小间隔。
2024-03-01 10:19:02 294
原创 python/pygame飞机游戏边学边写(三)
在main函数中实例化玩家飞机,在主循环中加入all_sprites精灵组,并调用draw函数和update函数实现飞机移动机开火,按下空格键,控制台可以打印出shoot。写到这里发现个低级错误:前面说文字白色没有显示出来,原来是颜色定义错了,定义成了(0,0,0),这里想给血条描个白边才发现。1、给玩家子弹发射添加延迟,想设计一个跟随level增加,发射频率也逐渐增加的子弹发射方式。3、写个血量条代码,在游戏窗口左上角显示,如果血量超过20,用绿色显示,低于20则显示红色。3、完善shoot函数。
2024-02-29 10:42:46 557
原创 python/pygame飞机游戏边学边写(二)
基本的大框架大概就这样了吧,通过life_number控制游戏是否继续进行,通过level控制游戏关难度,难道要每一关都编写一个难度吗?背景移动起来啦,但是忘了设定游戏帧率FPS,移动太快了。3、增加玩家飞机数量,初始设定为3,在玩家飞机数量为0时进入结束界面。2、增加玩家得分,进入正式游戏后显示在游戏窗口左上角。1、修改游戏窗口的名字,名字里面实时显示时间帧率。还是搞一个移动的太空背景吧,看着好看一点。
2024-02-28 14:23:59 293
原创 python/pygame飞机游戏边学边写(一)
下一步想设计一个开始界面,包括游戏的简要说明和开始菜单选择,先写文字方法,在项目目录里面建一个font文件夹,存放一个字体,导入os库,利用os.path.join()函数来指定字体所在路径:os.path.join('font', 'simkai.tff'),后期的图片路径也同样,感觉这种方式比输入路径的方式要好一点。这个有大神能解释一下?业余时间想学学python,觉得pygame编写游戏还挺有意思,想一边继续学习一边写个小飞机游戏,这样印象应该更深刻一点,也没有什么具体的游戏思路,全当学习笔记了。
2024-02-27 15:52:55 356 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人