控制台主机不能运行,切换终端实现RPG运行

 鄙人转载,主要是移植过程中使用小熊猫C++2.25.1 过程中,字符集不同,导致某些空格 从bilibili专栏粘贴导致出现符号不匹配,但是编辑器不能替换

用原来的devc++ 5.11 发现问题,读出额外的英文? 使用文件替换,一键替换了本文件内全部的?。

 

 

 

然后运行

发现不刷新

换用终端取代控制台主机

重新运行,成功

 

去除乱码符号版本

如有侵权请联系在下 

//作者:青节攻 https://www.bilibili.com/read/cv29583226/ spm_id_from=333.999.0.0&jump_opus=1 出处:bilibili



#include <stdio.h>

#include <windows.h>

#include <conio.h>

#include <time.h>



char ch;

int a[80][28]={0};

int kill=0,O=0;//o是任务o

int X[20]={'\0'},Y[20]={'\0'};//记录敌人坐标 有bug,不能走到左上角0,0处

int Accept=0,Accept2=0,Accept3=0;//判断能否接取任务/对话

int Judge=0;

int coin=0;//金币 



//属性变量

float h=100,sd=1,sp=1,hit;

float *HP=&h,*strong=&sd,*speed=&sp;

float time_HP=100;







//隐藏光标

void HideCursor()

{
	
	 CONSOLE_CURSOR_INFO cursor;   
	
	 cursor.bVisible = FALSE;   
	
	 cursor.dwSize = sizeof(cursor);   
	
	 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);   
	
	 SetConsoleCursorInfo(handle, &cursor);
	
} 



//玩家的坐标 

static int xx0=2;

static int yy0=13;



//颜色 

int color(int c)

{
	
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);
	
	return 0;
	
}



//坐标

void gotoxy(int x,int y)

{
	
	COORD pos;
	
	pos.X=x;
	
	pos.Y=y;
	
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
	
 } 

 void Coin()//金币系统 

{
	
	gotoxy(43,28);
	
	color(15);
	
	printf("金币:%d         ",coin);
	
}

 //随机生成敌人

void rand_enemy()

{
	
	
	
	int x,y,i;
	
	for(i=0;i<7;i++)
		
	{
		
		x=rand()%75+2;
		
		y=rand()%23+2;
		
		X[i]=x;
		
		Y[i]=y--;
		
		color(12);
		
		gotoxy(x,y);
		
		printf("※"); 
		
		color(13);
		
		gotoxy(x,++y);
		
		printf("■");
		
	}
	
 } 

//地图设计

void Map()

{
	
	int i,j;
	
	for(i=0;i<80;i+=2)//边框 
		
	{
		
		gotoxy(i,0);
		
		color(5);
		
		printf("══");
		
		gotoxy(i,26);
		
		printf("══");
		
	}
	
	for(i=1;i<26;i++)
		
	{
		
		gotoxy(0,i);
		
		color(5);
		
		printf("‖");
		
		a[0][i]=2;
		
		gotoxy(78,i);
		
		printf("‖");
		
		a[78][i]=2;
		
	}
	
 } 

 

 //添加玩家

 void player()

 {
	
	 	gotoxy(xx0,yy0);
	
	 	color(14);
	
	 	printf("●");
	
 } 

  

 void mission(int o)//任务 

 {
	
	 	
	
	 	switch(o)
	
	 	{
		
	 		case 0:
		
		color(6);
		
		gotoxy(85,27);
		
		printf("**********当前没有任务**********");kill=0;//防止未接任务就能显示任务完成 
		
		gotoxy(85,28);
		
		printf("           ");
		
		break;	
		
	case 1:
		
		color(6);
		
		gotoxy(85,27);
		
		printf("当前任务:处理5个匪徒 %d/5        ",kill);
		
		break;
		
	}
	
	if(kill==5)
		
	{O=0;
		
		color(6);
		
		gotoxy(85,27);
		
		printf("**********任务完成!**********");
		
		gotoxy(85,28);
		
		printf("金币+100");
		
		Sleep(1000);
		
		coin=coin+100;
		
		kill=0;Accept=0;
		
	}
	
 }

 //NPC

 void NPC()

 {
	
	 	gotoxy(39,2);
	
	 	color(2);
	
	 	printf("●");//村长 
	
	  	gotoxy(40,13);
	
	 	color(2);
	
	 	printf("●");//牢大 
	
	 	gotoxy(60,6);
	
	 	color(2);
	
	 	printf("●");//小声发 
	
	 	gotoxy(2,16);
	
	color(3);
	
	printf("⑦");//神像 
	
	gotoxy(26,23);
	
	color(2);
	
	printf("●");//董 
	
	gotoxy(14,5);
	
	color(2);
	
	printf("●");//不知名拳师 
	
 }

  

  //触发按键

  void attend()

  {
	
	  	gotoxy(39,3);
	
	 	color(13);
	
	 	printf("■");
	
	  	gotoxy(40,14);
	
	 	color(13);
	
	 	printf("■");
	
	 	gotoxy(60,7);
	
	 	color(13);
	
	 	printf("■");  
	
	gotoxy(77,13);
	
	color(4);
	
	printf("*");
	
	gotoxy(2,17);
	
	color(9);
	
	printf("Ⅲ");
	
	gotoxy(26,24);
	
	color(13);
	
	printf("■");
	
	gotoxy(14,6);
	
	color(13);
	
	printf("■");
	
} 





