当前位置: 首页 > news >正文

经典游戏:飞机大战游戏python设计与实现

《飞机大战》是一款经典的二维飞行射击游戏,其核心玩法是控制玩家飞机与敌机作战,通过击落敌机获取分数并尽量避免被敌机击中。根据提供的代码,飞机大战的设计和实现可以分为以下几个主要部分:游戏初始化、游戏界面设计、玩家控制、敌人生成与行为、碰撞检测、得分机制、暂停与重启功能等。下面将逐一详细描述这些功能如何设计与实现。

1. 游戏初始化


游戏初始化的目标是设置游戏的基本环境,包括游戏窗口的大小、标题、图像资源加载等。代码中使用了 pygame 库来初始化游戏,并设置了游戏的宽度(450px)和高度(600px)。以下是初始化过程中的关键步骤:

屏幕设置:通过 pygame.display.set_mode() 设置窗口的大小,并使用 pygame.display.set_caption() 设置窗口标题。
加载图像资源:游戏的图像资源包括背景图片、玩家飞机、敌机、子弹等。通过 pygame.image.load() 加载这些图片,之后将其用于绘制屏幕。
设置游戏图标:通过 pygame.display.set_icon() 设置游戏的窗口图标。

import pygame
import random# 初始化pygame
pygame.init()# 设置游戏窗口
screen_width = 450
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("飞机大战")# 加载资源
background = pygame.image.load("background.png")
player_image = pygame.image.load("player.png")
enemy_image = pygame.image.load("enemy.png")
bullet_image = pygame.image.load("bullet.png")# 设置字体
font = pygame.font.SysFont("Arial", 30)# 游戏时钟
clock = pygame.time.Clock()


2. 游戏界面设计


游戏界面是通过 pygame 绘制的,界面上包括背景、玩家飞机、敌机、子弹、分数等元素。关键部分如下:

背景绘制:每一帧都使用 screen.blit() 将背景图像绘制到窗口上,确保画面更新时背景始终处于屏幕的最底层。
玩家飞机:玩家的飞机是游戏的主角,通过 screen.blit() 将玩家飞机的图像绘制到指定位置。如果玩家飞机被击中,显示飞机爆炸的效果,爆炸动画逐帧切换。
敌机与子弹:敌机在屏幕上方随机位置生成,并向下方移动。子弹是玩家用来攻击敌机的武器,每发射一次子弹,就在屏幕上绘制一个小的矩形。


3. 玩家控制与操作


玩家通过键盘的方向键或 WASD 键来控制飞机的移动,具体通过以下方式实现:

方向键控制飞机移动:每一帧,程序都会检查玩家按下的键位(pygame.key.get_pressed()),并通过 player.moveUp(), player.moveDown(), player.moveLeft(), player.moveRight() 方法来移动玩家飞机。
子弹射击:玩家的飞机每隔一定的帧数会发射一次子弹,代码通过判断射击频率来控制子弹的发射。子弹在屏幕上向上移动,当其超出屏幕时,会被移除。

