首页 > 编程语言 >C++游戏篇1“很好的游戏,使我手指旋转”(原创)

C++游戏篇1“很好的游戏,使我手指旋转”(原创)

时间:2024-07-16 13:25:43浏览次数:13  
标签:游戏 int C++ 旋转 else Shi include BackC

话不多说,上代码!

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int Ge,Fen,timp,F,a[22][6];
double Shi,B;
void S(int ForgC,int BackC){
    WORD wColor=((BackC & 0x0F)<<4)+(ForgC&0x0F);
    SetConsoleTextAttribute (GetStdHandle(STD_OUTPUT_HANDLE),wColor);
}
void G(int x, int y){
	COORD pos={x,y};
	HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleCursorPosition(hOut,pos);
	return ;
}
void HC(){
	CONSOLE_CURSOR_INFO cur={1,0};
	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cur);
}
void SC(){
	CONSOLE_CURSOR_INFO cur={1,1};
	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cur);
}
struct J{
	int x,y,f;
}Jiant[114514];
int my_find(int x,int y){
	for(int i=1;i<=Ge;i++)if(x==Jiant[i].x&&y==Jiant[i].y)return Jiant[i].f+5;
	return 0;
}
int my_find2(int x,int y){
	for(int i=1;i<=Ge;i++)if(x==Jiant[i].x&&y==Jiant[i].y)return i;
	return 0;
}
void js(){
	system("cls");
	int x;
	while(true){
		if(B<=0){
			x=rand()%14+1;
			B=0.5;
		}
		G(0,0);
		S(x,0);
		cout<<"  "<<(char)12;
		printf("音游");
		cout<<(char)12<<endl;
		S(15,0);
		if(B>0)B-=0.1;
		else B=0; 
		S(11,0);cout<<"有手不行"<<endl;
		S(15,0);cout<<"按回车返回";
		if(GetAsyncKeyState(VK_RETURN))return;
		Sleep(50);
	}
}
void play(){
	system("cls");
	Fen=0;Ge=0;
	while(true){
		G(0,0);
		for(int i=1;i<=21;i++){
			for(int j=1;j<=4;j++){
				if(i==20)a[i][j]=1;
				else if(i==21)a[i][j]=j+1;
				else if(my_find(i,j)!=0)a[i][j]=my_find(i,j);
				else a[i][j]=0;
			}
		}
		for(int i=1;i<=21;i++){
			for(int j=1;j<=4;j++){
				if(a[i][j]==0){cout<<"  ";}
				if(a[i][j]==1){cout<<"┄┄";}
				if(a[i][j]==2){S(12,0);cout<<"↑";S(15,0);}
				if(a[i][j]==3){S(14,0);cout<<"↓";S(15,0);}
				if(a[i][j]==4){S(11,0);cout<<"←";S(15,0);}
				if(a[i][j]==5){S(19,0);cout<<"→";S(15,0);}
				if(a[i][j]==6){S(12,0);cout<<"↑";S(15,0);}
				if(a[i][j]==7){S(14,0);cout<<"↓";S(15,0);}
				if(a[i][j]==8){S(11,0);cout<<"←";S(15,0);}
				if(a[i][j]==9){S(19,0);cout<<"→";S(15,0);}
			}
			cout<<endl;
		}
		for(int i=21;i>=1;i--){
			for(int j=1;j<=4;j++){
				if(my_find2(i,j)!=0){
					if(Jiant[my_find2(i,j)].x<=20)Jiant[my_find2(i,j)].x++;
					else{
						Fen-=10;
						for(int i=1;i<=Ge-1;i++){
							Jiant[i].x=Jiant[i+1].x;
							Jiant[i].y=Jiant[i+1].y;
							Jiant[i].f=Jiant[i+1].f;
						}
						Ge--;
					}
				}
			}
		}
		if(Shi>0)Shi-=0.2;
		else Shi=0;
		if(Shi<=0){
			timp=rand()%6+1;
			Shi=timp*1.0/10;
			Ge++;
			Jiant[Ge].x=1;
			Jiant[Ge].y=rand()%4+1;
			Jiant[Ge].f=Jiant[Ge].y;
		}
		if(GetAsyncKeyState(VK_UP)){
			if(a[20][1]==6){
				Fen+=50;
			}else if(a[19][1]==6)Fen+=30;
			else if(a[18][1]==6)Fen+=20;
			else if(a[17][1]==6)Fen+=10;
			G(0,19);
			cout<<"+";
		}
		if(GetAsyncKeyState(VK_DOWN)){
			if(a[20][2]==7){
				Fen+=50;
			}else if(a[19][2]==7)Fen+=30;
			else if(a[18][2]==7)Fen+=20;
			else if(a[17][2]==7)Fen+=10;
			G(2,19);
			cout<<"+";
		}
		if(GetAsyncKeyState(VK_LEFT)){
			if(a[20][3]==8)Fen+=50;
			else if(a[19][3]==8)Fen+=30;
			else if(a[18][3]==8)Fen+=20;
			else if(a[17][3]==8)Fen+=10;
			G(4,19);
			cout<<"+";
		}
		if(GetAsyncKeyState(VK_RIGHT)){
			if(a[20][4]==9)Fen+=50;
			else if(a[19][4]==9)Fen+=30;
			else if(a[18][4]==9)Fen+=20;
			else if(a[17][4]==9)Fen+=10;
			G(6,19);
			cout<<"+";
		}
		if(GetAsyncKeyState(VK_SPACE)){
			Sleep(100);
			while(true)if(GetAsyncKeyState(VK_SPACE))break;
		}
		Sleep(250);
		G(1,21);
		cout<<"分数 "<<Fen<<"     "<<endl;
	}
}
bool kt(){
	int i=1;
	system("cls");
	while(true){
		G(0,0);
		printf("\n\n\n");
		printf("   ┍┄┄┄┄┄┄┄┄┑\n");
		if(i==1){
			S(14,0);
			printf(" ●");
			S(15,0);
		}else cout<<"   ";
		printf("┆");
		if(i==1)S(14,0);
		printf("开始游戏");
		S(14,0);
		printf("┆");
		if(i==1){
			S(14,0);
			printf("●");
			S(15,0);
		}else cout<<"   "; 
		printf("\n");
		if(i==2){
			S(14,0);
			printf(" ●");
			S(15,0);
		}else cout<<"   ";
		printf("┆");
		if(i==2)S(14,0);
		printf("游戏介绍");
		S(15,0);
		printf("┆");
		if(i==2){
			S(14,0);
			printf("●");
			S(15,0);
		}else cout<<"   ";
		printf("\n   ┕┄┄┄┄┄┄┄┄┙");
		if(GetAsyncKeyState(VK_UP))i=max(i-1,1);
		if(GetAsyncKeyState(VK_DOWN))i=min(i+1,2);
		if(GetAsyncKeyState(VK_SPACE)){
			if(i==1)play();
			else js();
			break;
		}
	}
	kt();
}
int main(){
	HC();
	srand(time(0));
	if(kt())play();
	else js();
	SC();
	return 0;
} 

                                                                                蚌。