//文本

int text(int n)

{
	
	switch(n)
	
	{
		
	case 0:
		
		gotoxy(82,10);
		
		printf("                    ");
		
		gotoxy(82,12);
		
		printf("                    ");
		
		gotoxy(82,13);
		
		printf("                    ");
		
		gotoxy(82,18);
		
		printf("                    ");
		
		gotoxy(82,20);
		
		printf("                    ");
		
		gotoxy(82,25);
		
		printf("                    ");
		
		gotoxy(82,26);
		
		printf("                    ");
		
		gotoxy(82,14);
		
		printf("                    ");
		
		gotoxy(82,16);
		
		printf("                    ");
		
		gotoxy(82,15);
		
		printf("                    ");
		
		
		
		break;
		
	case 1:
		
		if(Accept==0)
			
		{
			
			gotoxy(82,25);
			
			printf("按1对话  空格接受任务");
			
			gotoxy(82,26);
			
			printf("不接受任务可以直接离开");
			
			gotoxy(82,10);
			
			printf("村长:你是天师派来的人吗?");
			
		}
		
		if(Accept==0&&ch=='1'||Accept==1)
			
		{
			
			Accept=1;
			
			gotoxy(82,25);
			
			printf("按1对话  空格接受任务");
			
			gotoxy(82,26);
			
			printf("不接受任务可以直接离开");
			
			gotoxy(82,10);
			
			printf("村长:你是天师派来的人吗?");
			
			Sleep(250);
			
			gotoxy(82,12);
			
			printf("村长:最近村子里不太平,有许多山匪作乱");
			
			Sleep(400);
			
			gotoxy(82,14);
			
			printf("村长:你能帮我去清理山里灵活的匪徒吗?");
			
			Sleep(500);
			
			gotoxy(82,16);
			
			color(6);
			
			printf("任务:前往黑沙街道处理5个匪徒"); 
			
		}
		
		if(ch==32&&Accept==1)//空格32 
			
		{
			
			gotoxy(85,18);
			
			color(6);
			
			printf("**********已接受任务**********"); 
			
			O=1;Accept++;
			
		}
		
		if(Accept==2)
			
		{
			
			gotoxy(82,10);
			
			color(7);
			
			printf("村长:干巴爹勇者桑!          ");
			
			Sleep(250);
			
			gotoxy(82,12);
			
			printf("我:村长收收味            ");
			
			gotoxy(82,14);
			
			printf("                   ");
			
			gotoxy(82,16);
			
			printf("                   "); 
			
		}
		
		if(ch==32&&O!=0)
			
		{
			
			gotoxy(82,18);
			
			printf("**********任务栏被占用***********"); 
			
		}
		
		break;
		
		
		
	case 2:
		
		gotoxy(82,25);
		
		printf("按1对话");
		
		gotoxy(82,10);
		
		printf("???");
		
		if(ch=='1')
			
		{
			
			gotoxy(82,10);
			
			printf("牢大:孩子,你从哪儿来?");
			
			Sleep(500);
			
			gotoxy(82,12);
			
			printf("牢大:就当是劝你吧,");
			
			color(13);
			
			printf("黑沙街道");
			
			color(7);
			
			printf("有很多山匪");
			
			Sleep(500);
			
			gotoxy(82,14);
			
			printf("牢大:不要到处乱跑");
			
		}
		
		break;
		
		
		
	case 3:
		
		gotoxy(82,10);
		
		printf("小声发:我到底是不是人啊!");
		
		Sleep(500);
		
		gotoxy(82,12);
		
		printf("我:(看来是已经疯了)");
		
		break; 
		
		
		
	case 4:
		
		gotoxy(82,10);
		
		printf("只要不失去你的崇高");
		
		gotoxy(82,12);
		
		printf("整个世界都会为你敞开");
		
		gotoxy(82,25);
		
		printf("按1治疗");			
		
		if(ch=='1')
			
		{
			
			time_HP=*HP;
			
			gotoxy(82,14);
			
			color(9);
			
			printf("生命值已恢复");
			
		}
		
		break;
		
		
		
	case 5:
		
		gotoxy(82,25);
		
		printf("按1对话 按空格升级");
		
		gotoxy(82,10);
		
		printf("董勇怪戈:新的一年也要努力锻炼啊!?");
		
		if(ch=='1')
			
		{
			
			gotoxy(82,12);
			
			printf("董勇怪戈:加油!奥里给!(40金币)");
			
			Accept2=1;
			
		}
		
		if(ch==32&&Accept2==1&&coin>=40)
			
		{
			
			gotoxy(82,14);
			
			printf("我:奥里给!");
			
			gotoxy(82,16);
			
			color(9);
			
			printf("*生命值上限提升*");
			
			*HP=*HP+15;
			
			time_HP=time_HP+15;
			
			coin=coin-40;
			
			Accept2=0;
			
		}
		
		else if(ch==32&&Accept2==1&&coin<40) 
			
		{
			
			gotoxy(82,14);
			
			printf("董勇怪戈:没关系,要乐观度过每一天!");
			
			Accept=0;
			
		}
		
		break;
		
		
		
	case 6:
		
		gotoxy(82,25);
		
		printf("按1对话 按空格升级");
		
		gotoxy(82,10);
		
		printf("不知名拳师:欧拉欧拉欧拉欧拉!");
		
		if(ch=='1')
			
		{
			
			Accept3=1;
			
			gotoxy(82,12);
			
			printf("不知名拳师:你要跟我学打拳吗?(20金币)");
			
		}
		
		if(ch==32&&Accept3==1&&coin>=20)
			
		{
			
			gotoxy(82,14);
			
			printf("我:你凭什么假定我不会打拳?");
			
			gotoxy(82,16);
			
			printf("*你当着拳师的面来了一套闪电五连鞭*"); 
			
			gotoxy(82,18);
			
			color(9);
			
			printf("*力量点数提升*");
			
			*strong=*strong+2;
			
			Accept3=0;
			
			coin=coin-20;
			
		}
		
		else if(ch==32&&Accept3==1&&coin<20)
			
		{
			
			gotoxy(82,14);
			
			printf("不知名拳师:你还是去别处学肘击吧!");
			
			Accept3=0;
			
		}
		
		break;
		
	}
	
 	} 

 	

