自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

田螺姑娘的博客

热爱游戏开发,双端开发

  • 博客(503)
  • 资源 (36)
  • 收藏
  • 关注

原创 C++单例模板:使用宏函数实现

在我们日常开发中,无可避免需要使用单例模式进行设计类对象,那么实际上我们写单例格式基本都是一样的,那么每次都要写几乎一模一样的代码来实现我们需要的单例对象是不是会觉得很累?

2022-11-30 20:30:07 735

原创 Libuv 源码解析 - QUEUE(双向循环队列)

Libuv中的高效双向循环队列结构是使用C语言构建,且所有方法均使用宏定义实现。Libuv中该结构使用指针数组构建而成,其中指针数组中只包含两个元素,类型均为void*类型,分别表示next、prev指针。我们联想双链表这类结构,不是应该还包含一个value类型吗?Libuv中QUEUE结构直接使用指针偏移来指向value。每一个节点尾部是一个QUEUE类型,通过向上偏移sizeof(节点类型) - sizeof(QUEUE)大小个字节来获得value。

2022-11-06 21:18:11 482

原创 IOCP模型C++服务端-接收客户端数据并响应客户端,同时管理所有客户端句柄

在连接上的socket上发送数据。shutdown函数禁止一个socket发送数据或者接收数据。s,所要操作的句柄(文件描述符)。如果执行成功,则返回0。否则,返回套接字错误的值,并通过调用WSAGetLastError()函数来检测错误代码。因为socket是双向的,client和发server都可以进行input和output,但是有时候我们需要数据在socekt上进行单向传输,即数据往一个方向传输。单向的socket为半开放的socket。而要实现半开放式,需要用到shutdown()函数。...

2022-07-14 21:01:49 1431

原创 C++ 中缀表达式转后缀表达式(两种方式:栈、二叉树)

C++ 中缀表达式转后缀表达式关于后缀表达式如何计算,这里不做过多叙述。以下提供两种方式供参考,第二个种方式粗略的写了计算方式。方式一该方式主要是通过栈的数据结构,规定运算符的优先级进行处理即可。参考链接:https://blog.csdn.net/liudongdong19/article/details/80767156源码(C++)#include <iostream>#include <map>#include <string>#incl

2022-04-28 17:29:26 3056

原创 C语言dll动态链接库

C语言dll动态链接库vs中dumpbin工具的使用参考链接:https://blog.csdn.net/DoronLee/article/details/78284837  用vs生成的.obj文件、.lib库、.dll动态链接库、.exe执行文件,如果想查看其中这些文件或库包含哪些函数(比如.dll库有哪些导出函数)以及相关的信息(符号清单),可以通过vs自带的dumpbin工具来完成。  dumpbin.exe为Microsoft COFF二进制文件转换器,它显示有关通用对象文件格式(CO

2022-04-20 21:18:11 2255

原创 C++ select模型聊天室初版

C++ select模型聊天室初版需要了解知识点memmove与memcpy的区别  memmove可以防止内存重叠。  比如:abcdef,目前需要删除ab,然后将cdef往前移动,有些系统的内存移动机制可能存在从后往前移动,比如先把f移动到d所在位置,然后将e移动到c所在位置,但是当我们要把d移动到b所在位置的时候,我们发现d已经是f了,也就变成了把f移动到b,同理本来是把c移动到a所在位置,却变成了把e移动到a所在位置,最终的数据移动操作变成了efef。  而memmove可以强制要求从前往

2022-04-13 20:24:51 674

原创 C++ 堆栈结构(超详解)

C++ 堆栈结构参考文章:http://blog.chinaunix.net/uid-23860671-id-150568.html在C语言中的四大存储区。栈,由编译器自动分配释放堆,一般由程序员分配释放,若程序员不释放,程序结束时由OS回收。全局区(静态区),全局变量和静态变量的存放是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另外一块区域。程序结束进行释放。常量区,程序结束释放。int a = 0; 全局初始化区char *p1

2022-04-13 17:15:20 4041

原创 C++ select模型详解(多路复用IO)

