自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Lua print输出中文字符串乱码解决

vscode运行lua print输出中文字符串 乱码解决

2023-03-03 11:36:52 2735

原创 【python】导入模块失败 / import requests失败解决

先查看是否安装了这个模块cmd 命令行python 进入pythonimport requests 检查是否安装到pyhton安装目录python/Spritean按住shift然后右键,当前目录打开命令行,执行pip install requests,如果还是失败,使用pip.exe install requests...

2022-03-03 16:27:08 2336

原创 int main(int argc, char* argv[]) 或者 int main(int argc, char** argv)

C++的main函数可以有输入参数,也可以没有若添加输入参数的话,参数名不固定,但类型是固定的,第一个是int,第二个是char**;第一个int表示输入后面可变参数的个数,在执行程序时由系统自动输入,参数个数至少有一个(程序名xxx.exe)第二个char**就是具体main的输入参数,输入的参数都是字符串类型int main(int argc, char* argv[]){ cout << "argc: " << argc << endl; for (i

2022-01-13 11:26:48 305

原创 char* p; sizeof(p)

sizeof定义sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。int main(){ char* p1 = nullptr; int* p2 = nullptr; double* p3 = nullptr; long* p4 = nullptr; cout << "p1:" << sizeof(p1) << " *p1:" << sizeof(*p1) <<

2022-01-12 14:50:26 2120

原创 抽奖系统的实现(两种)

有多个奖项,每个奖项有对应的中将比重奖项比重特等奖10一等奖50二等奖200三等奖1000方法一:统计所有奖项的总权重(一般在初始化时统计一次即可),开奖时随机一个[0~总权重)的值作为开奖权重,循环奖项列表,开奖减去对应奖项的权重,当开奖权重小于等于零时,即对应奖项为中奖奖项。int totalWeight = sum(奖项权重);int rewardWeight = rand()%totalWeight;while(rewardWeight

2021-08-30 11:32:56 1016

原创 Unix时间戳相关总结(整点时间戳,C++time函数)

切记切记,中国时区是东八区,比零时区快8小时。时间戳在线转换工具:http://tool.chinaz.com/Tools/unixtime.aspxC++time函数相关知识参考地址:https://www.runoob.com/w3cnote/c-time-func-summary.html获取整点时间戳(unix)int GetZeroTs(int ts){ int eightHoursTs = 28800; int oneDayTs = 86400; return (ts+eight

2021-08-20 15:08:18 452

原创 委托使用Lambda表达式

(参数列表)=>{需要做什么}委托使用Lambda表达式public delegate void Delegate();Delegate myDelegate;myDelegate=()=>{Debug.Log("Hello");};myDelegate+=()=>{Debug.Log("Word!")};Action action;action=()=>{Debug.Log("Hello");};action+=()=>{Debug.Log("Word!")

2020-07-30 11:10:13 191

原创 C#的Delegate与Unity的Action、Func

Unity提供的Action和Func都是基于C#的委托Delegate加多一层封装,Action用于定义无返回值的委托,Func用于定义有返回值的委托。使用Delegatepublic delegate void Delegate();Delegate myDelegate;myDelegate=myFun1();myDelegate+=myFun2ActionAction action;action=myFun1();action+=myFun2();FuncFunc<

2020-07-28 17:22:17 772

原创 输入日期是星期几

1、基姆拉尔森计算公式W=(day+2*month+3*(month+1)/5+year+year/4-year/100+year/400) mod 7;void dayOfTheWeek(int year,int month,int day){ string week[7]={"星期一","星期二","星期三","星期四","星期五","星期六","星期天"}; int W=(day+2*month+3*(month+1)/5+year+year/4-year/100+year/400) % 7;

2020-07-28 10:31:45 201

原创 输入两个年月日,返回日期之间的相差天数

分三种情况:1、同年同月,相差为日数2、同年,不同月,相差为月数+日数3、都不同,相差年数+月数+日数 ==(间隔的年(每个365/366)+小的日期到小日期年末+大日期年初到大日期)#include <iostream>using namespace std;struct Data{ int year; int month; int day;};//判断是否为润年bool isLeapYear(int year){ if(year<0) return fals

2020-07-27 18:11:25 1431

原创 输入年月日返回是当年的第几天

不同月份有不同的天数,需要区别对待。一三五七八十腊,三十一天永不差;四六九冬三十整;二,平年二十八,润年二十九;bool isLeapYear(int year){ if(year<0) return false; if(year%4==0&&year%100!=0||year%400==0) return true; else return false;}int getDays(int year,int month,int day){ if(year<0|

2020-07-27 16:38:01 337

原创 判断输入年份是否是润年

何为润年润年:1、年份是4的倍数且不是100的倍数2、年份是400的倍数bool isLeapYear(int year){ if(year<0) return false; if(year%4==0&&year%100!=0||year%400==0) return true; else return false;}

2020-07-27 16:25:38 259

原创 Cocos Creator转盘抽奖

抽奖效果在抽奖按钮按下的时候,就确定了抽中的奖品信息,转盘的旋转只是一个过场动画。这样做有几个好处:1、抽奖结果可控2、防止在抽奖过程中断网,而中奖结果还未确定。搭建素材节点层级控制脚本const { ccclass, property } = cc._decorator;@ccclassexport default class Choujiang extends cc.Component { @property(cc.Integer) num: number

2020-07-19 18:17:26 1779

原创 Unity中通过transfrom.Find()或者GameObject.Find()找到游戏物体

transfrom.Find(string name)找到一个名字为name的子物体,并返回他。找到的只能是可见子物体,若不存在该名字的子物体,返回空;若存在多个该名字(同名)的子物体,返回其中一个,当返回的子物体被销毁,返回另一个该名字子物体。GameObject.Find(string name)找到一个名字为name的物体,并返回他。可找到可见的所有物体,若不存在该名字的物体,返回空;若存在多个该名字的物体,返回其中一个,当返回的物体被销毁了,返回另一个 该名字的物体。...

2020-07-17 09:37:12 1011

原创 CocosCreator编辑移动路径

1、添加Animation,创建Clips2、打开动画编辑器,选择带有Animatio的节点,打开编辑模式3、选择要变换的属性,在时间轴上氪大概关键帧,关键帧之间会自动过渡。4、添加某某点(贝塞尔点),将直线搞弯。动作类型选择循环播放最终效果...

2020-07-16 11:44:36 2633 2

原创 Unity通过脚本给按钮动态添加响应事件

添加的按钮public Button startBtn;添加事件startBtn.onClick.AddListener(startGame);事件函数public void startGame(){ Debug.Log("游戏开始!");}

2020-07-16 10:39:39 1419

原创 Cocoscreator(v2.0.7)打包APK过程中注意点

一般使用CococsCreator构建项目,编译和打包在Android Studio完成几个注意点1、JDK,用最新版本即可,Java SE Downloads,选择对应系统的安装。安装目录最好不要有中文或者空格,直接在要安装的盘根目录下新建一个文件夹安装,例如:C:/Java/2、使用CococsCreator2.0.7,打包的时候,安卓版本不要选太高。3、NDK选择r18以下4、SDK和NDK的路径5、下图中NDK选的是21,要选18以下的,6、构建项目后,在项目的build文件夹中会

2020-07-12 11:23:14 550

原创 随便什么鬼的抽奖系统,效率低下,别用,就随便搞搞

#include <iostream>#include <string>#include <time.h>using namespace std;class MyClass{public: string type; //奖品名 int count; //奖品数量};int main(){ MyClass num[]={{"A",1},{"B",10},{"C",20},{"D",30},{"E",40},{"E",50},{"G",60},{"H"

2020-06-22 17:03:14 146

原创 两道题

1、按顺序输出所有字符,不重复,输入字符串"abccdddeffghi",输出"abcdefghi"void fun(string str){ int n=str.length(); int a[26]={0}; string ans=""; for(int i=0;i<n;i++){ if(a[str[i]-'a']==0){//没遍历过 ans+=str[i]; } a[str[i]-'a']+=1;//记录遍历过的字母 } cout<<ans<&

2020-06-16 12:33:09 157

原创 求整数转为二进制数后,二进制中1的个数

int getCount_1(int num){ int count=0; while(num>0){ if(num&1==1){ count++; } num>>=1; } return count;}int getCount_2(int num){ int count=0; while (num>0) { if(num%2==1){ count++; } num/=2; } return count;}in

2020-06-05 15:33:26 233

原创 不同类型指针之间的区别

int* p;char* p;intcharsizeof ( p )==4字节(32位)sizeof ( p )==4字节sozeof(*p)==4字节sizeof(*p)==1字节int num=10;int* p;p=&num;int* q=&num;p、q是地址*p、*q是指针指向的变量的值sizeof(指针)求的是地址长度,地址长度与炒作系统相关。sizeof(指针变量)求的是指针指向变量的数据类型的长度。...

2020-06-03 10:52:25 695

原创 C++string类

需要包含头文件#include <string>定义string str="Hellow World";输出cout<<str<<endl;遍历int n=str.length();for(int i=0;i<n;i++){ cout<<str[i]<<endl; cout<<str.at(i)<<endl;}分割cout<<str.substr(0,4)<<endl

2020-05-28 18:32:15 130

原创 C++ 正向迭代器iterstor,反向迭代器reverse_iterator

定义正向容器类名::iterator 迭代器名反向容器类名::resator_iterator 迭代器名使用正向vector<int> v;vector<int>::iterator iter;for(iter=v.begin();iter!-v.end();iter++){ cout<<*iter<<endl;}list<int> llist<int>::iterator iter;for(iter=l.

2020-05-28 18:00:43 646

原创 以字符串形式表示的二进制数转成十进制数字

输入一个二进制字符串,输出十进制数例:str=“1100”输出:12int getNum(string str){ int num=0; for(int i=0;i<str.length();i++){ num=num*2+(str[i]-'0'); } return num;}再加个小技巧,用来解决数字的进制转换(十六进制与十进制转换),这个用C语言写,因为只记...

2020-04-05 14:30:57 7527

原创 C++排序

//插入排序 void InsertSort(vector<int>& nums,int n){ for(int i=0;i<n;i++){ int temp=nums[i]; int j=i-1; while(j>=0&&nums[j]>temp)...

2020-04-01 11:40:06 121

原创 pair(C++中的结构模板)

一种结构,该结构提供了将两个对象视为单个对象的的功能。C++的结构模板,定义在头文件<utility>中,提供了一个包含两个数据成员的结构体模板,通过first,second访问2个成员,有operator=和swap方法pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair。(1)STL中的map就是将key和value放在一起来存放(2)当一个函数需要返回...

2020-03-30 11:45:50 342

原创 Unity动画系统中两个状态间为一条线上三个箭头

专业术语不知道怎么讲,此文为个人观察总结。类似下图中,run动作能转到两个atk动作,所以有两个动作过渡,这两个分别可以设置条件,这个应该很容易理解的两线上两个箭头这种也是类似上面这种,每个动作过渡也可以设置多种方式过渡,这样,我们就可以在不同的情况下过渡这个动作,两个状态的转换可以设置多种不同状况例如:run----->atk1 可以是在按下左键的时候设置过渡,或者在设置...

2020-03-28 11:37:01 2552

原创 C++stack栈

栈:先进后出,操作的都是栈顶元素常用函数empty()判断栈是否为空,空返回真pop()移除栈顶元素push()在栈顶增加元素size()栈的元素数目top()返回栈顶元素的值树的深度优先遍历struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(N...

2020-03-24 11:59:50 185

原创 C++斐波那契数

满足f(1)=1f(2)=1f(n)=f(n-1)+f(n-1) n>=3称为斐波那契方法一int fib(int N){ if(N<=2)return 1; int a=1,b=1,c; for(int i=3;i<=N;i++){ c=a+b; a=b; b=c; } return c;}方法二int fib(int N){ if...

2020-03-21 14:09:41 474

原创 C++求最大公约数

有两个数 x、y,最大公约数g是满足x%g==0&&y%g==0最大那个任何整数与0的最大公约数是其本身,因为0除以任何数都为0。方法一int gcd(int x,int y){ if(x==0)return y; if(y==0)return x; int min; if(x>y) //取小值,最大公约数小于等于小值(0除外) { min=y; }e...

2020-03-21 10:56:08 338

原创 memset()、memcpy()

memset()函数原型是extern void *memset(void *buffer, int c, int count)buffer:为指针或是数组c:是赋给buffer的值count:是buffer的长度.作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。int array[10]={0};menset(array,1,5);//数组前5...

2020-03-18 23:01:20 148

原创 new 1个长度为10的整型的数组与分10次 new 一个长度为1的整型的数组。 哪个占用系统的空间更多些?

new 1个长度为10的整型的数组比分10次 new 一个长度为1的整型的数组占用系统的空间更多new是C++申请动态内存用的,因为new一块内存,Windows不仅会分配给你内存,还会用4字节在那段内存后作为内存分配边界。所以new10次就有10块空间加10个地址空间,new一个长度为10的数组,相当10块空间加一块地址。...

2020-03-18 00:11:26 694 2

原创 C++queue队列

队列队列,看名字能知道就能知道大概的属性,排队嘛,例如食堂打饭,先来的先打,后来的排在先来的后面。所以队列有个重要性质就是先进先出,与栈(stack)相反。只能访问 queue 容器适配器的第一个和最后一个元素。只能在容器的末尾添加新元素,只能从头部移除元素。C++在<queue.h>中有提供队列,可直接引用。队列常用函数q.push(x)将x插到队尾q.pop()弹出队...

2020-03-17 17:56:25 283

原创 位运算符

int a=4,b=6; //二进制a: 1 0 0b: 1 1 0&1 & 1 = 11 & 0 = 00 & 0 = 0int c=a&b; //二进制a: 1 0 0b: 1 1 0c: 1 0 0c=4;|1 | 1 = 11 | 0 = 10 | 0 = 0int c=a|b; //二进制a: ...

2020-03-15 16:42:30 119

原创 NULL、nullptr、0

通常定义一个指针,为了避免变成野指针,通常会给指针赋空值NULL是一个宏定义# define NULL 0,所有C++中使用0作为NULL的值,NULL==0。int *p=0;int *p=NULL;int *p=nullptr;但有时候NULL和0在重载的时候会产生歧义#include <iostream>using namespace std;void fun(...

2020-03-15 15:32:05 211

原创 C#操作MySQL

先引用MySQL提供的动态链接库MySQL.Data,一般在MySQL安装目录能找到。根据自己项目.Net目标框架的版本,选择对应的dll引入。版本不对应的话上网找对应的下载引用即可。然后using下命名空间,开始操作。//连接的服务器地址,端口号,数据库名称,数据库的账号、密码string connectStr = "server=127.0.0.1;port=3306;database=m...

2020-03-12 22:15:11 144

原创 二叉树的遍历

树的结构与链表的类似,都有指向下其它节点的指针。前中后序主要取决于根节点位置。struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int x):val(x),left(NULL),right(NULL){}};//前序遍历(递归) 根左右void DLR(TreeNode *root){ i...

2020-03-10 22:35:18 88

原创 VS2012创建win32控制台应用程序,long类型变量

写代码的时候,用long int定义了一个较大的数(int装不下的),当我使用这个变量时,便出现了问题,程序没报错,但变量值且变了,会变成负数或者其它什么乱七八糟的数,后面查下,发现在win32项目下,long int与int并无差别,如果想定义一个较大的数,可以用long long定义。验证输出int、long、long long三种数据类型的大小。int main(){ cout &l...

2020-03-08 00:59:29 311

原创 C/C++单链表

C/C++都是利用结构体来定义链表节点结构,有单链表,双链表,循环链表。C语言struct ListNode{ int val; struct ListNode* next;};struct ListNode* createNode(int n){ struct ListNode *headNode=(struct ListNode*)malloc(sizeof(struct L...

2020-03-06 10:46:04 213

原创 char *p;sizeof(p)=?

sizeof(指针)是指针变量占用内存的大小(字节数),而指针是存储变量地址的,变量地址的长度即为指针变量所占内存大小,尽管不同类型变量所占内存大小不同(int四字节、char一字节),但指针存的只是首字节地址,不同的是指针递增时,增加的地址。所以在32位机上,所有指针类型变量占用内存字节数都为4因为32位机就是 4字节 * 8个二进制位/字节 计算出来的.如果在64位机上,指针占用内存大小...

2020-03-03 16:46:08 5568

空空如也

空空如也

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

TA关注的人

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