自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 独立游戏开发日志 ①:从信号博弈到涂色对战——一次玩法重构始

本文是求职作品 PC 端 2D 1v1 联机游戏《信号漂流》的首篇开发日志,项目使用 Unity 客户端搭配 Go 后端,主打三层解耦、全服务端权威等后端架构展示;日志详述项目从初代 “信号博弈” 玩法重构为涂色对战的全过程,初代玩法依靠信号抢占节点、借助黑洞与反射地形改变弹道,逻辑自洽却因操作繁琐、画面抽象观赏性差、缺乏美术表现力被推翻,重构时完整保留原有后端架构、领土即资源经济逻辑、黑洞反射弹道机制与双胜负判定框架,仅将抽象节点数值占领转化为直观的地面涂色玩法,玩家操控信号体使用直射、抛射两种弹种涂色对

2026-08-03 22:28:27 428

原创 LinuxC语言并发程序笔记补充

锁除了互斥锁,还有一个读写锁,进程通信还有对互斥锁优化的条件变量和死锁的概念。

2025-12-04 22:20:49 756

原创 LinuxC语言并发程序笔记(第二十四天)

维度共享内存消息队列信号灯集拷贝次数0(用户-用户直接)2(用户→内核→用户)0(仅计数)系统调用频率仅 attach/detach每次收发各 1 次每次 PV 各 1 次数据吞吐量最高中等无数据单条上限≈ 物理内存MSGMAX(通常 8 KB)2 字节 × 灯数批量原子不支持单条原子多灯原子。

2025-11-29 16:04:53 1573

原创 LinuxC语言并发程序笔记(第二十三天)

上一章讲了无名管道,它是基于内存的一种特殊的传输空间,而有名管道,它是一个实实在在的管道文件(属于Pipe文件),是一个实实在在的,存在于存储的文件。因此可以在任意两个进程间通信(只要知道路径),通过文件io读写。但是管道文件和普通文件不一样,它写入的东西都只存在于内存中,即:文件内部数据永远都是空的,大小为0,它只是相当于打开了一个给进程通信的有物理存储空间的、有地点指向的空间。虽然可以以读写的方式打开,并且有名管道不是单工的通信方式。但我们在linux系统中,还是要创建两个有名管道实现互相通信。

2025-11-27 22:08:27 1271

原创 LinuxC语言并发程序笔记(第二十二天)

前一课讲了同步机制,这次讲讲线程通信的另一个机制——互斥。这里的互斥是一个资源的独立使用,是两个线程为了资源使用的相互排斥,即:这份资源,同个时间内只能有一个进程持有。

2025-11-25 17:41:16 965

原创 LinuxC语言并发程序笔记(第二十一天)

我们前面学过,进程是是一个程序所分配的资源,是一次的过程,其参与内核的调用,并且互不影响。在Linux系统里,每当有进程被创建,系统就会为其创建一个叫task_sturck的存储空间(类似文件夹这种,方便管理和操控)。但是进程与进程是不共用一个存储空间的,因此在系统每次调用程序的时候创建进程的时候,都需要把那个程序所处的存储空间复制一遍到高速缓存(cache)中,但是高速缓存的空间有限,往往只能存储一两个程序的资源,那我们在进程和进程切换的时候,高速缓存就要不停的洗数据、存数据,因此系统会开销会很大。

2025-11-23 20:23:49 1322 1

原创 LinuxC语言并发程序笔记(第二十天)

在qt中,我们会用到一个叫QProcess的类,它可以打开一个外部的程序,但和c的不太一样,其无法创建进程,并用该进程打开程序,而是直接打开外部程序。

2025-11-22 13:28:31 921

原创 LinuxC语言并发程序笔记(第十九天)

我们执行的文件都叫做程序,他们是存放在磁盘的指令和数据的有序集合,是静态的“文件”。而进程是一个程序所分配的资源,是程序执行一次的过程。其是动态的,包含创建、调度、执行、消亡的。进程包含三个部分。一、正文段,二、用户数据段,三、系统数据段。其中正文段就是所用的代码等,用户数据和正文段都是从程序代码复制而来,而系统数据主要指进程控制块(pcb)、cpu寄存器值以及堆栈等。进程分为三类:1、交互进程:在shell下启动,可以在前台运行,也可以在后台运行。