# 玩家飞机类
class Player(pygame.sprite.Sprite):def __init__(self):super().__init__()self.image = player_imageself.rect = self.image.get_rect()self.rect.center = (screen_width // 2, screen_height - 50)self.speed = 5def update(self, keys):if keys[pygame.K_LEFT] and self.rect.left > 0:self.rect.x -= self.speedif keys[pygame.K_RIGHT] and self.rect.right < screen_width:self.rect.x += self.speedif keys[pygame.K_UP] and self.rect.top > 0:self.rect.y -= self.speedif keys[pygame.K_DOWN] and self.rect.bottom < screen_height:self.rect.y += self.speed# 创建玩家对象
player = Player()


4. 敌机生成与行为


敌机是游戏中的主要敌人,其生成和行为设计如下:

敌机生成:敌机以一定的频率从屏幕上方随机位置出现。每50帧,生成一架新的敌机。
敌机移动:敌机从屏幕的上方开始移动,每一帧更新其位置,向下移动一定的速度。如果敌机移出屏幕,则会被删除。
敌机与玩家飞机碰撞:当敌机与玩家飞机发生碰撞时,玩家飞机会爆炸并游戏结束,敌机则会触发爆炸动画。

# 敌机类
class Enemy(pygame.sprite.Sprite):def __init__(self):super().__init__()self.image = enemy_imageself.rect = self.image.get_rect()self.rect.x = random.randint(0, screen_width - self.rect.width)self.rect.y = -self.rect.heightself.speed = random.randint(2, 5)def update(self):self.rect.y += self.speedif self.rect.top > screen_height:self.rect.x = random.randint(0, screen_width - self.rect.width)self.rect.y = -self.rect.height


5. 碰撞检测与爆炸效果


游戏中的碰撞检测是通过 pygame.sprite.collide_circle() 函数实现的。具体流程如下:

玩家飞机与敌机碰撞:如果敌机与玩家飞机发生碰撞,玩家飞机会被标记为“被击中”,并开始播放爆炸动画。敌机会被从敌机精灵组中移除,同时触发敌机爆炸效果。
敌机与子弹碰撞:当敌机与玩家的子弹碰撞时,敌机会被销毁,并触发爆炸动画。每次敌机被击中,玩家会获得一定的分数。

# 创建精灵组
all_sprites = pygame.sprite.Group()
bullets = pygame.sprite.Group()
enemies = pygame.sprite.Group()# 添加玩家飞机
all_sprites.add(player)# 碰撞检测
def check_collisions():# 检查子弹与敌机的碰撞for bullet in bullets:enemy_hits = pygame.sprite.spritecollide(bullet, enemies, True)for enemy in enemy_hits:bullet.kill()  # 删除子弹score = 100  # 增加分数break# 检查玩家与敌机的碰撞if pygame.sprite.spritecollide(player, enemies, True):player.kill()  # 删除玩家game_over()  # 结束游戏def game_over():# 显示游戏结束画面print("游戏结束")


6. 得分机制


得分是游戏中的一项重要元素,玩家击中敌机后可以获得分数。具体实现方式如下:

击中敌机增加分数:每击中一架敌机,玩家的分数增加100分。分数通过 score 变量进行累加,并显示在屏幕左上角。
分数显示:每一帧,游戏会通过 pygame.font.Font() 创建字体对象,然后将当前分数渲染为文本,通过 screen.blit() 显示在屏幕上。

# 初始化得分
score = 0# 渲染得分
def show_score():score_text = font.render(f"Score: {score}", True, (255, 255, 255))screen.blit(score_text, (10, 10))


7. 游戏暂停与重启功能


为了增加游戏的互动性,代码中实现了暂停与重启功能:

暂停功能:当玩家点击鼠标右键时,游戏会暂停。暂停状态下,玩家无法控制飞机或发射子弹。
重启功能:当游戏结束时,玩家可以通过点击鼠标左键来重新开始游戏。重启过程包括重置玩家的位置、敌机、子弹、分数等所有游戏元素,并重新加载游戏资源。

running = True
while running:# 事件处理for event in pygame.event.get():if event.type == pygame.QUIT:running = False# 键盘按键检测keys = pygame.key.get_pressed()player.update(keys)# 更新精灵all_sprites.update()# 创建敌机if random.random() < 0.02:  # 以某个概率生成敌机enemy = Enemy()enemies.add(enemy)all_sprites.add(enemy)# 更新子弹for bullet in bullets:bullet.update()# 检查碰撞check_collisions()# 绘制屏幕screen.blit(background, (0, 0))  # 背景all_sprites.draw(screen)  # 所有精灵绘制show_score()  # 显示分数pygame.display.flip()  # 刷新屏幕clock.tick(60)  # 控制帧率pygame.quit()


8. 游戏结束与画面显示


当玩家的飞机被敌机撞击时,游戏进入“游戏结束”状态。此时,游戏界面显示背景为“游戏结束”的图片,并显示最终得分。玩家可以选择重新开始游戏。游戏结束后的设计通过以下方式实现:

显示结束画面:通过 screen.blit(bg_game_over, (0, 0)) 显示“游戏结束”背景图。
显示得分:使用 pygame.font.SysFont() 渲染字体显示玩家的最终得分。
提示重启:显示文本提示玩家点击鼠标左键重新开始。


9. 优化与细节


射击频率控制:为了避免玩家过快地连续射击,代码限制了每秒最多射击一次子弹(通过 shoot_frequency 控制)。
敌机频率控制:敌机的生成频率通过 enemy_frequency 控制,确保敌机不会过快产生,给玩家留出足够的反应时间。


总结


该《飞机大战》游戏的设计实现了经典的飞行射击游戏玩法。通过合理的游戏逻辑和界面设计,玩家能够控制飞机躲避敌机攻击,击败敌机并获得分数。游戏通过碰撞检测、爆炸动画和得分系统增加了互动性和娱乐性。同时,暂停和重启功能提升了游戏的可玩性,使玩家可以在任意时刻控制游戏的进度。

相关文章:

经典游戏:飞机大战游戏python设计与实现

《飞机大战》是一款经典的二维飞行射击游戏&#xff0c;其核心玩法是控制玩家飞机与敌机作战&#xff0c;通过击落敌机获取分数并尽量避免被敌机击中。根据提供的代码&#xff0c;飞机大战的设计和实现可以分为以下几个主要部分&#xff1a;游戏初始化、游戏界面设计、玩家控制…...

网络爬虫——常见问题与调试技巧

在开发网络爬虫的过程中&#xff0c;开发者常常会遇到各种问题&#xff0c;例如网页加载失败、数据提取错误、反爬机制限制等。以下内容将结合实际经验和技术方案&#xff0c;详细介绍解决常见错误的方法&#xff0c;以及如何高效调试和优化爬虫代码。 1. 爬虫过程中常见的错误…...

深入理解TensorFlow中的形状处理函数

摘要 在深度学习模型的构建过程中&#xff0c;张量&#xff08;Tensor&#xff09;的形状管理是一项至关重要的任务。特别是在使用TensorFlow等框架时&#xff0c;确保张量的形状符合预期是保证模型正确运行的基础。本文将详细介绍几个常用的形状处理函数&#xff0c;包括get_…...

macOS 无法安装第三方app,启用任何来源的方法

升级新版本 MacOS 后&#xff0c;安装下载的软件时&#xff0c;不能在 ”安全性与隐私” 中找不到 ”任何来源” 选项。 1. 允许展示任何来源 点击 启动器 (Launchpad) – 其他 (Other) – 终端 (Terminal)&#xff1a; 打开终端后&#xff0c;输入以下代码回车&#xff1a; …...

Leetcode148. 排序链表(HOT100)

链接 我写的错误代码&#xff1a; class Solution { public:ListNode* sortList(ListNode* head) {if (!head || !head->next)return head;ListNode* fast head;ListNode* slow head;while (fast&&fast->next) {fast fast->next->next;slow slow->…...

Linux线程_线程互斥_线程同步

一.线程互斥 1.进程线程间的互斥相关概念 临界资源&#xff1a;多线程执行流共享的资源就叫做临界资源临界区&#xff1a;每个线程内部&#xff0c;访问临界资源的代码&#xff0c;就叫做临界区互斥&#xff1a;任何时刻&#xff0c;互斥保证有且只有一个执行流进入临界区&…...

【Spiffo】环境配置:VScode+Windows开发环境

摘要&#xff1a; 在Linux下直接开发有时候不习惯快捷键和操作逻辑&#xff0c;用Windows的话其插件和工具都更齐全、方便&#xff0c;所以配置一个Windows的开发环境能一定程度提升效率。 思路&#xff1a; 自己本地网络内远程连接自己的虚拟机&#xff08;假定用的是虚拟机…...

DevExpress控件 基本使用

DevExpress控件 一、DevExpress简介 1、所有编辑器的公共功能 全部都可以绑定数据&#xff1b; 全部都可以独立使用或用于由 Developer Express 提供的容器控件 (XtraGrid、XtraVerticalGrid、XtraTreeList 和 XtraBars) 内的内置编辑&#xff1b; 全部都使用相同的样式、外…...

设计模式——装饰器模式

装饰器模式是结构型设计模式&#xff0c;在Python中有一个非常著名的装饰器wrapper&#xff0c;它的实现方法就是使用了该设计模式&#xff0c;装饰器可以修饰类也可以修饰函数。 从类的设计上说&#xff0c;他的本质是在不定义子类的情况下动态的给对象添加一些额外的功能。举…...

【编程题目】列表、元组及集合

一.列表的题目 题目1:列表反转与排序 描述:给定一个整数列表,首先反转该列表,然后对其进行升序排序。最后输出处理后的列表。输入:一个整数列表,例如 [3, 1, 4, 1, 5, 9]输出:处理后的列表,例如 [1, 1, 3, 4, 5, 9]示例:input_list = [3, 1, 4, 1, 5, 9] # 你的代码 …...

【大数据学习 | Spark-Core】RDD的缓存(cache and checkpoint)

1. 单应用缓存&#xff1a;cache 1.1 cache算子 cache算子能够缓存中间结果数据到各个executor中&#xff0c;后续的任务如果需要这部分数据就可以直接使用避免大量的重复执行和运算。 rdd 存储级别中默认使用的算子cache算子&#xff0c;cache算子的底层调用的是persist算子…...

自主研发,基于PHP+ vue2+element+ laravel8+ mysql5.7+ vscode开发的不良事件管理系统源码,不良事件管理系统源码

不良事件上报系统源码&#xff0c;不良事件管理系统源码&#xff0c;PHP源码 不良事件上报系统通过 “事前的人员知识培训管理和制度落地促进”、“事中的事件上报和跟进处理”、 以及 “事后的原因分析和工作持续优化”&#xff0c;结合预存上百套已正在使用的模板&#xff0…...

哈希表理解与底层模拟实现

内容摘要 本文内容包括红黑树和哈希表的性能比较逻辑分析及实现、哈希表的概念、哈希表映射关系建立的最常用的两种方法直接地址法和除留余数法介绍、介绍了哈希冲突的原因以及解决解决哈希冲突的方法、负载因子的概念、哈希表的扩容、开散列实现哈希表的思路及代码实现、闭散列…...

docker compose的安装和使用

1. Docker Compose 简介 Docker Compose 是一个工具&#xff0c;用于定义和运行多容器的 Docker 应用。通过编写一个 docker-compose.yml 文件&#xff0c;可以一次性启动所有容器&#xff0c;并且方便管理容器之间的依赖。 2. 安装 Docker Compose 前提条件 确保已安装 Do…...

17种Kubernetes安全检测工具详解

随着Kubernetes的广泛应用,确保其安全性就显得尤为重要。好在现有很多优秀的安全检测工具,可以帮助我们发现和修复Kubernetes集群中的安全隐患。本文将全面介绍17种常用的Kubernetes安全检测工具。 Kube-benchKube-hunterKubesec.ioTrivyKube-auditKube-secKube-vulnkube-scana…...

Python遥感开发之CGCS2000转换WGS84地理坐标系

Python遥感开发之CGCS2000转换WGS84地理坐标系 1 CGC2000坐标系介绍2 WGS84地理坐标系介绍3 代码实现CGCS2000转换WGS84地理坐标系 前言&#xff1a;主要借助pyproj实现从CGCS2000高斯-克吕格3度带&#xff08;EPSG:4547&#xff09;转换到WGS84地理坐标系&#xff08;EPSG:432…...

FAX动作文件优化脚本(MAX清理多余关键帧插件)

大较好,为大家介绍一个节省FBX容量的插件!只保留有用的动画轴向,其他不参与动画运动的清除! 一.插件目的:: 1.我们使用的U3D引擎产生的游戏资源包容量太大,故全方位优化动画资源; 2.在max曲线编辑器内,点取轴向太过麻烦,费事,直观清除帧大大提高效率。 如: 二:…...

Springboot集成ElasticSearch实现minio文件内容全文检索

一、docker安装Elasticsearch &#xff08;1&#xff09;springboot和Elasticsearch的版本对应关系如下&#xff0c;请看版本对应&#xff1a; 注意安装对应版本&#xff0c;否则可能会出现一些未知的错误。 &#xff08;2&#xff09;拉取镜像 docker pull elasticsearch:7…...

Python 中的 | 符号

Python 中的 | 符号 正文用法 1用法2 正文 今天遇到了一个符号 |&#xff0c;本文将对符号 | 的意思进行说明。 x: int 1 print(x) # 1上述代码中&#xff0c;:int 表示的是注释内容&#xff0c;这个在 python 中的注释 一文中我们已经进行了说明。 用法 1 有些时候我们会…...

网安基础知识|IDS入侵检测系统|IPS入侵防御系统|堡垒机|VPN|EDR|CC防御|云安全-VDC/VPC|安全服务

网安基础知识|IDS入侵检测系统|IPS入侵防御系统|堡垒机|VPN|EDR|CC防御|云安全-VDC/VPC|安全服务 IDS入侵检测系统 Intrusion Detection System 安全检测系统&#xff0c;通过监控网络流量、系统日志等信息&#xff0c;来检测系统中的安全漏洞、异常行为和入侵行为。 分为&am…...

记录elasticsearch-analysis-dynamic-synonym从8.15.0升级到8.16.0所遇到的问题

记录elasticsearch-analysis-dynamic-synonym从8.15.0升级到8.16.0所遇到的问题 一、打包步骤 步骤一、linux系统下执行elasticsearch-module中的build.sh脚本 步骤二、maven环境下elasticsearch-cluster-runner执行maven install命令安装到本地maven仓库。 步骤三、修改版…...

IDEA怎么定位java类所用maven依赖版本及引用位置

在实际开发中&#xff0c;我们可能会遇到需要搞清楚代码所用依赖版本号及引用位置的场景&#xff0c;便于排查问题&#xff0c;怎么通过IDEA实现呢&#xff1f; 可以在IDEA中打开项目&#xff0c;右键点击maven的pom.xml文件&#xff0c;或者在maven窗口下选中项目&#xff0c;…...

react native 安装好apk后无法打开

react native 打包好apk安装完成&#xff0c;没有打开app按钮&#xff0c; 在AndroidManifest.xml中 <intent-filter><action android:name"android.intent.action.MAIN" /><category android:name"android.intent.category.LAUNCHER" /&…...

HTML5 SVG

HTML5 SVG SVG(Scalable Vector Graphics)是一种基于XML的图像格式,用于在网页上创建矢量图形。与传统的位图图像(如PNG和JPEG)不同,SVG图像可以无限放大而不失真,因为它们是由直线和曲线定义的数学路径,而不是像素点。HTML5支持直接在网页中嵌入SVG,使得网页设计更加…...

【LeetCode每日一题】——485.最大连续 1 的个数

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时空频度】九【代码实现】十【提交结果】 一【题目类别】 数组 二【题目难度】 LeetCode 三【题目编号】 485.最大连续 1 的个数 四【题目描述】 给定…...

Python语言就业方向有哪些?

Python语言的就业方向非常广泛&#xff0c;涵盖了多个领域和职位&#xff0c;主要包括&#xff1a; Web开发 Python在Web开发领域有着广泛的应用&#xff0c;特别是通过框架如Django、Flask等。Python可以帮助开发者快速搭建网站&#xff0c;与各种前端技术集成&#xff0c;从而…...

SpringSecurity创建一个简单的自定义表单的认证应用

1、SpringSecurity 自定义表单 在 Spring Security 中创建自定义表单认证应用是一个常见的需求&#xff0c;特别是在需要自定义登录页面、认证逻辑或添加额外的表单字段时。以下是一个详细的步骤指南&#xff0c;帮助你创建一个自定义表单认证应用。 2、基于 SpringSecurity 的…...

wpf 事件转命令的方式

1&#xff0c;方式1 <StackPanel Background"Transparent"><StackPanel.InputBindings><KeyBinding Command"{Binding ChangeColorCommand}"CommandParameter"{Binding ElementNamecolorPicker, PathSelectedItem}"Key"{Bi…...

Docker 容器的初始化设置

虽然现在Conntainerd 大有取代Docker作为容器运行时的趋势&#xff0c;但是docker还是有自己的优势在。尤其是对于开发者来讲&#xff0c;使用Docker 比使用 containerd 方便很多&#xff0c;尤其是在Docker Desktop等工具的加持下。 本文主要面向Docker的初、中级学者&#xf…...

python里的数据结构

列表&#xff08;List&#xff09; 定义和特点&#xff1a; 列表是一种有序的可变序列&#xff0c;可包含不同类型的元素&#xff0c;如整数、字符串、列表等。可以通过索引访问和修改元素&#xff0c;索引从 0 开始。代码示例&#xff1a; my_list [1, 2, apple, [4, 5]] pr…...

Ros Noetic 20.04 跑通mpc_ros包保姆级教程

前言: 本文将简述mpc_ros包在noetic20.04中的安装,mpc是 一种跟踪、MPC_ROS 是一个基于ROS(Robot Operating System)的模型预测控制(Model Predictive Control,MPC)库。该项目旨在为机器人控制提供一个灵活且高效的MPC实现,使得开发者能够在ROS环境中轻松集成和使用MPC…...

MySQL 没有数据闪回?看 zCloud 如何补齐MySQL数据恢复能力

ENMOTECH 上一篇文章为大家介绍了某金融科技企业通过 zCloud 多元数据库智能管理平台的告警中心“警警”有条地管理告警并进行敏捷处置的实践案例。本篇跟大家继续分享该案例客户如何利用 zCloud 备份恢复模块下的Binlog解析功能补齐 MySQL 数据恢复能力&#xff0c;让运维人员…...

k8s集群加入node节点为ubuntu 22.04

文章目录 1.环境准备1.1 关闭无用服务1.2 环境和网络1.3 apt源1.4 系统优化 2. 装containerd3. 接入k8s集群3.1 kubelet、kubeadm、kubectl安装3.2 缺少一个镜像3.3 接入k8s集群 4. 一些相关问题 1.环境准备 rootcto-gpu-pro-n01:~# lsb_release -a No LSB modules are availa…...

提取图片高频信息

提取图片高频信息 示例-输入&#xff1a; 示例-输出&#xff1a; 代码实现&#xff1a; import cv2 import numpy as npdef edge_calc(image):src cv2.GaussianBlur(image, (3, 3), 0)ddepth cv2.CV_16Sgray cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)grad_x cv2.Scharr(g…...

向量数据库FAISS之四:向量检索和 FAISS

来自 YouTube 1.相似度搜索的传统方法(Jaccard, w-shingling, Levenshtein) 1.Jaccard 距离 公式 Jaccard ( A , B ) 1 − ∣ A ∩ B ∣ ∣ A ∪ B ∣ \text{Jaccard}(A, B) 1 - \frac{|A \cap B|}{|A \cup B|} Jaccard(A,B)1−∣A∪B∣∣A∩B∣​ 其中&#xff0c; A 和 …...

Flume日志采集系统的部署,实现flume负载均衡,flume故障恢复

目录 安装包 flume的部署 负载均衡测试 故障恢复 安装包 在这里给大家准备好了flume的安装包 通过网盘分享的文件&#xff1a;apache-flume-1.9.0-bin.tar.gz 链接: https://pan.baidu.com/s/1DXMA4PxdDtUQeMB4J62xoQ 提取码: euz7 --来自百度网盘超级会员v4的分享 ----…...

行列式的理解与计算:线性代数中的核心概念

开发领域&#xff1a;前端开发 | AI 应用 | Web3D | 元宇宙 技术栈&#xff1a;JavaScript、React、ThreeJs、WebGL、Go 经验经验&#xff1a;6 年 前端开发经验&#xff0c;专注于图形渲染和 AI 技术 开源项目&#xff1a;github 简智未来、数字孪生引擎、前端面试题 大家好&a…...

DimensionX:单图生成任意的3d/4d视图

DimensionX:单图生成任意的3d/4d视图 通俗易懂的来说 在我们的方法中&#xff0c;关键是如何从一张图片生成动态的3D和4D场景。我们使用一个叫做ST-Director的工具&#xff0c;它可以分开处理空间&#xff08;3D&#xff09;和时间&#xff08;4D&#xff09;两个方面。想象一…...

k8s上面的Redis集群链接不上master的解决办法

问题描述 之前在k8s上面部署了一台node&#xff0c;然后创建了6个redis的pod&#xff0c;构建了一个redis的集群&#xff0c;正常运行。 最近添加了一台slave node&#xff0c;然后把其中的几个redis的pod调度到了slave node上面&#xff0c;结果集群就起不来了&#xff0c;…...

芯片之殇——“零日漏洞”(文后附高通64款存在漏洞的芯片型号)

芯片之殇——“零日漏洞”(文后附高通64款存在漏洞的芯片型号) 本期是平台君和您分享的第113期内容 前一段时间,高通公司(Qualcomm)发布安全警告称,提供的60多款芯片潜在严重的“零日漏洞”,芯片安全再一次暴露在大众视野。 那什么是“零日漏洞”?平台君从网上找了一段…...

《线性代数的本质》

之前收藏的一门课&#xff0c;刚好期末复习&#xff0c;顺便看一看哈哈 课程链接&#xff1a;【线性代数的本质】合集-转载于3Blue1Brown官方双语】 向量究竟是什么 线性代数中最基础、最根源的组成部分就是向量&#xff0c;需要先明白什么是向量 不同专业对向量的看法 物理专…...

计算机视觉 1-8章 (硕士)

文章目录 零、前言1.先行课程&#xff1a;python、深度学习、数字图像处理2.查文献3.环境安装 第一章&#xff1a;概论1.计算机视觉的概念2.机器学习 第二章&#xff1a;图像处理相关基础1.图像的概念2.图像处理3.滤波器4.卷积神经网络CNN5.图像的多层表示&#xff1a;图像金字…...

SpringMVC

七、SpringMVC &#xff08;1&#xff09;SpringMVC简介 SpringMVC概述 SpringMVC技术与Servlet技术功能等同&#xff0c;均属于web层开发技术&#xff0c;web程序大都基于三层架构实现 如果所有的处理都交给Servlet来处理的话&#xff0c;所有的东西都耦合在一起&#xff0c…...

使用llama.cpp进行量化和部署

git clone https://github.com/ggerganov/llama.cpp cd llama.cpp &#x1f5a5;️ CPU 版本 cmake -B build_cpu cmake --build build_cpu --config Release &#x1f5a5;️ CUDA 版本 cmake -B build_cuda -DLLAMA_CUDAON cmake --build build_cuda --config Release -j …...

iOS构建版本以及Hbuilder打iOS的ipa包全流程

目录 Hbuilder打ipa包 打包之前进行应用配置 应用版本号设置 使用广告标识设置 iOS-云打包 下载并转移安装包 使用Transporter提交版本 应用简介 下载应用 账号登录 提交安装包到apple store connect 在apple开发者平台上确认 总结 本篇文章详细的介绍了使用Hbuil…...

DB-GPT V0.6.2 版本更新:牵手libro社区、GraphRAG图谱构建能力增强等

DB-GPT V0.6.2版本现已上线&#xff0c;快速预览新特性&#xff1a; 新特性 1、DB-GPT 社区和 libro 社区共同发布 AWEL Notebook 功能 libro&#xff1a;灵活定制、轻松集成的 Notebook 产品方案。 社区地址&#xff1a;https://github.com/difizen/libro 使用教程&#xf…...

Chrome 浏览器 131 版本新特性

Chrome 浏览器 131 版本新特性 一、Chrome 浏览器 131 版本更新 1. 在 iOS 上使用 Google Lens 搜索 自 Chrome 126 版本以来&#xff0c;用户可以通过 Google Lens 搜索屏幕上看到的任何图片或文字。 要使用此功能&#xff0c;请访问网站&#xff0c;并点击聚焦时出现在地…...

数据结构初识

目录 1.初识 2.时间复杂度 常见时间复杂度举例&#xff1a; 3.空间复杂度 4.包装类&简单认识泛型 4.1装箱和拆箱 5.泛型 6.泛型的上界 7.泛型方法 8.List接口 1.初识 1.多画图 2.多思考 3.多写代码 4.多做题 牛客网-题库/在线编程/剑指offer 算法篇&#xff1a…...

[ 应急响应进阶篇-2 ] Linux创建后门并进行应急处置-1:超级用户帐号后门

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…...

设计模式:4、命令模式(双重委托)

目录 0、定义 1、命令模式包括四种角色 2、命令模式的UML类图 3、代码示例 0、定义 将一个请求封装为一个对象&#xff0c;从而使用户可用不同的请求对客户进行参数化&#xff1b;对请求排队或记录请求日志&#xff0c;以及支持可撤销的操作。 1、命令模式包括四种角色 接…...