英雄飞机和敌人飞机都会发射子弹,我们先来实现子弹相关类。这里一共有两个类: Bullet 类:单个子弹类 BulletForHero 类:英雄飞机携带的弹夹类 1. Bullet 类 Bullet 类是单个子弹的实现类,...
英雄飞机的移动是通过鼠标或者键盘事件,即: 鼠标拖动英雄飞机,自动发射子弹 通过键盘控制飞机移动,按键发射子弹 我们这里实现第二种方式。这里需要注意:英雄飞机的移动是由按键事件驱动。 1. HeroPlane 类实现 英...
现在我们的主场景中还没有敌机,我们接下来实现多个敌机从上向屏幕下方移动,并能够随机发射子弹。 1. EnemyPlane 类 该类的定义了单个敌机的实现,主要实现方法如下: set_used 设置飞机可用,并随机设置其初...
在游戏开发中,碰撞检测是一种用于确定游戏中物体是否相互接触或碰撞的技术。这些物体可以是游戏中的角色、道具、障碍物、子弹等。碰撞检测的主要目的是检测游戏中的物体之间是否发生碰撞,以便触发适当的游戏逻辑、处理碰撞效果或改变物...
当子弹和敌机碰撞,我们并不想仅将飞机和子弹消失,应该在其发生碰撞的位置播放一组爆炸动画,播放爆炸音效,游戏效果更为逼真一些。 1. Bomb 类 爆炸动画实现思路很简单,我们将一组图片按照一定的时间间隔,将其按顺序绘制到...
1. Windows 打包步骤 首先,进入到项目根目录下然后,在项目根目录下执行命令:pyinstaller –noconsole –onefile –name plane App.p...
手写数字识别是计算机视觉领域的经典问题之一,具有广泛的应用。本课程将深入介绍使用支持向量机(SVM)技术来构建一个高效的手写数字识别系统。学生将学习如何使用SVM进行分类,以及如何提取和使用 HOG 特征来实现数字图像的...
我们的开发环境:Win11 + PyCharm 2021.1.3 + Python 3.8.5 使用下面的命令创建虚拟环境 digit-env: 在虚拟环境中,安装以下项目所需要的工具包:
在我们的《手写数字识别》项目中,需要提供一个用于手写数字的绘图板作为用户界面,便于获得用户手写的数字输入算法模型以便能够进行识别。这一章节,我们主要介绍关于绘图板开发过程中用到的相关技术。主要包括: 画布构建 图形绘制 ...
前面我们已经学习了 Tkinter Canvas 控件相关的技术,现在我们将会使用前面学习的内容来实现用于手写数字的绘画板。绘画板主要包括四个部分,分别是: 主窗口界面 顶部工具栏 中心绘画区 底部状态栏 1. 主窗口界...
《手写数字识别》项目基于支持向量机算法的,该算法的背后有着坚实的数学理论作为支撑,为算法的有效性和可靠性提供了坚实的基础。接下来,我们将会从以下第五个方面来讲解: 算法思想初探 算法训练内容 算法推理过程 惩罚参数作用 ...
《手写数字识别器》中会应用支持向量机算法、以及相关的参数搜索方法。这两个在 Scikit-Learn 中都有实现。这一节,我们将会学习两个相关的 API 的使用。 数据介绍 算法使用 网格搜索 1. 数据介绍 鸢尾花数据...
这一节,我们主要给大家讲解图像相关的基础知识,以及操作方法。 1. 图像知识 图像可以被视为一系列像素的集合,每个像素分别对应 0 到 255 之间的整数,0 表示黑色,255 表示白色。图像可以根据其颜色模式分为灰度图...
经过前面的准备,我们将会进行初次的算法模型训练以及封装,并测试效果。从中去分析不足,然后在后续内容中针对不足进行优化。 1. 数据处理 首先,我们先对训练数据进行读取,并提取图像特征。需要说明一点,由于图像本身就是由一系...