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

鸿蒙Arkts开发飞机大战小游戏,包含无敌模式,自动射弹,暂停和继续

飞机大战可以把飞机改成图片,目前包含无敌模式,自动射弹,暂停和继续的功能
请添加图片描述
代码如下:

// 定义位置类
class GamePosition {x: numbery: numberconstructor(x: number, y: number) {this.x = xthis.y = y}
}@Entry
@Component
struct PlaneGame {@State isPaused: boolean = false // 添加暂停状态@State playerX: number = 180@State playerY: number = 400  // 降低初始Y位置@State bullets: GamePosition[] = []@State enemies: GamePosition[] = []@State score: number = 0@State isGameOver: boolean = false@State isInvincible: boolean = false  // 添加无敌状态@State autoFire: boolean = false  // 添加自动发射状态// 修改移动速度从8提高到15private speed: number = 15      // 大幅提高移动速度private bulletSpeed: number = 15private enemySpeed: number = 3private enemySpawnRate: number = 45private fireInterval: number = 10  // 自动发射间隔(帧数)private frameCount: number = 0private planeSize: number = 40  // 减小尺寸private bulletSize: number = 8private enemySize: number = 40private isLeftPressed: boolean = falseprivate isRightPressed: boolean = falseprivate isFirePressed: boolean = falseprivate gameInterval: number = 0 // 添加游戏循环引用// 添加togglePause方法togglePause() {this.isPaused = !this.isPaused// 强制状态更新this.score = this.score + 0console.log(`游戏已${this.isPaused ? '暂停' : '继续'}`)}aboutToAppear() {this.gameInterval = setInterval(() => {if (!this.isPaused && !this.isGameOver) {this.updateGame()this.handleContinuousInput()}}, 16)}handleContinuousInput() {if (this.isLeftPressed) {this.movePlayer('left')}if (this.isRightPressed) {this.movePlayer('right')}if (this.isFirePressed || (this.autoFire && this.frameCount % this.fireInterval === 0)) {this.fireBullet()}}updateGame() {if (this.isGameOver) {return;}this.frameCount++;// Update bullet positionsthis.bullets = this.bullets.map(bullet => new GamePosition(bullet.x, bullet.y - this.bulletSpeed)).filter(bullet => bullet.y > 0);// Update enemy positionsthis.enemies = this.enemies.map(enemy => new GamePosition(enemy.x, enemy.y + this.enemySpeed)).filter(enemy => enemy.y < 1000);// Spawn new enemiesif (this.frameCount % this.enemySpawnRate === 0) {this.enemies.push(new GamePosition(Math.random() * (360 - this.enemySize),-this.enemySize));}// Check collisionsthis.checkCollisions();// Check game over conditionif (!this.isInvincible && this.enemies.some(enemy => enemy.y + this.enemySize > this.playerY &&enemy.x + this.enemySize > this.playerX &&enemy.x < this.playerX + this.planeSize)) {this.isGameOver = true;}}checkCollisions() {this.bullets.forEach(bullet => {this.enemies.forEach((enemy, index) => {if (bullet.x + this.bulletSize > enemy.x &&bullet.x < enemy.x + this.enemySize &&bullet.y + this.bulletSize > enemy.y &&bullet.y < enemy.y + this.enemySize) {this.score += 10;this.enemies.splice(index, 1);}});});}fireBullet() {this.bullets.push(new GamePosition(this.playerX + this.planeSize / 2 - this.bulletSize / 2,this.playerY - this.bulletSize));}movePlayer(direction: string) {if (direction === 'left' && this.playerX > 0) {this.playerX -= this.speed;} else if (direction === 'right' && this.playerX < 360 - this.planeSize) {this.playerX += this.speed;}}toggleInvincible() {this.isInvincible = !this.isInvincible;}toggleAutoFire() {this.autoFire = !this.autoFire;}restartGame() {this.playerX = 180;this.playerY = 350;  // 将初始Y坐标从400改为350this.bullets = [];this.enemies = [];this.score = 0;this.isGameOver = false;this.frameCount = 0;this.isPaused = false;}build() {Column() {// 游戏标题和状态栏Row() {Text('飞机大战').fontSize(24)  // 缩小标题字号.fontColor(Color.White).margin({ left: 10 })  // 减小左边距Blank()Text(`得分: ${this.score}`).fontSize(20)  // 缩小得分显示字号.fontColor(Color.White).margin(5)  // 减小边距Text(`无敌: ${this.isInvincible ? 'ON' : 'OFF'}`).fontSize(20)  // 缩小无敌状态字号.fontColor(this.isInvincible ? Color.Green : Color.Gray).margin(5)  // 减小边距}.width('100%').height(40)  // 减小标题栏高度.backgroundColor('#333333')// 游戏主区域Stack() {// 游戏区域背景Rect().width('100%').height(450)  // 将高度从400增加到450.backgroundColor('#000033')// 玩家飞机Rect().width(this.planeSize).height(this.planeSize).fill(Color.Blue).position({ x: this.playerX, y: this.playerY })// 子弹ForEach(this.bullets, (bullet: GamePosition) => {Rect().width(this.bulletSize).height(this.bulletSize * 2)  // 加长子弹.fill(Color.Yellow).position({ x: bullet.x, y: bullet.y })}, (bullet: GamePosition) => `${bullet.x},${bullet.y}`)// 敌机ForEach(this.enemies, (enemy: GamePosition) => {Rect().width(this.enemySize).height(this.enemySize).fill(Color.Red).position({ x: enemy.x, y: enemy.y })}, (enemy: GamePosition) => `${enemy.x},${enemy.y}`)}.width('100%').height(450)  // 同步修改高度.margin({ top: 5, bottom: 5 })  // 调整上下边距.borderRadius(10).border({ width: 2, color: '#555555' })// 游戏控制按钮区域Row() {Button(this.isInvincible ? '关闭无敌' : '开启无敌').onClick(() => this.toggleInvincible()).width(100).height(40).fontSize(16).backgroundColor('#4A4A4A').fontColor(Color.White)Button(this.autoFire ? '关闭自动' : '开启自动').onClick(() => this.toggleAutoFire()).width(100).height(40).fontSize(16).backgroundColor(this.autoFire ? '#FFA500' : '#4A4A4A').fontColor(Color.White)Button(this.isPaused ? '继续' : '暂停').onClick(() => this.togglePause()).width(100).height(40).fontSize(16).backgroundColor(this.isPaused ? '#00AA00' : '#AA0000').fontColor(Color.White)// 添加重新开始按钮Button('重新开始').onClick(() => this.restartGame()).width(100).height(40).fontSize(16).backgroundColor('#4A4A4A').fontColor(Color.White)}.width('95%')  // 减小宽度.justifyContent(FlexAlign.SpaceAround).margin({ top: 5, bottom: 5 })  // 调整上下边距// 方向控制区域Column() {// 上方向按钮Button('↑').onTouch((event: TouchEvent) => {if (event.type === TouchType.Down) {this.isFirePressed = true} else if (event.type === TouchType.Up) {this.isFirePressed = false}}).onClick(() => this.fireBullet())  // 上按钮用于发射子弹.width(60).height(60).fontSize(20).margin(5)// 左右方向按钮Row() {Button('←').onTouch((event: TouchEvent) => {if (event.type === TouchType.Down) {this.isLeftPressed = true} else if (event.type === TouchType.Up) {this.isLeftPressed = false}}).onClick(() => this.movePlayer('left')).width(60).height(60).fontSize(20).margin(5)Button('→').onTouch((event: TouchEvent) => {if (event.type === TouchType.Down) {this.isRightPressed = true} else if (event.type === TouchType.Up) {this.isRightPressed = false}}).onClick(() => this.movePlayer('right')).width(60).height(60).fontSize(20).margin(5)}.justifyContent(FlexAlign.Center)// 下方向按钮(可留空或用作其他功能)// Button('↓')//   .width(60)//   .height(60)//   .fontSize(20)//   .margin(5)//   .opacity(0.5)  // 半透明表示不可用}.margin({ top: 20, bottom: 20 }).alignItems(HorizontalAlign.Center).backgroundColor('#333333').width('90%').borderRadius(20).padding(10)}.width('100%').height('100%').backgroundColor('#222222').onClick(() => {console.log('游戏区域点击')}).onKeyEvent((event: KeyEvent) => {switch (event.keyCode) {case 2038: // 左箭头case 21: this.isLeftPressed = (event.type === KeyType.Down)breakcase 2039: // 右箭头case 22: this.isRightPressed = (event.type === KeyType.Down)breakcase 2040: // 空格case 23: case 2037: // 上箭头case 19: this.isFirePressed = (event.type === KeyType.Down)break}})}
} // 这是PlaneGame结构体的闭合

