自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android平台下的StreamingAsset路径

Android平台下不要通过FILE访问StreamAsset!

2022-08-10 16:43:35 1764 1

原创 Unity实用框架(四)全局数据管理框架

数据管理看似简单,里面的门道却很深。说它简单,是因为实现在一个游戏中传递数据、储存数据的方式实在太多,实现方式也并不复杂;说它门道深,是因为,要想实现一个安全的、通用的、灵活的、高效的数据管理框架,是一件相当讲究的事情。下面,笔者将介绍一种实现全局数据管理的方式,供读者参考。......

2022-07-18 17:04:11 2110

原创 Unity实用框架(三)事件系统

在Unity提供的事件注册基础上,实现一个更加灵活的事件系统。

2022-07-18 15:07:21 3226

原创 Unity实用框架(二)协程管理框架

C# unity自带的Coroutine提供了最基础的使用协程的接口,在此基础上,笔者将提供一种能够适用于更多场景、更容易由程序员全权控制的协程管理框架.

2022-07-16 17:41:34 1134 2

原创 Unity实用框架(一)场景管理框架

众所周知,Unity引擎本身提供了具有切换场景功能的SceneManager模块,但只包含比较基础的功能,比如简单的切换场景、创建场景等,想要使得我们的场景管理框架能够适用于更加复杂的情形,显然需要一套更加强大的接口。下面,笔者将提供一种撰写灵活好用的SceneManager的可行思路。.........

2022-07-16 12:54:49 2883

原创 2022美赛E题(Finalist Award)建模笔记

森林固碳A1Ctree_bsl,i,t=4412∑j=1(Btree_bsl,i,j,t⋅CFj)C_{tree\_bsl,i,t}=\frac{44}{12}\sum\limits_{j=1}(B_{tree\_bsl,i,j,t}\cdot CF_{j})Ctree_bsl,i,t​=1244​j=1∑​(Btree_bsl,i,j,t​⋅CFj​)Btree_bsl,i,j,t=fb,j(DBHtree_bsl,i,j,t,Htree_bsl,i,j,t)⋅Ntree_bsl,i,j,t⋅A

2022-05-06 13:21:32 1706

原创 南京大学计算方法(数值分析)期末复习笔记

计算方法期末复习NJULYP文章目录计算方法期末复习Chapter IIChapter III 函数逼近与快速傅里叶变换函数逼近的基本概念正交多项式勒让德多项式切比雪夫多项式最佳平方逼近曲线拟合的最小二乘法Chapter IV 数值积分与数值微分数值积分概论牛顿-柯特斯公式梯形公式辛普森公式复合求积公式复合梯形公式复合辛普森公式龙贝格求积公式理查森外推加速方法龙贝格求积算法高斯型求积公式数值微分Chapter V 常微分方程初值问题数值解法简单的数值方法差商代替倒数: 欧拉法阿当姆斯(Adams)公式C

2021-06-24 16:43:15 1248

原创 学计算机上啥网站?

Recommanded Websites for CSers文章目录Recommanded Websites for CSersSystematic Studies菜鸟教程(Runoob.com)C语言中文网W3SchoolWIKI教程SIKI学院MOOCForumsCSDN博客园知乎StackOverflowSegmentFaultResourcesGithub51aspxTraining洛谷LeetCode百练牛客网Systematic Studies菜鸟教程(Runoob.com)Portal

2021-03-30 17:36:01 353 3

原创 学习笔记:猫眼top100电影信息爬取

学习笔记:猫眼top100电影信息爬取获取网页源码用网上随便查的User-agent作为浏览器代理try: headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36' } response =

2021-03-15 20:53:42 348 1

原创 学计算机看啥书?

学习笔记:学计算机看啥书?C/C++C++ Primer Plus(CPPPP)太TM厚了!内容确实非常详尽,但不太推荐作为入门书籍,它更像是一本好用的参考书。程序设计教程:用C++语言编程比前面那本更适合新手入门,本人程设课的教科书。但这本实际上只设计C语言的部分,对于想进修OOP(面向对象编程)的读者就不大适合了。相对而言对新人特别友好。QT: C++开发指南对于C++来说最好用的项目平台就是QT了,而这本书非常详细地介绍了QT各种库的功能以及用法,适合与QT文档配

2021-03-06 18:48:10 1279 5

原创 设计模式详解:Iterator(迭代器)