2025-11-17 23:06:57 601

原创 LinuxC语言文件i/o笔记(第十八天)

标准i/o的特点是,其使用ANSI C标准(即标准c语言),文件i/o为POSI X标准(系统文件规范),前者带有缓冲区,为流——FILE,后者不带缓冲区,为文件描述符——fcl。在linux下,标准i/o是基于文件i/o实现的。使用的头文件为<unistd.h>

2025-11-14 20:59:32 988

原创 LinuxC语言文件i/o笔记(第十七天)

最近忙着比赛和学单片机了,原本想着不写博客了,但是发现不自己写一下相关的笔记,有点记不住这些东西,就还是抽时间写了。

2025-11-14 19:30:44 715

原创 MYSQL学习成功展示(个人)

当然,后面还有运行和维护什么的,这些就是要靠代码编辑软件的时候用啦,目前我还不会,后面也会对这一方面进行学习,但目前会先开单片机的学习,qt的学习也在同步学习,但可惜没什么笔记。因为读者和图书的关系是n :m,所以单独领出来,其余1 :n、1 :1,所以放在对应的合适位置(下面实现下划线是主键,加粗为外键,加粗加下划线是同为主键也是外键)。读者类型信息:(VIP读者或普通读者),VIP读者借阅期限为4个月,一次可借30本书,普通读者借阅期限2个月,一次可借15本书。还要可以查看借阅信息。

2025-10-24 20:14:27 1145

原创 C++输入输出模式(ACM模式)笔记(个人)(第十六天)

【代码】C++输入输出模式(ACM模式)笔记(个人)(第十六天)

2025-10-21 15:53:24 486

原创 MYSQL学习笔记(个人)(第十五天)

设R(U)是属性集U 上的关系模式,X、Y是∪的子集。若对于R(U)的任意一个可能的关系r,对于x的每一个具体的值,Y都有唯一的值与之对应。则称x丽数确定Y或Y函数依赖于X,记作X->Y。X称为函数依赖的决定因素,Y称为依赖因素。在关系模式SCD中,对于每个学号sno的值,都有唯-的姓名sname 与之相对应,即当知道某个学生的学号时,就一定能唯一确定该生的姓名。因此,称sno丽数确定sname,或者称sname函数依赖于sno,记作sno->sname,其中sno是决定因素,sname是依赖因素。

2025-10-17 20:49:17 1691

原创 MYSQL学习笔记(个人)(第十四天)

衔接第十三天笔记。

2025-10-12 14:13:06 962

原创 MYSQL学习笔记(个人)(第十三天)

创建了一个Student的数据库进行学习,里面有两个基础表——Student和Score: 常量即在程序运行过程中恒定不变的值,分为字符串常量、数值常量、日期时间常量和布尔常量等。和c++差不多,字符串就是“hello”,“He said: \"hello.\" ”,(ts:\" 为转义字符,表示冒号里的”)。数值就是整数类型和浮点数类型。日期是DATA(“年-月-日”),时间为TIME类型(“8:10:20),如果时间和日期混用,类型就为DATETIME。 和上面的常量相对

2025-10-11 20:54:44 993

原创 MYSQL学习笔记(个人)(第十二天)

CREATE [OR REPLACE] VIEW <视图名> [(<字段名 1>,<字段名 2>....)]AS <SELECT 查询语句>[WITH CHECK OPTION];OR REPLACE表示若存在就覆盖,不存在就新建。如:创建一个包含编号、名字和性别的视图IE_TeachSELECT后面可以是number= number -3这种语句,FROM Teach 后面也可以加WHERE <筛选条件>来提取所需元素。

2025-10-07 15:04:41 966

原创 MYSQL学习笔记(个人)(第十一天)

SQL语句功能创建数据库创建基本表创建视图创建索引修改数据库结构修改基本表结构ALTER VIEW修改视图删除数据库DROP TABLE删除基本表DROP VIEW删除视图DROP INDEX删除索引CREATE DATABASE [ IF NOT EXISTS ] < 数据库名字 >;其中[ ] 中的语句为选填,IF NOT EXISTS表示如果依旧存在这个名字的数据库,则不会重复创建,若无则创建。< >中语句为必填;

2025-10-06 17:22:05 1026

原创 MYSQL学习笔记(个人)(第十天)

