20253221 2025-2026-2 《Python程序设计》实验4报告

20253221 2025-2026-2 《Python程序设计》实验4报告

课程:《Python程序设计》
班级: 2532
姓名: 明钰钦
学号:20253221
实验教师:王志强
实验日期:2026年5月25日
必修/选修: 公选课

** 1.实验内容**

Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
课代表和各小组负责人收集作业(源代码、视频、综合实践报告)
Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
例如:编写从社交网络爬取数据,实现可视化舆情监控或者情感分析。
例如:利用公开数据集,开展图像分类、恶意软件检测等
例如:利用Python库,基于OCR技术实现自动化提取图片中数据,并填入excel中。
例如:爬取天气数据,实现自动化微信提醒
例如:利用爬虫,实现自动化下载网站视频、文件等。
例如:编写小游戏:坦克大战、贪吃蛇、扫雷等等
注:在Windows/Linux系统上使用VIM、PDB、IDLE、Pycharm等工具编程实现。

选择了编写小游戏,编写了爬塔类游戏,在Windows系统上使用Pycharm工具编程实现。
游戏设计:

《魔塔》

核心概念
一款融合经典回合制战斗与 Roguelike 随机成长机制的爬塔游戏。玩家扮演勇者,在动态生成的塔层中挑战不断强化的敌人,通过策略抉择、装备收集与属性构筑,冲击塔顶。
设计亮点

  1. 双模式挑战
    · 有限关卡模式:30层固定关卡,第10/20/30层为强力Boss,提供明确的通关目标。
    · 无尽模式:敌人随层数无限成长,考验极限构筑。
  2. 精细化难度调节
    · 四档难度(简单/正常/困难/吊炸天)通过全局倍率调整敌人全属性。
    · 吊炸天难度解锁专属技能「格挡」,以护盾机制应对极高伤害,带来全新策略维度。
  3. 动态角色构筑
    · 六维属性:生命、攻击、防御、闪避、能量上限,每层战后从随机三项中选取一项永久提升,确保每局成长路径独一无二。
    · 技能体系:消耗能量的主动技能——高爆发「重击」、续航「治愈」、防御性「格挡」,能量管理成为战斗核心。
  4. 敌人策略AI
    · 独立能量系统:敌人不自动回能,需消耗回合主动回复;能量不足时优先聚气,生命危急时消耗能量回血,形成可预判的行为模式。
    · 特殊攻击:破甲一击(无视50%防御)、暗影打击(1.3倍伤害),配合受击后概率回血,使战斗节奏张弛有度。
  5. 装备与词缀系统
    · 装备:武器、防具、饰品三大部位,分普通/稀有/史诗/传说四阶品质,随层数提升掉落率与属性池,击败敌人概率获取。
    · 敌人词缀:非Boss随机附加0~2个,Boss必带1个。词缀包括:
    · 再生(每回合回复生命)
    · 荆棘(反弹20%所受伤害)
    · 护盾(开场获得生命百分比护盾)
    · 迅捷(每三回合额外行动)
    · 装备与词缀的叠加,大幅提升战斗多样性和重复可玩性。
  6. 随机事件层
    · 每5层触发一次随机事件:神秘商人(资源置换属性)、诅咒宝箱(高风险高回报装备)、祭坛(牺牲某项属性换取另一项)、命运轮盘(50%正负面效果),强化Roguelike的不可预测性。
  7. 完整存档机制
    · 跨会话进度保存,包括所有属性、装备、词缀状态,支持随时中断与继续,兼顾硬核与休闲玩家需求。

视觉与交互
· 终端界面采用Unicode边框绘制、ANSI色彩系统与符号图标,构建出卡片式状态面板、动态分割线及事件弹窗,在纯文本环境下营造沉浸式视觉层次。
· 回合提示清晰划分敌我行动,战斗信息按颜色分类(伤害红、治疗绿、技能紫等),提升可读性。

核心循环
进入楼层 → 遭遇随机词缀敌人 / Boss → 回合制战斗(技能选择、能量分配)→ 战后属性提升 / 事件触发 / 装备掉落 → 决策是否继续或存档 → 重复直至通关或败北。
设计目标
通过属性构筑、装备收集、词缀应对和事件抉择的四重策略叠加,让每一次爬塔都成为独一无二的战术挑战。简洁规则下隐藏深度决策空间,还原经典Roguelike“易上手、难精通”的核心魅力。

2. 实验过程及结果

以下为部分代码截图(完整代码在链接里)
image
image
以下为部分运行截图
image
image

以下为上传截图
image

3. 实验过程中遇到的问题和解决过程

  • 问题1:无法修改敌人能量上限。
  • 问题1解决方案:重新调整初始变量,改变初始变量与过程变量的函数关系。
  • 问题2:敌人攻击欲望太强。
  • 问题2解决方案:增加敌人回血技能,敌人无法自然回服能量,需要花费更多的轮次来回复。
  • ...

其他(感悟、思考等)

通过本次 Python 综合实验,我独立完成了《魔塔》爬塔小游戏的开发,深刻体会到编程不仅是代码书写,更是逻辑设计与问题解决的过程。从游戏框架搭建、属性系统设计,到战斗逻辑实现、随机事件与装备词缀完善,每一步都需要严谨规划与反复调试。
实验中,我遇到了敌人能量上限修改、攻击逻辑失衡等问题,通过梳理变量关系、优化敌人行为逻辑逐步解决,这让我明白调试是编程的核心能力,耐心与细致能攻克多数技术难题。同时,我熟练运用 Python 的函数、循环、条件判断等基础语法,结合面向对象思想封装角色与敌人属性,让代码结构更清晰。
此次实践让我感受到 Python 在趣味开发中的强大魅力,也意识到理论知识与实际应用结合的重要性。未来我会继续深耕编程,提升逻辑思维与项目实现能力,用代码创造更多有趣的作品。

课程总结

在这个学期的Python选课当中,我知道了Python是一种面向对象的语言, Python与c语言在运行中有着许多不同点。我学会了在Python当中的变量和数据类型, 第1次感受到了Python相对于c语言的简便之处。在之后的课程中,我学会了与c语言类似的输入输出的格式和条件判断以及循环的形式。之后学习了关于 Python当中的函数该怎么使用,学习了一些有关列表元组字典之类的用法,之后还面向对象使用类定义管理图书等操作。在这些基础内容之外,还学习了正则表达式和网络爬虫的高级的内容。总的来说Python比c语言更加简便,拓展了我有关计算机语言的一些知识面,让我有了一定的使用计算机语言的能力。

参考资料

posted @ 2026-05-31 16:21  夜影明  阅读(29)  评论(0)    收藏  举报