//触发 

void take()

{
	
	int n;
	
	if(xx0==39&&yy0==3)
		
		n=1;
	
	else if(xx0==40&&yy0==14)
		
		n=2;
	
	else if(xx0==60&&yy0==7)
		
		n=3;
	
	else if(xx0==2&&yy0==17)
		
		n=4;
	
	else if(xx0==26&&yy0==24)
		
		n=5;
	
	else if(xx0==14&&yy0==6)
		
		n=6;
	
	else n=0;
	
	text(n);
	
}



void clear()//清屏 

{
	
	gotoxy(85,10);
	
	printf("                    ");
	
	gotoxy(85,12);
	
	printf("                    ");
	
	gotoxy(85,13);
	
	printf("                    ");
	
	gotoxy(85,15);
	
	printf("                    ");
	
	gotoxy(85,20);
	
	printf("                    ");
	
	gotoxy(85,25);
	
	printf("                    ");
	
	gotoxy(85,26);
	
	printf("                    ");
	
	gotoxy(85,14);
	
	printf("                    ");
	
	gotoxy(85,16);
	
	printf("                    ");
	
}

void take2()//战斗触发 

{
	
	int i,n;
	
	int hit_enemy,hp;
	
	for(i=0;i<20;i++)
		
		if(xx0==X[i]&&yy0==Y[i])
			
		{
			
			int plus;//记录金币加了多少 
			
			hit_enemy=rand()%15+10;
			
			if(hit-hit_enemy>0&&hit-hit_enemy<10)
				
			{
				
				gotoxy(85,10);
				
				printf("你们苦战许久");
				
				Sleep(500);
				
				gotoxy(85,12);
				
				printf("最终由于对方体力不支被你抓住破绽");
				
				Sleep(500);
				
				gotoxy(85,14);
				
				printf("被你一剑毙命");	
				
				plus=rand()%10+1;			
				
				gotoxy(85,16);
				
				color(6);
				
				printf("金币+%d",plus);
				
				coin=coin+plus;
				
				gotoxy(xx0,yy0-1);
				
				printf("  ");
				
				Sleep(1000);
				
				sd=*strong+rand()%5;
				
				sp=*speed+rand()%5;
				
				time_HP=time_HP-(rand()%10+5);
				
				kill++;X[i]=0;Y[i]=0;
				
			}
			
			if(hit-hit_enemy>10&&hit-hit_enemy<20)
				
			{
				
				gotoxy(85,10);
				
				printf("你们交战不久,对面就败下阵来");
				
				Sleep(500);
				
				gotoxy(85,12);
				
				printf("你抓住破绽");
				
				Sleep(500);
				
				gotoxy(85,14);
				
				printf("一剑毙命");			
				
				plus=rand()%10+1;			
				
				gotoxy(85,16);
				
				color(6);
				
				printf("金币+%d",plus);
				
				coin=coin+plus;
				
				gotoxy(xx0,yy0-1);
				
				printf("  ");
				
				Sleep(1000);
				
				sd=*strong+rand()%3;
				
				sp=*speed+rand()%3;
				
				time_HP=time_HP-(rand()%5+5);
				
				kill++;X[i]=0;Y[i]=0;
				
			}
			
			if(hit-hit_enemy>20)
				
			{
				
				gotoxy(85,10);
				
				printf("你一剑封喉");
				
				plus=rand()%11+10;			
				
				gotoxy(85,16);
				
				color(6);
				
				printf("金币+%d",plus);
				
				coin=coin+plus;
				
				gotoxy(xx0,yy0-1);
				
				printf("  ");
				
				Sleep(750);
				
				sd=*strong+rand()%1;
				
				sp=*speed+rand()%1;
				
				kill++;X[i]=0;Y[i]=0;
				
			}
			
			if(hit-hit_enemy<0)
				
			{
				
				gotoxy(85,10);
				
				printf("你不敌对方");
				
				Sleep(500);
				
				gotoxy(85,12);
				
				printf("艰难逃脱了对方的追击");
				
				gotoxy(xx0,yy0-1);
				
				printf("  ");
				
				time_HP=time_HP-(rand()%30+30);
				
				Sleep(500);X[i]=0;Y[i]=0;
				
			}
			
			clear();
			
			Sleep(250);
			
		}
	
}





  //右边的提示框

  void item()

  {
	
	  		gotoxy(80,3);
	
	  		color(14);
	
	  		printf("提示信息:↑↓←→控制移动 B回城 I状态栏");
	
	  		gotoxy(80,4);
	
	  		color(2);
	
	  		printf("●是NPC\n"); 
	
	  		gotoxy(80,5);
	
	  		color(12);
	
	  		printf("※是敌人\n"); 
	
	  		gotoxy(80,6);
	
	  		color(13);
	
	  		printf("■触发对话/战斗 "); 
	
	
	
} 