相关文章:

鸿蒙Arkts开发飞机大战小游戏,包含无敌模式,自动射弹,暂停和继续

飞机大战可以把飞机改成图片&#xff0c;目前包含无敌模式&#xff0c;自动射弹&#xff0c;暂停和继续的功能 代码如下&#xff1a; // 定义位置类 class GamePosition {x: numbery: numberconstructor(x: number, y: number) {this.x xthis.y y} }Entry Component struct…...

使用`sklearn`中的逻辑回归模型进行股票的情感分析,以及按日期统计积极和消极评论数量的功能

以下是完成上述任务的Python代码&#xff0c;可在Jupyter Notebook中运行。此代码包含了使用sklearn中的逻辑回归模型进行情感分析&#xff0c;以及按日期统计积极和消极评论数量的功能。 import pandas as pd from sklearn.feature_extraction.text import TfidfVectorizer f…...

简洁的 PlantUML 入门教程

评论中太多朋友在问&#xff0c;我的文章中图例如何完成的。 我一直用plantUML,也推荐大家用&#xff0c;下面给出一个简洁的PlantUML教程。 &#x1f331; 什么是 PlantUML&#xff1f; PlantUML 是一个用纯文本语言画图的工具&#xff0c;支持流程图、时序图、用例图、类图、…...