C++ select模型详解(多路复用IO)TIPS:以下内容纯属博主自主查阅资料并结合个人理解得出,各位读者仅做参考即可。关于其它的IO模型可参考链接(阻塞I/O、非阻塞I/O、多路复用I/O、信号I/O、异步I/O):引言  在什么情况下需要使用select模型呢?阻塞I/O问题我们可以使用多线程处理或者将阻塞I/O改为非阻塞I/O,系统调用之后就返回结果,可是完成I/O(即获取数据),我们不得不使用polling(轮询),可每次轮询都是一次系统调用,这将导致一些情况下非阻塞I/O甚至不

2021-11-25 22:42:18 2738

原创 游戏开发之C++类中的static、const梳理总结(C++基础)

游戏开发之C++类中的static、const梳理总结(C++基础)TIPS:一个空类的内存大小为1个字节。static、const部分知识来源【点击跳转】 class B { }; //sizeof(B) = 11.类中的静态成员(static)类中的静态成员包括静态成员函数和静态成员变量。1.1 静态成员函数①不需要类对象便可直接调用,注意静态成员函数不能直接访问成员变量、成员函数及const成员变量及const成员函数。只能访问静态成员变量、类的构造函数和析构函数。②类的

2021-08-24 23:05:56 580 6

原创 游戏开发之C++引用(C++基础)

游戏开发之C++引用(C++基础)C++引用知识大部分知识点来源地【点击跳转】一、引用的基础概念  引用是C++对C的重要扩展。用于对指针的安全使用。引用就是一个变量的别名(小名),可以采用不同的变量名,控制同一片内存空间。语法:数据类型 &变量名 = 变量名;注意点:引用在声明的时候务必要初始化(一个引用可以作为另一个新引用的初始化)。 int a2 = 200; int &b2 = a2; int &b3 = b2; b2 = 500; Test

2021-08-21 00:04:20 607 3

原创 人生节点之大学经历

大学毕业已经有接近一个多月了,同时也有一段时间没有发博客了,趁着这个是机会,是时候也该梳理一下自己的大学四年时光了。就好像前一刻还是刚刚步入大学同时对未来充满期盼的少年,转眼间就已经作为一个上班族在忙碌了。前段时间一直为了工作在忙碌,这会已经短暂地停下自己的脚步,来梳理一下自己的大学时光啦。应该怎么描述我这大学四年呢?应该从何说起呢?在刚步入大学的时候,普通家境甚至还有一点糟糕的我就已大学毕业做一个打工人而奋斗为目标,最终也实现了这么一个目标,成为了一个普通的打工人。

2023-07-17 00:06:12 4668 1

原创 Lua 开发过程中常见坑

G表是Lua全局表,所有Lua中定义的函数和变量都在其中可以找到,所以通过_G表找到的next为Lua语法中的next。而。原型为:next(table[,index])。参数1是table,参数2为可选填的索引值,若缺省则默认为0。语法为:从参数2(index)的后一位开始遍历参数1(table),直至遇到,返回值有两个:索引,值。如果遍历完整个表都没有 遇到非nil的值,那么返回nil。

2023-03-20 21:01:30 5940 1

原创 Windows下LuaBridge2.8的环境配置及简单应用

下文主要阐述LuaBridge的部署及简易使用...

2023-02-09 21:46:14 6140

原创 C++与Lua交互实例 -- 矩阵的加减乘除(版本二)

下面两个方式矩阵的数据都来源于C++端,只是第一种是在C++端进行结果比较展示,第二种方式(userdata)是在lua端进行结果比较展示...

2023-02-09 21:39:54 1977

原创 C++与Lua交互实例 -- 矩阵的加减乘除(版本一)