//信息框

void info()

{
	
	int i;
	
	color(7);
	
	for(i=80;i<120;i++)
		
	{
		
		gotoxy(i,8);
		
		printf("_");
		
		gotoxy(i,24);
		
		printf("_");
		
	}
	
	
	
} 

//移动--村子 

void move_1()

{
	
	ch=getch();
	
	if(ch==72)//上
		
	{
		
		gotoxy(xx0,yy0);
		
		color(1);
		
		printf(" ");
		
		NPC();
		
		attend();
		
		gotoxy(xx0,--yy0);
		
		color(14);
		
		printf("●");
		
	}
	
	if(ch==80)//下
		
	{
		
		gotoxy(xx0,yy0);
		
		color(1);
		
		printf(" ");
		
		NPC();
		
		attend();
		
		gotoxy(xx0,++yy0);
		
		color(14);
		
		printf("●");
		
	}
	
	if(ch==75)//左 
		
	{
		
		gotoxy(xx0,yy0);
		
		color(1);
		
		printf(" ");
		
		NPC();
		
		attend();
		
		gotoxy(--xx0,yy0);
		
		color(14);
		
		printf("●");
		
	}
	
	if(ch==77)//右
		
	{
		
		gotoxy(xx0,yy0);
		
		color(1);
		
		printf(" ");
		
		NPC();
		
		attend();
		
		gotoxy(++xx0,yy0);
		
		color(14);
		
		printf("●");
		
	}	
	
 }	 

 

 //移动--村子外 

 void move_2()

 {
	
	 	ch=getch();
	
	if(ch==72)//上
		
	{
		
		gotoxy(xx0,yy0);
		
		color(1);
		
		printf(" ");
		
		gotoxy(xx0,--yy0);
		
		color(14);
		
		printf("●");
		
	}
	
	if(ch==80)//下
		
	{
		
		gotoxy(xx0,yy0);
		
		color(1);
		
		printf(" ");
		
		gotoxy(xx0,++yy0);
		
		color(14);
		
		printf("●");
		
	}
	
	if(ch==75)//左 
		
	{
		
		gotoxy(xx0,yy0);
		
		color(1);
		
		printf(" ");
		
		gotoxy(--xx0,yy0);
		
		color(14);
		
		printf("●");
		
	}
	
	if(ch==77)//右
		
	{
		
		gotoxy(xx0,yy0);
		
		color(1);
		
		printf(" ");
		
		gotoxy(++xx0,yy0);
		
		color(14);
		
		printf("●");
		
	}	
	
 } 

 //回城

  void back()

 {
	
	
	
	 			gotoxy(xx0,yy0);
	
	printf(" ");
	
	gotoxy(xx0=2,yy0=13);
	
	Sleep(250);
	
	color(14);
	
	printf("●");
	
	ch='\0';//使缓冲区的b消失,避免反复触发回城 
	
	gotoxy(2,11);
	
	color(9);
	
	printf("\\/");
	
	gotoxy(2,14);
	
	color(9);
	
	printf("/\\");
	
	Sleep(250);
	
	gotoxy(2,11);
	
	printf("  ");
	
	gotoxy(2,14);
	
	printf("  ");
	
	gotoxy(80,7);
	
	color(15);	
	
	printf("****************回家啦!****************");
	
}

  //属性状态 