Python 面向对象 - 依赖倒置原则 (DIP)

1. 核心概念 依赖倒置原则(Dependency Inversion Principle, DIP) 是SOLID原则中的"D"&#xff0c;包含两个关键点&#xff1a; 高层模块不应依赖低层模块&#xff0c;二者都应依赖抽象抽象不应依赖细节&#xff0c;细节应依赖抽象 2. 使用场景 典型应用场景 系…...

自动化框架及其设计搭建浅谈(二)--分层自动化测试

目录 测试金字塔模型 分层自动化测试的模型 分层自动化测试的最佳实践 自动化分层测试的误区 自动化框架的设计与自动化分层 自动化测试的设计建议 分层自动化测试&#xff0c;顾名思义&#xff0c;就是分层的自动化测试&#xff0c;那么自动化测试为什么要分层呢&#x…...

ResNet改进(19):基于PyTorch的ResNet改进方案详解:Mish激活+SPP模块+MixUp数据增强

1. 前言 ResNet作为深度学习领域里程碑式的网络架构,在图像分类等计算机视觉任务中表现出色。然而,随着研究的深入和技术的发展,原始的ResNet架构仍有改进空间。本文将详细介绍一种基于PyTorch的ResNet改进方案,该方案融合了Mish激活函数、SPP模块和MixUp数据增强等先进技…...

设计模式简述(九)命令模式

命令模式 描述基本使用使用 描述 命令模式是一种体现高内聚的行为模式。 将整个请求封装成一个命令对象&#xff0c;由这个命令对象完成所需业务调用。 命令对象封装了该命令需要的所有逻辑&#xff0c;不需要调用方关注内部细节。 基本使用 定义抽象命令&#xff08;所有命…...

Codecademy—— 交互式编程学习的乐园

一、网站概述 Codecademy 是一家美国在线学习编程知识的网站&#xff0c;它为编程学习者提供了一种全新的学习方式。在如今众多的编程学习平台中&#xff0c;Codecademy 凭借其独特的优势脱颖而出&#xff0c;吸引了全球数百万用户。其目标是帮助更多人轻松学习编程&#xff0…...

