20212115朱时鸿 《python程序设计》实验四报告
课程:《Python程序设计》
班级: 2121
姓名: 朱时鸿
学号:20212115
实验教师:王志强
实验日期:2022年5月28日
必修/选修: 公选课
1.实验内容
Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现。
2,实验过程及结果
(一)实验内容
编写一个塔防游戏,类似于保卫萝卜以及明日方舟那种。
(二)选题理由
因为本人对塔防游戏情有独钟,所以自己想编写一个塔防游戏,但由于对python的学习空间剩余的还很大,所以在网上找了许多的参考资料并且学习参考了教学视频才勉强完成,虽然不太完美,但对于自己来说也是一个挑战自己的机会。
(三)实验过程
1.首先购买一个华为云服务器




这个步骤我在本专业的C语言课程中其实已提前完成,所以没有花掉我多少的时间
2.下载pygame

这个步骤我是通过在网上找找资料,然后根据热心网友的回答解决的,但是在这个步骤的实现的过程我遇见了一个挺大的麻烦,就是明明我已经下载了pygame我在pycharm上运行时却会显示说我没安装pygame,这个问题困扰我很久,但好在课代表热心能力有强,帮我解决了这个问题,原因是我的电脑里下列三个python
但是只有一个python是有pygame的,最终帮我换了一个编译环境后解决了问题。(真的感谢课代表,我自己弄不知道要多久)
3.配置远程桌面
这个步骤也是在课代表的提醒下弄得,课代表在群里说需要下载这个才可以在华为云服务器上运行,不然会报错


首先在linux系统
在 Linux 系统安装 X11 转发的必要软件包:
# yum install -y xauth
# yum install -y xclock
下载xterm和xauth,EularOS用如下命令
yum install xterm
yum install xauth
用vim编辑器打开(vi是vim的简写)网络设置,注意xming与putty之间是通过ssh协议通信的
vi /etc/ssh/sshd_config
设置X11Forwarding yes
在vim编辑器中按i进入编辑模式,按Esc退出编辑,按:输入wq退出vim
完成后退出putty
xming下载并安装好后,在菜单栏找到xlaunch,一直点下一步至完成即可。之后打开putty输入xterm即可看见窗口了。

设置X11Forwarding yes
下载xming


最后为了成功运行xterm花了不少时间,通过上网查找教程和群里的文件,最终自己独立完成,但运行成功出现自己的理想中的结果时,有点成就感
4.编写代码过程及思路
首先塔防游戏需要涉及地图
然后再游戏中也是需要音乐的,不然会让游玩者感到枯燥,所以加入了背景音乐
然后找了几张防御物,小怪物,地图的图来呈现
首先在塔防游戏中,防御物是需要攻击怪物的,所以我们首先编写攻击物间的代码
然后需要设计塔
至此,最重要的几个元素就设计完成了
首先在本地运行

然后是在ecs上面运行