void player_status()

{
	
	hit=h*0.2+sd*0.5+sp*0.3;
	
	gotoxy(2,27);
	
	color(15);
	
	printf("生命:%.1f/%.1f",time_HP,*HP);
	
	gotoxy(2,28);
	
	printf("战力:%.1f          ",hit);
	
	if(ch=='i')
		
	{
		
		color(15);
		
		gotoxy(82,10);
		
		printf("     生命值上限: %.1f      ",*HP);
		
		gotoxy(82,12);
		
		printf("     力量:%.1f          ",*strong);
		
		gotoxy(82,14);
		
		printf("     敏捷:%.1f          ",*speed);
		
		gotoxy(82,16);
		
		printf("     战力:%.1f          ",hit);
		
	}}



int main()

 {
	
	//地图一 
	
	FLAG:
	
	 	HideCursor();
	
	 	Map();
	
	 	player();
	
	 	NPC();
	
	 	item();
	
	 	attend();
	
	 	info();
	
	 	srand((unsigned int)time(NULL));
	
	 	while(1)
		
	 	{	
		
		 		if(xx0==76&&yy0==13)
			
		{
			
			gotoxy(82,10);
			
			color(13);
			
			printf("    *黑沙街道*");
			
			gotoxy(82,12);
			
			color(7);
			
			printf("    按回车键进入");
			
		}
		
		Coin();
		
		player_status();
		
		 		item();
		
		 		Map();
		
		 		info();
		
		 		if(ch=='b'||ch=='B')
			
			back();
		
		 		mission(O);//任务
		
		if(time_HP<=0)//判断死亡 
			
		{
			
			system("cls");
			
			gotoxy(50,13);
			
			color(12);
			
			printf("  你失血过多昏了过去");
			
			Sleep(1000);
			
			system("cls");
			
			Sleep(1000);
			
			back();
			
			time_HP=30;
			
			Judge--;
			
			goto FLAG;
			
		}
		
		if(time_HP<=30)
			
		{
			
			gotoxy(24,27);
			
			color(12);
			
			printf("*血量过低*");
			
		}
		
		else
			
		{
			
			gotoxy(24,27);
			
			printf("      ");
			
		}
		
		 		if(kbhit())
			
		 		{
			
			 			move_1();
			
			gotoxy(80,7);
			
			color(7);
			
			printf("超级无敌霸王酷炫勇者的x坐标:%2d y坐标:%2d",xx0,yy0);
			
			take();
			
			 
			
			if(ch==13&&xx0==76&&yy0==13) //地图2 
				
			{
				
				system("cls");
				
				Map();
				
				player();
				
				item();
				
				info();
				
				while(1)
					
				{	
					
					if(xx0==76&&yy0==13)
						
					{
						
						gotoxy(82,10);
						
						color(13);
						
						printf("    *村庄*");
						
						gotoxy(82,12);
						
						color(7);
						
						printf("    按回车键进入");
						
					}
					
					Coin();
					
					item();
					
					 					Map();
					
					 					info();
					
					if(time_HP<=0)//判断死亡 
						
					{
						
						system("cls");
						
						gotoxy(50,13);
						
						color(12);
						
						printf("  你失血过多昏了过去");
						
						Sleep(1000);
						
						system("cls");
						
						Sleep(1000);
						
						back();
						
						time_HP=30;
						
						Judge--;
						
						goto FLAG;
						
					}
					
					if(time_HP<=30)
						
					{
						
						gotoxy(24,27);
						
						color(12);
						
						printf("*血量过低*");
						
					}
					
					else
						
					{
						
						gotoxy(24,27);
						
						printf("      ");
						
					}
					
					mission(O);//任务 
					
					player_status();
					
					if(Judge==0)//进图刷敌人 
						
					{
						
						rand_enemy();
						
						++Judge;
						
					}
					
					if(kbhit())
						
					{
						
						
						
						clear();
						
						move_2();
						
						gotoxy(80,7);
						
						color(7);
						
						printf("超级无敌霸王酷炫勇者的x坐标:%2d y坐标:%2d",xx0,yy0);
						
						take2();//战斗触发 
						
						gotoxy(77,13);
						
						color(4);
						
						printf("*");//传送门 
						
						if(ch=='b'||ch=='B')//地图二回城 
							
						{
							
							Judge--;
							
							back();
							
							system("cls");
							
							goto FLAG;
							
						}
						
						if(ch==13&&xx0==76&&yy0==13)//传送  
							
						{	
							
							system("cls");
							
							Judge--;
							
							goto FLAG;
							
						}
						
						
						
					}
					
				}
				
			}
			
		}
		
	}
	
	 	return 0;
	
 } 