该案例的主要目的是使用矩阵的加减乘除这个功能来练习C++与Lua之间的交互(在这个过程中,CppToLua表示矩阵的数据来源于C++端,然后让Lua使用Lua的矩阵运算逻辑进行计算并返回结果给C++端。C++端使用自己定义的C++矩阵类进行本地矩阵运算,然后与lua端返回的矩阵运算结果进行比对展示。LuaToCpp同理,与CppToLua相反。表示矩阵的数据来源于lua端,然后调用C++端暴露给Lua端的API创建C++矩阵类实例,并进行矩阵运算。

2023-02-09 21:34:25 1318 1

原创 C++类对象与Lua之间的交互

C语言与Lua进行交互,我们可以相对轻易的做到,但在实际应用中我们更加偏向于使用C++与Lua进行交互,面向对象编程。

2023-02-02 17:50:24 326

原创 Lua实现矩阵的加减乘除

矩阵的加、减、乘无需多说,主要是矩阵的除法,我使用的是求解矩阵之间的除法。

2023-02-01 10:33:32 808

原创 Lua 面向对象(详解)

Lua的面向对象主要是参考云风大神的进行编写,在云风大神源码的基础上考虑了一点细节,构造代码如下...

2023-02-01 10:06:28 918

原创 Lua 垃圾回收

Lua 采用了自动内存管理。这意味着你不用操心新创建的对象需要的内存如何分配出来, 也不用考虑在对象不再被使用后怎样释放它们所占用的内存。Lua运行了一个来收集所有(即在Lua中不可能再访问到的对象)来完成自动内存管理的工作。Lua中所有用到的内存,如:字符串、表、用户数据、函数、线程、 内部结构等都服从自动管理。Lua实现了一个增量标记-扫描收集器。它使用这两个数字来控制垃圾收集循环:垃圾收集器间歇率和垃圾收集器步进倍率。这两个数字都使用百分数为单位 (例如:值 100 在内部表示1)。

2023-01-29 21:37:52 779

原创 Lua 调试(Debug)

Lua 提供了 debug 库用于提供创建我们自定义调试器的功能。Lua 本身并未有内置的调试器,但很多开发者共享了他们的 Lua 调试器代码。crl输出结果:在以实例中,我们使用到了 debug 库的 traceback 和 getinfo 函数, getinfo 函数用于返回函数信息的表。我们经常需要调试函数的内的局部变量。我们可以使用 setupvalue 函数来设置这些局部变量。输出结果:在以上实例中,计数器在每次调用时都会自增1。

2023-01-29 21:36:18 1280

原创 Lua 错误处理

程序运行中错误处理是必要的,在我们进行文件操作,数据转移及web service 调用过程中都会出现不可预期的错误。如果不注重错误信息的处理,就会造成信息泄露,程序无法运行等情况。任何程序语言中,都需要错误处理。

2023-01-29 21:30:48 515 1

原创 Lua 文件I/O

Lua I/O 库用于读取和处理文件。分为简单模式(和C一样)、完全模式。简单模式在做一些简单的文件操作时较为合适。但是在进行一些高级的文件操作的时候,简单模式就显得力不从心。例如同时读取多个文件这样的操作,使用完全模式则较为合适。

2023-01-29 21:27:29 1181

原创 Lua 模块与包

  模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低代码耦合度。  Lua 的模块是由变量、函数等已知元素组成的 table,因此创建一个模块很简单,就是创建一个 table,然后把需要导出的常量、函数放入其中,最后返回这个 table 就行。以下为创建自定义模块 module.lua,文件代码格式如下:  由上可知,模块的结构就是一个 table 的结构,因此可以像操作调用

2023-01-29 21:24:41 504

原创 Lua table(表)

Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil。Lua table 是不固定大小的,你可以根据自己需要进行扩容。Lua也是通过table来解决模块(module)、包(package)和对象(Object)的。

2023-01-29 21:22:53 589

原创 Lua 迭代器

迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。在 Lua 中迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素。

2023-01-29 21:20:42 839

原创 Lua 字符串

字符串或串(String)是由数字、字母、下划线组成的一串字符。转义字符用于表示不能直接显示的字符,比如后退键,回车键等。如在字符串转换双引号可以使用 “\”"。

2023-01-28 21:48:34 1001

原创 Lua 运算符 - 较为特殊部分

在 lua 中,**/** 用作除法运算,计算结果包含小数部分,**//** 用作整除运算,计算结果不包含小数部分...

2023-01-28 21:46:53 722

原创 Lua 函数 - 可变参数

调用select时,必须传入一个固定的实参selector(选择开关)和一系列参数。如果selector为数字n,那么select返回参数列表中从索引n开始到结束的所有参数列表,否则只能为字符串。Lua函数可以接收可变数目的参数,和C语言类似,在函数参数列表中使用三点。同时我们可以将可变参数赋值给一个变量。,这样select返回变长参数的总数。表示函数有可变的参数。输出结果与上述一样。

2023-01-28 21:41:50 2267

原创 Lua 变量

变量在使用前,需要在代码中进行声明,即创建该变量。变量需要标识类型是因为编译程序执行代码之前需要知道如何给语句变量开辟存储区,用于存储变量的值。Lua变量有三种类型:全局变量、局部变量、表中的域。Lua 中的变量全是全局变量,哪怕是在语句块或是函数里,除非使用显式声明为局部变量。局部变量的作用域为从声明位置开始到所在语句块结束。

2023-01-28 21:39:44 1009

原创 Lua 协同程序(coroutine)

Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。协同有非常强大的功能,但是用起来也很复杂。

2023-01-28 21:38:30 548

原创 Go语言循环语句

在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。

2023-01-17 14:11:45 482

原创 Go语言条件语句

条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为true来决定是否执行执行语句,并在条件为false的情况下执行另外的语句。

2023-01-16 11:44:02 521

原创 Go语言运算符

运算符用在程序运行时执行数学逻辑运算。

2023-01-16 11:42:22 512

原创 Go语言常量

常量是一个简单值的标识符,在程序运行时,不会被修改的量。常量中的数据类型值可以是布尔型、数字型(整数型、浮点型、复数)和字符串型。你可以省略类型说明符[type],因为编译器可以根据变量的值来推断其类型。数字0、1、2分别代表未知性别、女性和男性。常量可以用len()、cap(),unsafe.Sizeof()函数计算表达式的值。常量表达式中,函数必须是内置函数,否则编译不能通过。

2023-01-16 11:40:41 538

原创 Go语言变量

变量来源于数学,是计算机语言中能存储计算结果或能表示值抽象概念。变量可以通过变量名访问。Go语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。test 1 2。

2023-01-16 11:38:57 332

原创 Go语言数据结构

在Go编程语言中,数据类型用于声明函数和变量。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,觉可以充分利用内存。

2023-01-16 11:36:50 754

原创 Go语言基础语法

在Go程序中,一行代表一个语句结束。一个遍师傅实际上就是一个或是多个字母(A~Z和a~z)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。Go程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。Go语言使用fmt.Sprintf和fmt.Printf格式化字符串并赋值给新串。程序中可能会使用到这些分隔符:括号(),中括号[]和大括号{}程序一般由关键字、常量、变量、运算符、类型和函数组成。程序中可能会使用到这些标识符号:.、,、;6个标记是(每行一个)

2023-01-16 11:35:32 2908

原创 Go语言结构

使用的go版本为1.19.4,同时使用go env命令需要明确注意以下字段为打开模式。此时在main.go界面运行即可成功编译通过。

2023-01-11 17:53:02 451

原创 进阶对象池(不使用智能指针版)

进阶对象池(不使用智能指针版),使用智能指针实现对象池需要极其了解智能指针的特性,故参考GitHub上相关源码,封装一个不基于智能指针的对象池版本。该版本对象池的总体架构是不管一个对象是否被外部使用,本对象池仍然管理该对象。而有一些对象池的实现是只要外部使用,那么本对象池在那段时间是不记录该对象的。

2023-01-09 19:32:44 170

原创 C++ 内存分配接口

在我们日常开发中,调试阶段最关注的问题便是对内存管理,防止内存泄露。故在此特意封装内存分配接口,用于调试阶段管理内存。

2023-01-09 19:28:49 240

Postman中文版(http模拟器)

Postman中文版(解压即可使用,直接运行Postman.exe)。 打开压缩包里的README.pdf查看步骤(操作简单,只需两个步骤)。 但是需要删除一个文件夹,以及进软件之后关闭更新按钮即可(不关闭可能会自动更新) Postman介绍: Postman是google开发的一款功能强大的网页调试与发送网页HTTP请求的模拟器。

2022-07-05

魔塔DOS小游戏V3.0(C语言)

内置丰富的框架架构,隐含C语言实现多态、C语言回调函数、统一接口管理器等思想。基本实现魔塔游戏的所有功能模块,且扩充性极强,适用于多人开发。使用C语言除文件以外的所有知识。此项目的价值大,心力耗费大。 新增: 使用dll动态链接库对对象基础创建和回调检测进行封装,能够在程序不编译的情况下动态的新增npc、道具、怪物等。(只需提供相应的dll动态链接库即可) 注意:目前测试dll文件仅跟.c文件位于同一个文件目录下,exe文件需要自主配置。

2022-05-03

Cocos2d-xV3.17.2 win32平台下模板源码详注

win32平台下: 注释源码文件包括(详注): CCApplication-win32.h、CCApplication-win32.cpp、main.h、main.cpp、AppDelegate.h、AppDelegate.cpp、 HelloWorldScene.h、HelloWorldScene.cpp

2022-01-07

橡皮怪勇闯地下城CocosCreator 2D小游戏

该项目实例主要是仿照4399小游戏《橡皮怪-勇闯地下城》而编写,链接如下:http://www.4399.com/flash/212024_3.htm,内置丰富的组件使用实例以及JavaScript脚本编写实例。CocosCreator版本:2.3.1。

2021-12-14

小鸟闯管道CocosCreator 2D小游戏

该项目是一个有趣的2D小游戏实例,内置丰富的组件使用实例以及JavaScript脚本使用方式。CocosCreator版本:2.3.1。

2021-12-14

uniapp web客户端及mqtt+http服务端(express)实例

该项目涵盖uniapp框架设计的web客户端(内置丰富的组件使用实例及http、mqtt客户端服务端通信),以及基于node.js的express框架设计的服务端(内置http、mqtt服务端架构实例),数据库使用传统数据库MySQL。该项目设计主要是基于湖南大学生物联网应用创新设计竞赛而构架(属于技能赛赛道,荣获2021年湖南大学生物联网应用创新设计竞赛一等奖)。

2021-12-13

Visual Assist X(番茄助手)

番茄助手是C / C ++和C#的生产力工具。可提高与UE4的特定工具的导航,重构,代码生成和编码辅助相关的IDE功能。

2021-12-06

魔塔小游戏cppV2.0(C++)

该项目是一个控制台的2D小游戏,内置简单工厂模式,数据驱动模型。面向对象思想,利用动态数组,图map等数据结构进行开发。

2021-10-27

魔塔小游戏cppV1.0(C++)

该项目是一个控制台2D类魔塔小游戏。内设简单工厂模式,面向对象思想。

2021-10-27

loveQiXi.zip

html、css、js,七夕节。

2021-10-06

商用级uniapp图表

仅支持 app-vue、h5 端;要求 uni-app 2.5.5+ 以上版本;APP端要求使用v3编译器;如等到renderjs可与业务层方便的通信时,请自行优化;本例使用的echarts版本为4.2.1;经测试,4.7.0及以下版本均本会导致h5移动端不能与图形交互;以组件形式使用echarts;使用变通的方法解决echarts相关格式化函数不能使用的问题

2021-10-06

C#使用8张风扇png图片进行动态旋转,即制成一个可开关的风扇gif图片

8张png图片在DynamicPhoto/DynamicPhoto/bin/Debug目录下。基于c#的wpf框架进行演示,开箱即用。

2021-10-06

Newtonsoft.Json.dll

Newtonsoft.Json.dll主要是C#中用于解析json数据包,对其数据进行提取分析及其操作的库。

2021-10-06

配置文件V3.0版本,主要使用C语言实现

文件主要包括:main.c、upGradeIniV3.txt。内附数据结构以及配置文件格式。功能主要有节点初始化和反向初始化,序列化存档和反序列化读档、增添数据、查询数据、打印数据等。此代码版本扩充性极强、使用性极强,将main.c的数据结构分离到.h头文件中,即可封装为配置文件库。

2021-08-18

配置文件V2.0版本,主要使用C语言实现

文件主要包括:main.c、upGradeIni.txt。内附数据结构以及配置文件格式。功能主要有节点初始化和反向初始化,序列化存档和反序列化读档、增添数据、删除数据、修改数据、查询数据、打印数据等。

2021-08-18

软件著作权申请模板(所需文件及材料书写规范)

内附软件著作权申请相关材料模板以及软件著作权官网申请填写模板。

2021-08-17

学生管理系统V1.0,主要使用C语言实现

文件主要包括:main.c、JSYStudentMsg.txt、UserIni.ini、学生管理系统数据结构解析图.png、学生管理系统思维导图.png。该项目内置典型C语言继承逻辑以及动态数组和链表数据结构。主要实现功能为:登录用户名和密码验证、添加学生信息、分页打印学生信息、查询学生信息、修改学生信息、删除学生信息、退出系统等功能。

2021-08-17

微软记事本软件升级版,适用于程序员群体

打开便是以代码的方式进行展示,功能相比于微软原有记事本软件更加强大,而且操作仍然便捷,极其适用于程序猿群体。内附README.txt可供查阅(注意:务必安装在系统磁盘,即C盘:打开速度更快捷,无卡顿)

2021-08-11

2048小游戏V3.0(C语言实现),涵盖C语言的所有基础知识(二进制文件存储)

文件主要包括:2048.c、Save2048.bin。主要实现功能有:随机生成数、关卡选择、分数、游戏结束、回退十步、存取档序列化和反序列化等。数据结构采用C语言结构体、动态数组、环形数组等思想进行设计。文件存储及读取采用二进制文件存储以及读出。

2021-08-10

2048小游戏V2.0(C语言实现),涵盖C语言的知识直至文本文件存储

文件主要包括:2048.c、Save2048.txt。主要实现功能有:随机生成数、关卡选择、分数、游戏结束、回退十步、存取档序列化和反序列化等。数据结构采用C语言结构体、动态数组、环形数组等思想进行设计。文件存储及读取采用文本文件存储以及读出。

2021-08-10

SnackGame贪吃蛇小游戏V3.0(C语言实现),涵盖C语言所有基础知识(二进制文件存储)

文件主要包括:Snack.c、SnackIni.ini、SaveSnack.bin。主要实现功能有:随机食物、自动爬行、分数、重新开始、排行榜、回退功能(回退10步)、初始化反序列化、存取档序列化和反序列化(二进制文件处理)等。数据结构采用C语言结构体、动态数组、环形数组等思想进行架构。游戏初始化文本文件初始化。读取采用二进制文件存储以及读出。

2021-08-10

SnackGame贪吃蛇小游戏V2.0(C语言实现),涵盖C语言的知识直至文本文件存储

文件主要包括:Snack.c、SnackIni.ini、SaveSnack.txt。主要实现功能有:随机食物、自动爬行、分数、重新开始、排行榜、初始化反序列化、存取档序列化和反序列化等。数据结构采用C语言结构体、动态数组、环形数组等思想进行架构。游戏初始化采用文本文件、文件存储及读取采用文本文件存储以及读出。

2021-08-10

魔塔游戏基础版,使用C语言基础知识实现

该版本的魔塔游戏项目使用C语言基础的知识进行实现,逻辑较为清晰,C语言入门程序员可参考。包含五个文件,一个主函数(main)、两个封装库,动态数组(.h及.c实现)、mota类库。

2021-08-07

魔塔游戏,使用C语言实现,丰富的框架架构设计,覆盖C语言所有的知识点

该资源含有丰富的架构,整个游戏框架建立在架构层面进行设计。包括C语言多态(C语言回调)、文件配置(存读档案)、函数二级指针封装统一调用接口、算法架构优异。嵌入优异的设计模式,扩充性极强。本项目几乎实现魔塔游戏的所有功能,控制台窗口游戏,全程使用C语言实现。

2021-08-07

express框架及node.js搭建服务端(后端)原型,数据库存储数据

主要使用express框架及node.js搭建服务端,数据存储至MySQL数据库中。文件包括:node_modules模块,dbsave.js数据存储模块(请求数据库),Server.sql,index.js为http请求接口文件,以及package.json、package-lock.json基础配置文件。

2021-08-03

魔塔V2.0版本,主要使用C实现

内置丰富的框架架构,隐含C语言实现多态、C语言回调函数、统一接口管理器等思想。基本实现魔塔游戏的所有功能模块,且扩充性极强,适用于多人开发。使用C语言除文件以外的所有知识。此项目的价值大,心力耗费大。

2021-08-03

typora-setup-x64_2

该软件可用于代替word,方便程序员用于记录,且比记事本具有更加便利的功能,专为程序员提供服务。

2021-08-03

Git正版微软工具包,用于代码版本管理

文件主要包括TortoiseGit、Git以及中文插件包,均为正版软件。

2021-07-29

C语言魔塔游戏基础核心架构(使用C语言实现多态)

文件主要包括:Broad.c、Broad.h、Hero.c、Hero.h、main7.28.c、Manager.c、Manager.h、Wall.c、架构核心思想.png。已实现功能:英雄移动、墙及英雄初始化、统一接口管理器实现(多态)、碰撞检测等。主要使用知识:结构体、函数指针(二级指针)、void*、void**等。

2021-07-28

C语言实现魔塔游戏V1.0

文件包括:main.c、mota.c、mota.h、Vector.h、Vector.c。实现三层魔塔、道具实现、怪物vs、NPC及商城剧情购买等基本功能。主要使用C语言结构体、函数指针(实现C语言回调函数)、自主定义动态数组(Vector.h),全过程使用void*,void**及函数指针回调函数实现。

2021-07-28

express框架及node.js搭建服务端(后端)原型,数据存储于json文件(可扩充至数据库)

主要使用express框架及node.js搭建服务端,数据存储至json文件中,可充分扩展至数据库中。文件包括:db数据存储文件夹,node_modules模块,baseFunc.js基础功能模块,dbsave.js数据存放模块,index.js为http请求接口文件,以及package.json、package-lock.json基础配置文件。

2021-07-24

双链表实现(所有代码均使用C语言回调函数实现及存储数据均使用void*、void**实现)

rar文件包含:DoubleList.h、DoubleList.c、main.c。主要实现自主定义回调函数结合及其在双链表功能中的使用实例。存储数据使用void*、void**,其中包括结构体数据结构。主要功能有初始化双链表、释放双链表、尾插法、任意插入法、任意删除法、打印数据(从左至右、从右至左)等。

2021-07-20

动态数组实现(所有代码均使用C语言回调函数实现及存储数据均使用void*、void**实现)

rar文件包含:Vector.h、Vector.c、main.c。主要实现自主定义回调函数结合及其在动态数组功能中的使用实例。存储数据使用void*、void**,其中包括结构体数据结构。主要功能有初始化动态数组、释放动态数组、尾插法、删除指定下标、更新指定下标数据、打印数据、获取数据对应的指定下标等。

2021-07-20

2048控制台游戏GameV1.0

主要功能有:关卡选择,有4x4,6x6,10x10、分数统计,游戏结束判断,回退十步(具有优良的扩充性,10,100,1000...)、菜单地图定位、游戏结束判断、2048核心算法(移动、合并)等。主要利用C语言中的二位数组、三维数组、函数、全局变量等基础知识(整个项目未使用指针的相关知识),核心算法主要有:矩阵旋转移动合并算法、环形数组等。

2021-07-12

控制台猜数字小游戏GameV1.0

使用C语言最基础的语法知识,主要有字符数组、函数。完全实现猜数字的功能,且只能判断五次,五次后GameOver。

2021-07-09

控制台贪吃蛇小游戏V1.0

主要功能:随机食物、自动爬行、分数、重新开始、排行榜等。 利用最基础的C语言知识,主要有一维数组、二维数组,函数等。以及运用windows.h、conio.h特殊库,用于美化控制台以及提高用户体验。

2021-07-09

空空如也

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

TA关注的人

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