在这个上运行有点慢
(五)实验中所遇到的问题及解决方法
1.在下载pygame后在本地运行是却显示没有这个插件
解决方法:换了一个编译环境,发现有三个不同的python,但是只有一个pygame所以换了那个有pygame插件的python
2.最开始在华为云商运行时没有画面,且会报错
解决方案:通过课代表在群里的提醒后,下载了一个xming,完美解决了这个问题
3.一开始将代码上传后,但是会出错
解决方案:再请教同学后,知道了不能上传声音,不然会出错,然后将和声音有关的代码全部屏蔽了,成功上传
(六)实验的感悟
通过本次实验我明白了一个道理:没有最好只有更好,每次解决了一个问题后,总会有另一个问题冒出来,这也间接证明我在知识点上面的欠缺。
在问题的发现解决中,我自己的能力也得到了许多的提升,在这个过程挺感谢课代表的帮助,相信通过这次的作业,我以后在编写游戏以及对华为云的运用上面一定会更加的得心应手。
参考资料:B站教学视频
课代表以及多位热心同学的帮助
结课感想与体会
python是一门非常有潜力的高级语言,历经多年的发展,其在编程上发挥着越来越大的作用。在这学期中,通过选修python课上的基础知识学习,我对python也有了一定的认识。而且,在字符串上的处理,python相对于c语言也是给程序员极大的便利。而python不仅如此,它的库也很多,正因为它强大的库,让编程变得不再艰难。但是,我认为python虽然在许多方面相对于c语言比较方便,但也有其相对于弱一点的方面,比如说for循环等方面。虽然一学期下来,我对python的学习也仅仅只是它的基础方面,但python的强大,也是足足地吸引着我,希望自己能够在不断地学习中,将python学习的更加好。 python是一门非常有潜力的高级语言,历经多年的发展,其在编程上发挥着越来越大的作用。在这学期中,通过选修python课上的基础知识学习,我对python也有了一定的认识。
在学习python的第一节课上,其对我的最初的印象就是,相较于我学习过的c语言编程,它更加的简洁。所有的变量都不需要像c语言编程那样需要提前去定义,这样给了编程者很大的自由空间与方便。如x=2,即可同时完成变量的定义与赋值。对于简化程序的代码,起到了许多的作用。而且,在字符串上的处理,python相对于c语言也是给程序员极大的便利。在c语言中,只能用字符类的数组对字符串进行相应的操作,步骤也是相对于比较繁琐的,而在python中,当我们需要创建一个字符串的时候,只需要在创建字符串的时候用"s=”就可以了。而python不仅如此,它的库也很多,正因为它强大的库,让编程变得不再艰难。我们只需要调用库中的函数,而对于函数的具体实现,也没有特殊的需求。
但是,我认为python虽然在许多方面相对于c语言比较方便,但也有其相对于弱一点的方面,比如说for循环等方面。不过也依然不会影响到python的强大,而随着近几年来的发展,python的受欢迎度也越来越高,而它的运用的领域也是越来越多,比如人工智能和大数据等领域,python都是在其中扮演者重要的角色。虽然一学期下来,我对python的学习也仅仅只是它的基础方面,但python的强大,也是足足地吸引着我,希望自己能够在不断地学习中,将python学习的更加好。
在王老师的教导下,我觉得自己比起刚开始上课啥也不懂的小白可谓是强了不止一星半点,而且更为重要的是通过王老师得我教导,我对python的兴趣更加的浓厚了
真的挺感谢王老师,教科好而且有责任心,您的课我觉得也非常风趣幽默,上起来没有其他一些课的枯燥乏味,我知道python的学习还只是冰山一角,但相信通过王老师这一学期的引领,我在以后的学习中一定会得心应手,若果以后还有王老师的课,我一定还会选的(真)。
20212115朱时鸿 《python程序设计》实验四报告的更多相关文章
- 20212115朱时鸿实验一《python程序设计》实验报告
------------恢复内容开始------------ #学号20212115 <python程序设计>实验一报告 课程: <python程序设计> 班级:2121 姓名 ...
- 20212115朱时鸿-关于python技能树以及markdown编辑器的测评
csdn的链接:https://blog.csdn.net/m0_68116569/article/details/124049366 计算机连接:https://gitee.com/zhu-shih ...
- 20184302 2019-2020-2 《Python程序设计》实验四报告
20184302 2019-2020-2 <Python程序设计>实验四报告 课程:<Python程序设计> 班级: 1843 姓名: 李新锐 学号:184302 实验教师:王 ...
- 20192204 2019-2020-2 《Python程序设计》实验四报告
20192204 2019-2020-2 <Python程序设计>实验四报告 课程:<Python程序设计> 班级: 1922 姓名: 李龙威 学号:20192204 实验教师 ...
- Python程序设计实验报告四:循环结构程序设计(设计型实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.8 指导老师 修宇 [实验名称 ...
- Python程序设计实验报告一:熟悉IDLE和在线编程平台
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩_____ 日期 2020.3.8 指导老师 ...
- Python程序设计实验报告三:分支结构程序设计
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.5 指导老师 修宇 [实验目的 ...
- PYTHON程序设计实验
Python程序设计实验报告一: 熟悉IDLE和在线编程平台 安徽工程大学 Python程序设计实验报告 班级 物流191 姓名 邹缕学号 3190505117成绩 ▁▁▁ 日期 2020.3.5 指 ...
- Python程序设计实验报告二:顺序结构程序设计(验证性实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩 日期 2020.3.22 指导老师 修宇 [实验 ...
随机推荐
- 【weex开发】vue-swipe 滑动组件的使用
一,vue-swipe简介 vue-swipe 是饿了么团队开发的vue专用的轮播图插件: 可以实现简单的图片和view轮播,可控制动画时长,可限制手动滑动: 简而言之,可以实现轮播,也可以实现ppt ...
- Bitmap图片的处理
一.View转换为Bitmap 在Android中所有的控件都是View的直接子类或者间接子类,通过它们可以组成丰富的UI界面.在窗口显示的时候Android会把这些控件都加载到内存中,形成一个以 ...
- 单例设计模式(Singleton)
一.单例设计模式介绍 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例, 并且该类只提供一个取得其对象实例的方法(静态方法) 例如:Hibernate的Se ...
- Java学习day10
在类内定义的类就称为内部类.内部类可以访问外部类的所有成员,外部类要访问内部类,必须先建立对象 内部类分为成员内部类和局部内部类 外界创建public修饰的成员内部类对象的格式:外部类名.内部类名 对 ...
- redis在物理机部署模式下如何进行资源[cpu、网卡]隔离
上周末晚上运营做直播,业务代码不规范,访问1个redis竟然把1台服务器的网卡打满了,这台服务器上的其他redis服务都受到了影响.之前没有做这方面的预案,当时又没有空闲的机器可以迁移,在当时一点办法 ...
- android软件简约记账app开发day07-备注界面完善
android软件简约记账app开发day07-备注界面完善 ## 昨天我们已经绘制了备注页面,今天来用Java代码组装完善一下. 首先我们新建BeiZhuDialog类关联备注页面,并且实现点击接口 ...
- Blazor Bootstrap 组件库 Toast 轻量弹窗组件介绍
轻量级 Toast 弹窗 DEMO https://www.blazor.zone/toasts 基础用法: 用户操作时,右下角给予适当的提示信息 <ToastBox class="d ...
- 睡前聊一聊"spring bean 生命周期"
spring bean 生命周期=实属初销+2个常见接口+3个Aware型接口+2个生命周期接口 实属初销:spring bean生命周期只有四个阶段,即实例化->属性赋值->初始化-&g ...
- BigInterger && BigDecimal
BigInterger BigDecimal
- python数据可视化-matplotlib入门(6)-从文件中加载数据
前几篇都是手动录入或随机函数产生的数据.实际有许多类型的文件,以及许多方法,用它们从文件中提取数据来图形化. 比如之前python基础(12)介绍打开文件的方式,可直接读取文件中的数据,扩大了我们的数 ...