Iterator 迭代器设计模式学习:概述意图提供一个方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。一个所谓的聚合对象,也就是用某种数据结构组合起来的一堆数据的集合。对这种对象的操作必定要涉及对单独某个元素的访问和处理。比如,对于一个数组聚合对象,一定有关于这个数组元素增删改的操作。但是,处于维护系统良好封装性的目的,设计者当然不希望将自己数据结构太详细地暴露在客户方,这同时也会增加客户操作的难度。另一方面,大家也都不希望这一聚合对象中充斥着太多遍历方式的接口:对于客户而言这

2021-03-06 17:53:53 291

原创 设计模式详解:Composite(组合模式)

Composite 组合模式设计模式学习:概述意图将对象组合为树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。知道广义表吗?如果你了解广义表,应该就可以很好的理清楚组合模式的定义。在广义表中,一个表内的元素即可以是一个基础元素,也可以是另一个表的表头,也就是说,表本身作为一个元素储存在另一个表中,是一种递归的储存结构。图形化的广义表如下所示,大写字母表示表头,小写字母表示基础元素。#mermaid-svg-RzsYtnOODCD3sC

2021-03-01 00:56:49 689 1

原创 设计模式详解:Singleton(单例类)

Singleton(单例类)设计模式学习:概述意图保证每一个类仅有一个实例,并为它提供一个全局访问点。顾名思义,单例类Singleton保证了程序中同一时刻最多存在该类的一个对象。有些时候,某些组件在整个程序运行时就只需要一个对象,多余的对象反而会导致程序的错误。或者,有些属性型对象也只需要全局存在一个。比如,假设黑体字属性是一种对象,调用黑体字属性对象的函数来让一个字变成黑体。显然并不需要在每创造一个黑体字时就生成一种属性对象,只需要调用当前存在的唯一对象的函数即可。Singleton模

2021-02-17 13:58:25 14010 6

原创 设计模式详解:Prototype(原型机)

Prototype 原型机设计模式学习:概述意图用原型实例来指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype模式简单来说,就是通过克隆的方法创建对象。解释这个模式其实很好理解,你可以想象自己做PPT的过程:肯定是到处copy好看的模板来使用(不会有人每一个效果都自己做吧)。原型机的本质就是运行时模板。简单的代码表示如下:class Product{ virtual Product* clone();}class ProductA: public Pr

2021-02-14 15:55:17 846

原创 设计模式详解:Abstract Factory(抽象工厂)

Abstract Factory 抽象工厂设计模式学习:概述除夕前一天还在写学习笔记,我都佩服我自己了O(∩_∩)O意图提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂将具体的类分离,因为一个工厂封装了创建产品对象的责任和过程,它将客户和类的实现分离。一个具体工厂类只在应用初始化时出现一次,这使得换用另一个风格的工厂更加容易。由于一个抽象工厂创建了一个对象系列,因此更换工厂之后,工厂产品会立即发生改变。同时,抽象工厂也可以解决产品匹配的问题。因为使用同一个工厂制

2021-02-10 21:27:35 395

原创 设计模式详解:Factory Method(工厂方法)

Factory Method 工厂方法设计模式学习:概述意图定义一个用于创建对象的接口,让子类决定实例化哪个类。Factory Method使得一个类的实例化延迟到其子类。Factory Method又称作Virtual Constructor(虚构造器)。在软件系统中,经常面临着创建对象的工作,而需求的变化常常导致所需要创建的对象的具体类型发生变化。Factory Method使得可以绕过常规的对象创建方法(new关键字),将封装机制引入到对象的创建工作中,从而避免了客户程序与“具体对象创

2021-02-09 11:03:43 413

原创 设计模式详解:Bridge(桥接模式)

Bridge 桥接模式设计模式学习:概述意图将抽象部分与它的实现部分分离,使得二者都可以独立地变化。别名:Handle/Body当一个抽象机制有多个可能的实现时,我们通常采用继承来协调它们的关系。但是,这有时会带来硬编码不灵活的问题,Bridge机制可以解决因为继承导致的不灵活的毛病。事实上,Bridge模式也是遵循了单一职责原则的指导:桥接模式将应用程序的业务功能与具体实现解耦,也就是将抽象与具体实现解耦,从而让位于不同功能维度的二者可以各自变化而不受影响。站在稳定-变化的角度,Brid

2021-02-05 13:49:59 1124 1

原创 NJU南京大学高程课设:坦克大战(BattleCity)