分布式数据库HBase

1.概述 1.1从BigTable 说起 BigTable是一个分布式存储系统&#xff0c;BigTable起初用于解决典型的互联网搜索问题。 BigTable是一个分布式存储系统利用谷歌提出的MapReduce分布式并行计算模型来处理海量数据使用谷歌分布式文件系统GFS作为底层数据存储采用Chubby提供协同服…...

Linux进程地址空间(12)

文章目录 前言一、进程空间地址基本概念代码分析 二、如何理解地址空间三、进一步理解页表和写实拷贝对虚拟地址的进一步深入fork() 的两个返回值&#xff1f; 总结 前言 融会贯通&#xff01;   本篇会让你再次对计算机世界里面的大智慧感到汗颜&#xff01; 本篇研究环境基…...

鸿蒙开发04界面渲染

文章目录 前言一、条件渲染1.1 if/else1.2 属性控制1.3 可见性 二、循环渲染三、滚动渲染3.1 下拉刷新3.2 上拉加载 前言 在声明式描述语句中开发者除了使用系统组件外&#xff0c;还可以使用渲染控制语句来辅助UI的构建&#xff0c;这些渲染控制语句包括控制组件是否显示的条…...

CANoe CAPL——Ethernet CAPL函数

CANoe CAPL——CAN CAPL函数 事件过程&#xff08;Event Procedures&#xff09; 函数名简要描述on ethernetErrorPacket收到错误的以太网数据包时调用。on ethernetMacsecStatus当物理端口的以太网 MACsec 连接状态变化时调用。on ethernetPacket接收到以太网数据包后调用。…...

语法: setup_lcd (mode, prescale, [segments]);

SETUP_LCD( ) 语法: setup_lcd (mode, prescale, [segments]); 参数: mode可能是来自devices.h头文件如下常数: LCD_DISABLED, LCD_STATIC, LCD_MUX12, LCD_MUX13, LCD_MUX14 下面的参数:STOP_ON_SLEEP, USE_TIMER_1可同上面的LCD_DISABLED, LCD_STATIC, LCD_MUX12, LCD…...

微前端随笔

✨ single-spa&#xff1a; js-entry 通过es-module 或 umd 动态插入 js 脚本 &#xff0c;在主应用中发送请求&#xff0c;来获取子应用的包&#xff0c; 该子应用的包 singleSpa.registerApplication({name: app1,app: () > import(http://localhost:8080/app1.js),active…...

实操(不可重入函数、volatile、SIGCHLD、线程)Linux

1 不可重入函数 为什么会导致节点丢失内存泄露&#xff1f;main函数在执行insert&#xff0c;但是没执行完就被信号中断了&#xff0c;又进了这个函数里&#xff0c;所以这个insert函数在不同的执行流中&#xff0c;同一个函数被重复进入&#xff0c;如果没有问题&#xff0c;…...

如何在Linux系统上通过命令调用AI大模型?

如何在Linux系统上通过命令调用AI大模型&#xff1f; 文章目录 如何在Linux系统上通过命令调用AI大模型&#xff1f;一、准备工作二、编写API调用脚本三、配置命令行工具 使用AI命令帮我做一个文档总结提问技术问题编写简单的shell脚本帮我写一个docker-compose 在这个AI技术飞…...

数据分析-Excel-学习笔记Day1

Day1 复现报表聚合函数&#xff1a;日期联动快速定位区域SUMIF函数SUMIFS函数环比、同比计算IFERROR函数混合引用单元格格式总结汇报 拿到一个Excel表格&#xff0c;首先要看这个表格的构成&#xff08;包含了哪些数据&#xff09;&#xff0c;几行几列&#xff0c;每一列的名称…...

负载均衡是什么,Kubernetes如何自动实现负载均衡