//作者:青节攻 https://www.bilibili.com/read/cv29583226/ spm_id_from=333.999.0.0&jump_opus=1 出处:bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/586928.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言贪吃蛇项目

今天给大家带来一款简单的贪吃蛇游戏&#xff0c;一起随我来看看吧 游戏效果&#xff1a; 实现基本的功能&#xff1a; • 贪吃蛇地图绘制 • 蛇吃⻝物的功能&#xff1a;&#xff08;上、下、左、右⽅向键控制蛇的动作&#xff09; • 蛇撞墙死亡 • 蛇撞⾃⾝死亡 • 计算得分…

5.C++动态内存管理(超全)

目录 1 .C/C 内存分布 2. C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free 3. C内存管理方式 3.1 new/delete操作内置类型 3.2 new和delete操作自定义类型 3.3 operator new函数 3.4 定位new表达式(placement-new) &#xff08;了解&#xff09; 4. 常…

【ARMv8/v9 系统寄存 3 -- system counter CNTPCT_EL0】

文章目录 ARMv8/v9 system countersystem counter读取函数实现 ARMv8/v9 system counter 所有使用Arm处理器的系统中都会包含一个标准化的通用定时器&#xff08;Generic Timer&#xff09;框架。这个通用定时器系统提供了一个系统计数器&#xff08;System Counter&#xff0…