域——是一组具有相同数据类型的值的集合,也是属性可取值的边界。笛卡尔积——是通过域相乘得到的,所有可能存在的实体,类似于矩阵相乘。笛卡尔积=D1XD2X……Dn。关系——在笛卡尔积我们可以得到很多实体,但我们现实中客观存在的就只有小部分,我们要把他们提取出来,提取出的元组就是新的关系。

2025-09-29 20:49:57 953

原创 linux学习笔记(个人)(第九天)

LVM是一种存储管理技术,允许将多个物理硬盘或分区组合成一个或多个逻辑卷,便于灵活管理存储空间。它提供了比传统分区更灵活的存储解决方案。近年来,CPU的处理性能飞速增长。然而,硬盘设备的性能提升相对缓慢,逐渐成为计算机整体性能的瓶颈。同时,硬盘因频繁、大量的IO操作,损坏几率较高,容易导致重要数据丢失。1988年,加州大学伯克利分校首次提出RAID技术概念。

2025-09-27 00:24:40 523

原创 linux学习笔记(个人)(第八天)

OSI(Open Systems Interconnection)七层模型是一个概念性的框架,用于标准化网络通信。它将网络通信过程分为七个层次,每一层负责特定的功能,并且各层之间相互协作,实现数据的传输。

2025-09-23 21:00:00 1565

原创 linux学习笔记(个人)(第七天)

进程(Process)是计算机科学中程序动态执行时的实例。它包含程序代码、数据、上下文信息(如寄存器状态、程序计数器等)以及资源(如文件描述符、内存空间等)。在 Linux 系统中,进程是系统资源分配和调度的基本单位。线程(Thread)是进程中的一个实体,是 CPU 调度和执行的最小单位。资源共享:进程是资源分配的单位,一个进程可以包含多个线程。线程共享进程的资源,如内存地址空间、文件描述符等。上下文切换:线程的上下文切换比进程更快,因为线程共享同一进程的资源,不需要切换进程的上下文。

2025-09-21 13:58:51 1145

原创 linux学习笔记(个人)(第六天)

运行级别(Runlevel)是 Linux 系统在启动时进入的一种状态,每种运行级别对应不同的系统服务和用户环境。系统根据运行级别启动或停止特定的服务,以满足不同的使用需求。

2025-09-20 18:57:26 1077

原创 linux学习笔记(个人)(第五天)

在Linux中有一个比较小的问题,如果使用tar后,常见的名字不写.tar,但是它还是tar文件,也就是说,如果使用上面的软件,但是创建名字的时候没有写后缀的话,就分辨不了这个文件是什么文件了,使用错参数去解压的话就会报错,为了避免这些麻烦,所以我们可以使用file命令查看文件的属性。tar命令可以实现文件的归档和压缩功能。俗话说“Linux一切皆文件”,在优邦图(Ubuntu)系统里有大大小小的文件,有的占空间大,他们不方便进行运输和传播,那有没有什么方法能够“减小”他们的大小,便于我们去移动和传输呢?

2025-09-17 20:56:00 1449

原创 linux学习笔记(个人)(第四天)

—跟着棋总学linux【棋总Linux运维光速实战课程】 https://www.bilibili.com/video/BV13M4y1C7oW/?

2025-09-16 22:32:59 682

原创 linux学习笔记(个人)(第三天)

使用书本《鸟哥的Linux私房菜》,第一章《计算机概论》学习。

2025-09-15 20:41:22 850

原创 linux学习笔记(个人)(第二天)

NAT(Network Address Translation,网络地址转换)是一种用于在私有网络和公共网络之间转换IP地址的技术。它允许多个设备通过一个公共IP地址访问外部网络,从而缓解IPv4地址短缺问题,并增强网络安全性。

2025-09-14 21:00:04 1239

原创 linux学习笔记(个人)(第一天)

bin (Binary 可执行文件所在目录 )/boot ( 存放系统的启动核心文件,如镜像等 )/dev ( Device 外部的设备文件存放目录 )/media ( 系统识别U盘等设备后会挂在此盘 )/root ( 系统管理员目录 )/usr ( 非常庞大和复杂的目录,很多应用会安装到此目录 )/usr/bin ( 系统用户下载使用的应用程序等 )/sbin ( super user 超级管理员root的可执行文件目录 )

2025-09-14 11:56:18 1380

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除