负载均衡是什么&#xff1f; 负载均衡&#xff08;Load Balancing&#xff09; 是一种网络技术&#xff0c;用于将网络流量&#xff08;如 HTTP 请求、TCP 连接等&#xff09;分发到多个服务器或服务实例上&#xff0c;以避免单个服务器过载&#xff0c;提高系统的可用性、可扩…...

洞察 Linux 进程管理

一、进程和线程的概念 1.进程 &#xff08;1&#xff09;概念 进程是程序在操作系统中的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位。进程是程序的执行实例&#xff0c;拥有独立的资源&#xff08;如内存、文件描述符等&#xff09;。每个进程在创建时会被…...

http协议版本的区别 -- 2和3

目录 http2和http3的区别 传输层协议 QUIC协议 介绍 连接建立与握手 建立安全连接的过程 RTT 建连为什么需要两个过程 原因 解决 QUIC协议的1-RTT 建连 必要性 连接过程 第一次握手(Client Hello) 版本号 key_share 其他 第二次握手 介绍 Server Hello 身…...

Vue2-实现elementUI的select全选功能

文章目录 使用 Element UI 的全选功能自定义选项来模拟全选 在使用 Element UI 的 el-select组件时&#xff0c;实现“全选”功能&#xff0c;通常有两种方式&#xff1a;一种是使用内置的全选功能&#xff0c;另一种是通过自定义选项来模拟全选。 使用 Element UI 的全选功能…...

Spring Boot 与 TDengine 的深度集成实践(四)

优化与扩展 批量插入数据 在实际应用中&#xff0c;当需要插入大量数据时&#xff0c;逐条插入会导致性能低下&#xff0c;因为每次插入都需要建立数据库连接、解析 SQL 语句等操作&#xff0c;这些操作会带来额外的开销 。为了提高数据插入效率&#xff0c;我们可以采用批量…...

2025年【山东省安全员C证】考试题及山东省安全员C证考试内容

在当今建筑行业蓬勃发展的背景下&#xff0c;安全生产已成为企业生存与发展的基石。安全员作为施工现场安全管理的直接责任人&#xff0c;其专业能力和资质认证显得尤为重要。山东省安全员C证作为衡量安全员专业水平的重要标准&#xff0c;不仅关乎个人职业发展&#xff0c;更直…...

提升Spring Boot开发效率的Idea插件:Spring Boot Helper

一、Spring Boot Helper插件介绍 Spring Boot Helper是一款专为Spring Boot开发者设计的IntelliJ IDEA插件&#xff0c;它提供了丰富的功能来简化和加速Spring Boot应用程序的开发过程。 该插件能够智能识别Spring Boot项目结构&#xff0c;提供专属的代码生成、配置辅助和运…...

【USTC 计算机网络】第三章:传输层 - 面向连接的传输:TCP

本文介绍了面向连接的传输协议&#xff1a;TCP&#xff0c;首先介绍 TCP 报文段的结构以及如何设置超时定时器&#xff0c;接着介绍 TCP 如何实现可靠数据传输以及流量控制&#xff0c;最后介绍 TCP 中最重要的三次握手与四次挥手的连接建立与关闭过程。 1. TCP 概述与段结构 …...

Linux主要开发工具之gcc、gdb与make

此系列还有两篇&#xff0c;大家想完整掌握可以阅读另外两篇 Linux文本编辑与shell程序设计-CSDN博客 Linux基础知识详解与命令大全&#xff08;超详细&#xff09;-CSDN博客 1.gcc编译系统 1.1 文件名后缀 文件名后缀 文 件 类 型 文件名后缀 文 件 类 型 .c C源…...

23种设计模式-行为型模式-观察者

文章目录 简介问题解决代码关键实现说明 总结 简介 观察者是一种行为设计模式&#xff0c; 允许你定义一种订阅通知机制&#xff0c; 可在事件发生时通知多个“观察/订阅”该对象的其他对象。 问题 假如你有两种类型的对象: 顾客和商店。顾客对某个新品非常感兴趣&#xff0…...

去中心化预测市场