ps科研常用操作,制作模式图 扣取想要的内容元素photoshop

复制想要copy的图片&#xff0c; 打开ps---file-----new &#xff0c;ctrolv粘贴图片进入ps 选择魔棒工具&#xff0c;点击想要去除的白色区域 然后&#xff0c;cotrol shift i&#xff0c;反选&#xff0c; ctrol shiftj复制&#xff0c;复制成功之后&#xff0c;一定要改…

UnityWebGL获取话筒实时数据

看了木子李大佬的数字人https://digital.lkz.fit/之后&#xff0c;我也想搞一个&#xff0c;于是开始研究起来&#xff0c;先从WebGL录音开始&#xff0c;一共试了三个插件&#xff0c;个个都有问题…… 1、UnityWebGLMicrophone 用起来没啥问题&#xff0c;但是只能录音&#…

大型企业总分支多区域数据传输,效率为先还是安全为先?

大型企业为了业务拓展需要&#xff0c;会在全国乃至全球各地设立分公司和办事机构&#xff0c;以便更好地处理当地事务&#xff0c;并进行市场的开拓和客户维护&#xff0c;此时&#xff0c;企业内部就衍生出了新的业务需求&#xff0c;即多区域数据传输。 多区域很难准确定义&…

【大语言模型LLM】-基于ChatGPT搭建客服助手(1)

&#x1f525;博客主页&#xff1a;西瓜WiFi &#x1f3a5;系列专栏&#xff1a;《大语言模型》 很多非常有趣的模型&#xff0c;值得收藏&#xff0c;满足大家的收集癖&#xff01; 如果觉得有用&#xff0c;请三连&#x1f44d;⭐❤️&#xff0c;谢谢&#xff01; 长期不…

2024年五一杯高校数学建模竞赛(A题)|钢板切割问题 | 建模解析,小鹿学长带队指引全代码文章与思路

我是鹿鹿学长&#xff0c;就读于上海交通大学&#xff0c;截至目前已经帮200人完成了建模与思路的构建的处理了&#xff5e; 本篇文章是鹿鹿学长经过深度思考&#xff0c;独辟蹊径&#xff0c;通过路径优化解决钢板切割问题。结合贪心算法&#xff0c;Floyd-Warshall等多元算法…

STM32G030F6P6TR 芯片TSSOP20 MCU单片机微控制器芯片

STM32G030F6P6TR 在物联网&#xff08;IoT&#xff09;设备中的典型应用案例包括但不限于以下几个方面&#xff1a; 1. 环境监测系统&#xff1a; 使用传感器来监测温度、湿度、气压等环境因素&#xff0c;并通过无线通信模块将数据发送到中央服务器或云端平台进行分析和监控。…

Ansys Speos|进行智能手机镜头杂散光分析

本例的目的是研究智能手机Camera系统的杂散光。杂散光是指光向相机传感器不需要的散光光或镜面光&#xff0c;是在光学设计中无意产生的&#xff0c;会降低相机系统的光学性能。 在本例中&#xff0c;光学透镜系统使用Ansys Zemax OpticStudio (ZOS)进行设计&#xff0c;并使用…