标签:游戏,int,C++,旋转,else,Shi,include,BackC
From: https://blog.csdn.net/2401_84857706/article/details/140463238

相关文章

  • C++转换进制
    前言本蒟蒻:让C++转进制?我都不会转,更何况让C++转。正文转进制,我们要知道36进制的0-35都用什么表示。0-9就是0-9,而10-35分别是ABCDEFG........RSTUVWXYZ。我们可以设一个字符串表示0-35:strings="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";重要的一步来了,参考以下方法,用while......
  • 底软驱动 | 大厂面试爱考的C++内存相关
    文章目录C++内存相关C++内存分区C++对象的成员函数存放在内存哪里堆和栈的区别堆和栈的访问效率“野指针”有了malloc/free为什么还要new/deletealloca内存崩溃C++内存泄漏的几种情况内存对齐柔性数组参考推荐阅读C++内存相关本篇介绍了C++内存相关的知识。C++......
  • 《战地2042》DX报错无法启动游戏怎么处理,战地2042启动游戏DX报错解决方法
    《战地2042》作为一款以现代战争为题材的、大规模的、可供多人在线游玩的第一人称射击游戏,其在上线初期以及后续的运营期间,有部分玩家在启动游戏时遇到了与DirectX有关的错误提示,以致无法顺利进入游戏。DirectX,又称DX,它是由微软公司推出的一套多媒体编程接口,主要用于处理游戏......
  • 《死亡搁浅》DX12报错怎样处理,游戏DX12报错解决教程详解
    《死亡搁浅》作为一款广受瞩目的开放世界动作冒险游戏,凭其独特剧情设定、精细画面呈现和创新游戏玩法吸引了全球大量玩家。然而在PC平台上,部分玩家尝试运行此游戏时却遭遇和DX12有关的报错问题,致使游戏无法正常启动或运行中频繁崩溃。本篇将为大家带来《死亡搁浅》DX12报错解决......
  • 《火影忍者:究极风暴4》DX11报错令游戏崩溃怎样处理,火影忍者究极风暴4DX11报错游戏崩溃
    《火影忍者:究极风暴4》DX11报错致使游戏崩溃,这可让玩家们犯了难。究竟该如何解决这个棘手的问题呢?本篇文章将为大家带来火影忍者究极风暴4DX11报错游戏崩溃解决办法,感兴趣的小伙伴们一起来看看吧,希望能够帮助到大家。DX11报错游戏崩溃解决办法1、图形驱动更新:访问NVIDIA、A......
  • Python | 论做游戏外挂,Python输过谁?
    玩过电脑游戏的同学对于外挂肯定不陌生,但是你在用外挂的时候有没有想过如何做一个外挂呢?我打开了4399小游戏网,点开了一个不知名的游戏,唔,做寿司的,有材料在一边,客人过来后说出他们的要求,你按照菜单做好端给他便好~首先要声明,这里的游戏外挂的概念,和那些大型网游里的外挂可不同,......
  • 国际视角:深入中国游戏市场的必读指南
    随着中国成为全球最大的游戏市场,无数海外游戏开发者和公司都渴望在这个充满潜力的领域分得一杯羹。然而,面对独特的市场环境和严格的监管政策,如何顺利进入并成功运营成为了一个挑战。本文将从国际视角出发,深入探讨海外游戏进入中国市场的策略,特别是游戏收款环节的解决方案。第......
  • 逆序打印c++
    逆序打印c++第一次写文章请大佬多多指教说明输入n个数,要求程序按输入时的逆序把这n个数打印出来,已知整数不超过100个。也就是说,按输入相反顺序打印这n个数。输入格式两行,第一行,一个整数N;第2-N+1行,N个整数。输出格式一行,按相反顺序输出这N个数,中间用空格隔开。样例......
  • C/C++ 逗号表达式的注意事项
    在C和C++中,逗号表达式是一种使用逗号运算符,分隔的表达式序列。逗号运算符用于顺序执行其操作数,并返回最后一个操作数的结果。尽管逗号表达式在某些情况下很有用,但它们也需要注意一些重要的细节和潜在的问题。1.逗号表达式的定义和用法逗号表达式由一系列表达式组成,这些表......
  • 侠之道风灵月影修改器详尽指南——掌握使用技巧与提升游戏体验
    《侠之道》是一款深受玩家喜爱的武侠题材游戏,其复杂的策略战斗系统和丰富的剧情线吸引了无数玩家。然而,对于那些想要更深入探索游戏内容,或是希望调整游戏难度以适应个人游戏风格的玩家来说,使用修改器是一种常见的做法。本文将详细介绍《侠之道》风灵月影修改器的使用方法,并分享......