去中心化预测市场 核心概念 预测市场类型&#xff1a; 类别型市场&#xff1a;二元结果&#xff08;YES/NO&#xff09;&#xff0c;例如“BTC在2024年突破10万美元&#xff1f;” 多选型市场&#xff1a;多个选项&#xff08;如总统候选人&#xff09;&#xff0c;赔付基于…...

springboot-ai接入DeepSeek

1、引入pom依赖 <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId> </dependency><dependencyManagement><dependencies><dependency><groupId>o…...

【C语言】数据在内存中的储存(整形)

目录 前言&#xff1a; 预备知识 整数在内存中的储存 原码 反码 补码 总结&#xff1a; 前言&#xff1a; 在上两章中讲解了五大内存函数&#xff0c;其中memchr函数&#xff0c;这个函数考察到数据内存的存储。 接下来为大家讲解整数在内存中的储存。 预备知识 认识…...

PCL 树木树干粗提取(地基数据,TLS)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 主要的思路如下: 1、首先,使用之前的CSF算法提取点云的地面点,在提取的过程中我们可以得到一个布料结构(地面模型)。 2、在得到这个布料结构之后,我们也就可以得到整个地面模型的高度了,之后我们只需要遍历每…...

Spring 中的 IOC

&#x1f331; 一、什么是 IOC&#xff1f; &#x1f4d6; 定义&#xff08;通俗理解&#xff09;&#xff1a; IOC&#xff08;Inversion of Control&#xff0c;控制反转&#xff09; 是一种设计思想&#xff1a;对象不再由你自己创建和管理&#xff0c;而是交给 Spring 容器…...

尚硅谷2019版Java集合和泛型

第十一章 Java集合框架 集合框架全景图 mindmaproot((Java集合))Collection单列List有序可重复ArrayListLinkedListVectorSet无序唯一HashSetLinkedHashSetTreeSetMap双列HashMapLinkedHashMapTreeMapHashtablePropertiesToolsCollectionsArrays三大核心接口对比 特性ListSe…...

车载诊断架构 --- 整车重启先后顺序带来的思考

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…...

华为eNSP:实验 配置单区域集成ISIS

单区域集成ISIS是一种基于中间系统到中间系统&#xff08;IS-IS&#xff09;协议的网络架构优化方案&#xff0c;主要用于简化网络设计并提升数据传输效率。其核心特点包括&#xff1a; ‌单一区域部署‌ ISIS协议在单一逻辑区域内运行&#xff0c;消除多区域间的分层复杂性&am…...

常见框架漏洞(五)----中间件IIS6

一、【PUT漏洞】 漏洞描述&#xff1a;IIS Server 在 Web 服务扩展中开启了 WebDAV &#xff0c;配置了可以写⼊的权限&#xff0c;造成任意⽂件上传。 版本&#xff1a;IIS 6.0 1. 环境 fofa搜素环境&#xff1a;"IIS-6.0" 或者环境搭建&#xff1a;本地搭建2003…...

leetcode221.最大正方形