字符串函数、内存函数——补充

目录 前言 1、strchr函数 1-1 函数介绍 1-1-1 函数功能 1-1-2 函数原型 1-1-3 函数参数 1-1-4 所属库 1-1-5 函数返回值 1-2 函数简单使用 1-3 函数使用场景 1-4 函数的使用总结 1-4-1 注意事项 2、strrchr函数 2-1 函数介绍 2-1-1 函数功能 2-1-2 函数原型 2…

ubuntu入门

基础命令 cd 切换命令 ls 查看当前目录下所有的文件 cp a.c b.c 拷贝a.c 到 b.c touch a.c 创建a.c文件 mkdir file 创建文件夹file rm file 删除文件 rmdir 删除test文件夹 rmdir test/ mv 移动文件 mv a.c b.c 把a.c 替换成b.c ifconfig 查看电脑网络信息 rm xx 删…

人工电销机器人在销售行业中的重要性和作用,以及未来市场的发展前景

在追求更高效、更智能的时代&#xff0c;各行各业都在积极寻求新技术、新应用来提升业务流程的效率和质量。对于销售行业而言&#xff0c;人工电销机器人已经成为越来越受欢迎的工具之一。我们将深入探讨人工电销机器人在销售行业中的重要性和作用&#xff0c;以及未来市场的发…

31.Gateway网关-跨域问题

跨域 1.域名不同&#xff1a;www.baidu.com和www.taobao.com,www.taobao.org 2.域名相同&#xff0c;端口不同。localhost:8080和localhost:8081 跨域问题 浏览器禁止请求的发起者与服务端发生跨域ajax请求&#xff0c;请求被浏览器拦截的问题。 解决方案 CORS 浏览器询…

linux安装Redis 7.2.4笔记

一.保姆级安装 1.下载Redis 7.2.4安装包 sudo wget https://download.redis.io/releases/redis-7.2.4.tar.gz2.解压&#xff0c;可以指定 sudo tar -zvxf redis-7.2.4.tar.gz 3.检测并安装 GCC 编译器&#xff1a; yum 是基于 Red Hat 的 Linux 发行版&#xff08;如 CentOS、…

【webrtc】MessageHandler 5: 基于线程的消息处理:以PeerConnection信令线程为例

peerconn的信令是通过post 消息到自己的信令线程消息来处理的PeerConnectionMessageHandler 是具体的处理器G:\CDN\rtcCli\m98\src\pc\peer_connection_message_handler.hMachinery for handling messages posted to oneself PeerConnectionMessageHandler 明确服务于 signalin…

分布式与一致性协议之Raft算法(四)

Raft算法 Raft是如何解决成员变更问题的 在日常工作中&#xff0c;你可能会遇到服务器故障的情况&#xff0c;这时你需要替换集群中的服务器。如果遇到需要改变数据副本数的情况&#xff0c;则需要增加或移除集群中的服务器。总的来说&#xff0c;在日常工作中&#xff0c;集…

进一步了解android studio 里 AGP,gradle等关系

目录 &#xff08;1&#xff09; gradle是什么 &#xff08;2&#xff09; 工程的jdk版本&#xff0c;及引用包的编译版本的关系 实践 问题与解决 编译成功与运行成功 编译成功 运行成功 &#xff08;1&#xff09; gradle是什么 Gradle是一个构建工具&#xff0c;它是…

Mac 版 安装NVM

优质博文IT-BLOG-CN NVM&#xff08;Node Version Manager&#xff09;是一个用于管理多个Node.js版本的工具。它允许开发者在同一台机器上安装和切换不同版本的Node.js&#xff0c;以便在不同的项目中使用不同的Node.js版本。macOS用户可以使用homebrew来安装NVM。 一、安装h…

Swagger3.0(Springdoc)日常使用记录

文章目录 前言一、默认地址二、注解OperationTag 三、SpringBoot基础配置四、Swagger导入apifox五、Swagger其他配置六 knife4j 参考文章 前言 本文并不是Swagger的使用教程&#xff0c;只是记录一下本人的操作&#xff0c;感兴趣的可以看下 一、默认地址 http://localhost:…