高程课设2:坦克大战代码已上传至Github, 请关注Github账号:SH_Hattrick代码传送门...2020年4月,大一时编写,现在看来代码还有很高的改进空间(高情商说法)...本次课设完成了对4399小游戏:坦克大战的低配模拟。接下来我将从以下几个方面介绍本次课设的内容。设计内容和程序功能模块划分和数据结构安排设计收获设计内容与程序功能本次坦克大战项目的大体功能如下:实现三种类型的坦克:重型(HeavyTank),装甲(ArmoredTank),轻型(

2021-02-04 11:42:58 835 1

原创 NJU南京大学数电实验课大实验:字符小游戏

NJU数电实验:字符小游戏全套代码已上传至Github, 请关注Github账号:SH_Hattrick实验代码1. 实验内容实现一个可以用键盘输入,并在 VGA 显示器上回显的交互界面。界面实 现要求可以参考 DOS 字符界面,Window 命令行或 Linux 的字符终端。基本要求支持所有小写英文字母和数字输入,以及不用 Shift 即可输入的符号。2.一直按压某个键时,重复输出该字符。输入至行尾后自动换行,输入回车也换行。扩展要求(做5个满分)可以显示光标,建议可以用显示闪烁

2021-02-04 11:32:48 1313

原创 设计模式详解:Decorator(装饰模式)

Decorator 装饰模式设计模式学习:概述意图动态地给一个对象添加一些额外的职责,就增加功能来说,Decorator模式相比生成子类更为灵活。Decorator(装饰模式)也被称作Wrapper(包装器)。Decorator模式是对组件间协作的一种规划,它旨在解决为某个对象添加附加功能时导致的不够灵活、以及子类爆炸的问题。通过采用组合而非继承的手法,Decorator模式实现了在运行时动态扩展功能的能力,而且可以根据需要扩展多个功能。避免使用继承带来的**“灵活性差”和“多子类衍生问题”*

2021-02-04 10:53:43 1528

原创 设计模式详解:Observer(观察者模式)

Observer 观察者模式设计模式学习:概述意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知并自动更新。Observer(观察者模式),或者又叫Event(事件模式),是我们在编写UI程序时一定会使用到的一种设计理念。Java中的EventListener接口就是完成的这一功能。当一个类模块需要从另一个类模块获取信息,而这两者又无法用继承、组合的方式来描述时。获取通知的的模块需要获取发送通知的模块的信息,而发送通知的模块事实上不需要知道前者

2021-01-27 10:44:10 1148

原创 设计模式详解:Strategy(策略模式)

Strategy 策略模式设计模式学习:概述意图定义一系列算法,把它们一个个封装起来,并且使他们可以互相替换。本模式使得算法可以独立于它的客户而变化。Strategy模式将算法独立于程序流程之外,降低了算法与程序主流程之间的耦合度。将算法硬编入程序主流程段(和程序主流程写在一起),会导致程序难以维护。日后再添加新的算法时,也不利于扩展。并且,通常我们只想用一部分算法来支持我们的程序,比如提供的99个算法我们只用到2-3个,那么全部编写在一起会造成内存的大量浪费。当然这只是次要问题,主要要解

2021-01-26 10:26:44 1170

原创 设计模式学习,23种设计模式详解:概述

设计模式学习:概述首先,别把程序设计不当设计!程序的框架就是建筑物的骨架,内部实现不过是装修改造。只要骨架设计没有问题,装修起来也是得心应手。一个糟糕的程序框架,对于接下来的Debug和程序的更新换代来讲,是灾难性的(我在本学期的数字电路实验课和上学期的程序设计实验课中都深有体会…)。一个优秀的程序,不仅体现在实际功能上和性能上的优秀,更要体现在代码复用性、可扩展性等方面。实现同样的功能,能用两百行实现为什么要写2000行?修改2份文件就能完成更新,为什么要修改十几份?这些,都是在程序框架设计的过程中

2021-01-19 17:47:01 874 2

原创 设计模式详解:Template Method(模板方法)

Template Method: 模板方法意图定义一个操作中算法的骨架,而将一些操作延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构,即可重定义该算法的某些特定步骤。(GOF: 《设计模式》)Template Method可以说是所有设计模式中最常用的一种了。常用到什么地步呢?就算你从来没接触过任何设计模式,你也一定使用过这种模式,只是自己没有意识到罢了。代码案例先上代码:class APP{ bool step2(); int step4();

2021-01-19 16:45:39 1132

高程大项目 坦克大战.zip

控制台坦克大战, VS项目,使用easyx绘图库

2021-02-10

QT_NewMusicPlayer

使用C++QT编写的简易音乐播放器

2021-02-10

NJU数电实验:打字小游戏

南京大学数字电路实验课大项目,verilog实现

2021-02-10

空空如也

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

TA关注的人

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