class Solution {public int maximalSquare(char[][] matrix) {int result 0; // 记录正方形边长int m matrix.length, n matrix[0].length;int[][] dp new int[m 1][n 1];// 动态规划for (int i 1; i < m; i) {for (int j 1; j < n; j) {if (matrix[i - 1][j - …...

C++实现AVL树

一 AVL树的概念 上上节我们学习了二叉搜索树&#xff0c;他的理想查找的时间复杂度是o(log n)&#xff0c;但是如果是下面这种情况&#xff0c;那么它的时间复杂度就会变成o(n). 这种情况就是出现一边高的那种&#xff0c;它的个数和它的高度相差不大。 那么这样就会把二叉搜索…...

Linux系统安全及应用

目录 一.账号安全措施 1.1系统账号清理 1.1.1将非登录用户的shell设为无法登录 1.1.2删除无用用户 userdel 1.1.3锁定账号文件 1.1.4锁定长期不使用的账号 1.2密码安全控制 1.2.1 对新建用户 1.2.2对已有用户 1.3命令历史限制 1.3.1临时清除历史命令 1.3.2限制命令…...

JAVA反序列化深入学习(十三):Spring2

让我们回到Spring Spring2 在 Spring1 的触发链上有所变换&#xff1a; 替换了 spring-beans 的 ObjectFactoryDelegatingInvocationHandler使用了 spring-aop 的 JdkDynamicAopProxy &#xff0c;并完成了后续触发 TemplatesImpl 的流程 简而言之&#xff0c;换了一个chain&am…...

迭代器运算详解(四十二)

1. 迭代器的随机访问运算 对于 vector 和 string 这样的容器&#xff0c;它们的迭代器支持以下随机访问运算符&#xff1a; 运算符说明iter n返回一个新的迭代器&#xff0c;该迭代器比原来的迭代器 iter 向前移动了 n 个位置&#xff08;即指向后面的第 n 个元素&#xff0…...

Linux中Squid服务常用操作

在 Linux 中 Squid 服务常用操作介绍 1. Squid 基础操作 启动 Squid # 前台启动&#xff08;调试用&#xff09; squid -N -d 1# 后台启动&#xff08;-s 表示将日志输出到 syslog&#xff09; squid -s停止 Squid # 安全停止&#xff08;需配置 pid_file&#xff09; squid…...

Linux操作系统--进程的概念

目录 1.了解进程前的前景知识 冯诺依曼体系结构 操作系统(OS) 2.进程 2.1进程的概念 2.2描述进程-PCB 2.2.1task_struct 2.3查看进程 2.4通过系统调用获取进程的标识符 2.5认识fork()--创建进程 该专栏会持续更新 更新时间一周一更。下周更新内容进程状态 1.了解进程前…...

C++假期练习

思维导图 牛客练习...

HTML零基础入门笔记:狂神版

前言 本笔记是学习狂神的java教程&#xff0c;建议配合视频&#xff0c;学习体验更佳。 【狂神说Java】HTML5完整教学通俗易懂_哔哩哔哩_bilibili 第1-2章&#xff1a;Java零基础入门笔记&#xff1a;(1-2)入门&#xff08;简介、基础知识&#xff09;-CSDN博客 第3章&…...

算法竞赛备赛——【图论】链式前向星

图论 图的存储方式&#xff1a; 通用的三种&#xff1a;邻接矩阵、邻接表、边集数组 有向图&#xff1a;十字链表 无向图&#xff1a;多重邻接表 刷题常用&#xff1a;邻接矩阵、链式前向星&#xff08;邻接表变形&#xff09; 链式前向星 算法题常用: 邻接矩阵、二维vector模…...

JAVA_类和对象

目录 1.面向对象的初步认知 1.1.什么是面向对象 1.2.面向对象与面向过程 2.类的定义和使用 2.1.简单认识类 2.2类的定义格式 2.3.练习 学生类 动物类&#xff08;可爱猫猫&#x1f431;&#xff09; 3.类的实例化 3.1.什么是实例化 3.2.类和对象的说明 4.this引用…...

高频面试题(含笔试高频算法整理)基本总结回顾65

干货分享&#xff0c;感谢您的阅读&#xff01; &#xff08;暂存篇---后续会删除&#xff0c;完整版和持续更新见高频面试题基本总结回顾&#xff08;含笔试高频算法整理&#xff09;&#xff09; 备注&#xff1a;引用请标注出处&#xff0c;同时存在的问题请在相关博客留言…...

数据库系统-数据库控制

并发控制 事务的ACID特性&#xff1a; 原子性&#xff08;Atomicity&#xff09;&#xff1a;事务包含的所有操作要么全部成功&#xff08;commit提交&#xff09;&#xff0c;要么全部失败&#xff08;rollback回滚&#xff09;一致性&#xff08;Consistency&#xff09;&a…...

Python Cookbook-5.3 根据对象的属性将对象列表排序

任务 需要根据各个对象的某个属性来完成对整个对象列表的排序。 解决方案 DSU方法仍然一如既往地有效: def sort_by_attr(sed,attr):intermed [ (getattr(x,attr),i,x) for i,x in enumerate(seg)]intermed.sort()return [ x[-1] for x in intermed def sort_by_attr_inpl…...