初一学生自制无聊小游戏
  • 板块灌水区
  • 楼主L2007y
  • 当前回复12
  • 已保存回复12
  • 发布时间2021/8/8 22:24
  • 上次更新2023/11/4 11:29:09
查看原帖
初一学生自制无聊小游戏
524974
L2007y楼主2021/8/8 22:24

~~今晚像打了鸡血一样,~~突然有兴趣,做了一个c++小游戏,还是个菜鸡,大佬勿喷,还没做完,欢迎大佬们提提意见,蟹蟹啦!!!


#include<bits/stdc++.h>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<stack>
#include<ctime>
#include<windows.h>
#include<conio.h>
#pragma GCC opitmize(2)
using namespace std;

int ren_x=1,ren_y=1,q,fang,w,o;

void GotoXY(int x, int y)  // 移动 
{
 HANDLE hout;  //屏幕尺寸 变量 
 COORD coord={x,y};  //光标坐标 变量  光标x标  光标y标 
 hout=GetStdHandle(STD_OUTPUT_HANDLE);  //获得屏幕尺寸 
 SetConsoleCursorPosition(hout,coord);  //移动光标 
}

void print(const char *a,int b)
{
    int s=strlen(a);
    for(int i=0;i<s;i++)
    {
        cout<<a[i];
        Sleep(b);
    }
}

int mapp[10][10]={
{1,1,1,1,1,1,1,1,1,1},
{1,0,4,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,4,0,0,0,2},
{1,0,0,0,0,0,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1},
};

void show_shop1(){
	print("正在更新中",80);
}

void show_shop2(){
	print("正在更新中",80);
}

void show_shop3(){
	print("正在更新中",80);
}

void open_shop(){
	system("cls");
	srand((unsigned)time(NULL));
	o=rand()%3;
	if(o==0){
		print("欢迎光临普通商店",80);
		system("cls");
		show_shop1();
	}
	if(o==1){
		print("欢迎光临跟班商店",80);
		system("cls");
		show_shop2();
	}
	if(o==2){
		print("欢迎光临武器商店",80);
		system("cls");
		show_shop3();
	}
}

void print_map()
{
	system("cls");
	cout<<"按‘w’键向上走,按‘s’键向下走,按‘a’键向左走,按‘d’键向右走"<<endl<<"面向你预选的方格,然后按‘空格键’确定,按‘0’退出游戏"<<endl<<"商城共有3种:"<<endl<<"1.普通商店  2.宠物商店  3.武器商店 (随机生成)"<<endl<<endl;
	for(int i=1;i<=100;i++)
		cout<<'_'; 
	cout<<endl;
	for(int i=0;i<=9;i++)
	{
		for(int j=0;j<=9;j++)
		{
			if(i==ren_x && j==ren_y)
				printf("♂");
			else if(mapp[i][j]==0)
				printf("  ");
			else if(mapp[i][j]==1)
				printf("**");
			else if(mapp[i][j]==2)
				printf("门"); 
			else if(mapp[i][j]==3)
				printf("开");
			else if(mapp[i][j]==4)
				printf("店");
		}
		cout<<endl;
	}
	cout<<endl;
	for(int i=1;i<=100;i++)
		cout<<'_'; 
	cout<<endl;
	cout<<"目前面对的方向:";
	if(fang==1)
		cout<<"上↑";
	if(fang==2)
		cout<<"下↓";
	if(fang==3)
		cout<<"左←";
	if(fang==4)
		cout<<"右→"; 
	return;
}

int main()
{
	print("请稍等,性能不好的电脑需要一点时间。",50);
	MessageBox( NULL , TEXT("请稍等,游戏正在拼命加载中") , NULL , MB_ICONINFORMATION|MB_YESNO);
	MessageBox( NULL , TEXT("性能不好的电脑加载会需要一点时间") , NULL , MB_ICONINFORMATION|MB_YESNO);
system("mode con cols=80 lines=25");
	cout<<'|';
 GotoXY(0,1);
 Sleep(1000);
 system("cls");
 int x=0;
 for (int i=1;i<=40;i++)
 {
  GotoXY(x,0);
  cout<<" ";
  x++;
  GotoXY(x,0);
  cout<<'|';
  Sleep(15);
 }
 int y=0;
 for (int i=1;i<=15;i++)
 {
  GotoXY(x,y);
  cout<<" ";
  y++;
  GotoXY(x,y);
  cout<<"|";
  Sleep(20);
 }
 GotoXY(x,y+1);
 for (int i=1;i<=6;i++)
 {
  GotoXY(x,y);
  if (i==1)
  {
   cout<<"L"; 
  }
  if (i==2)
  {
  	GotoXY(x+2,y);
   cout<<"Y";
  }
  if (i==3)
  {
  	GotoXY(x+4,y);
   cout<<"工作室";
  }
  else
  {
  	GotoXY(x+6,y);
   cout<<"";
  }
  x++;
  Sleep(200);
 }
 system("cls");
	cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<"///////////////////////////////////皇室大乱斗///////////////////////////////////";
	Sleep(2000);
	system("cls");
	cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<"///////////////////////////////////LY工作室/////////////////////////////////////";
	Sleep(2000);
	system("cls");
	cout<<"                                   健康游戏忠告:"<<endl<<"                         抵制不良游戏,拒绝盗版游戏。"<<endl<<"                         注意自我保护,谨防受骗上当。"<<endl<<"                         适度游戏益脑,沉迷游戏伤身。"<<endl<<"                         合理安排时间,享受健康生活。"<<endl<<endl;
	Sleep(2000);
	print("按任意键继续......",100); 
	getch();
	system("cls");
	cout<<"                     皇室大乱斗v0.0.0"<<endl<<endl<<"           v0.0.0更新日志:"<<endl<<endl<<"           刚问世的新游戏,还未完全制作好"<<endl;
	cout<<endl;
	print("正在加载,请稍后",80); 
	Sleep(4000);
	system("cls");
	cout<<"                     皇室大乱斗v0.0.0"<<endl<<endl<<"           v0.0.0更新日志:"<<endl<<endl<<"           刚问世的新游戏,还未完全制作好"<<endl;
	cout<<endl;
	print("按任意键继续......",100); 
	getch(); 
	print_map();
	while(1){
    	q=getch();
    	switch(q)
		{
			case(32):
			{
				if(fang==1)
				{
					if(mapp[ren_x-1][ren_y]==2)
						mapp[ren_x-1][ren_y]==3;
					if(mapp[ren_x-1][ren_y]==3)
						mapp[ren_x-1][ren_y]==2;
					if(mapp[ren_x-1][ren_y]==4)
						open_shop();
					break;
				}
				if(fang==2)
				{
					if(mapp[ren_x+1][ren_y]==2)
						mapp[ren_x+1][ren_y]==3;
					if(mapp[ren_x+1][ren_y]==3)
						mapp[ren_x+1][ren_y]==2;
					if(mapp[ren_x+1][ren_y]==4)
						open_shop();
					break;
				}
					if(fang==4)
				{
					if(mapp[ren_x][ren_y+1]==2)
						mapp[ren_x][ren_y+1]==3;
					if(mapp[ren_x][ren_y+1]==3)
						mapp[ren_x][ren_y+1]==2;
					if(mapp[ren_x][ren_y+1]==4)
						open_shop();
					break;
				}
					if(fang==3)
				{
					if(mapp[ren_x][ren_y-1]==2)
						mapp[ren_x][ren_y-1]==3;
					if(mapp[ren_x][ren_y-1]==3)
						mapp[ren_x][ren_y-1]==2;
					if(mapp[ren_x][ren_y-1]==4)
						open_shop();
					break;
				}
			};
			case(119):{
				if(mapp[ren_x-1][ren_y]==0 || mapp[ren_x-1][ren_y]==3){
					mapp[ren_x][ren_y]==0;
					ren_x--;
					fang=1;
				}
				fang=1;
				break;
			}
			case(115):{
				if(mapp[ren_x+1][ren_y]==0 || mapp[ren_x+1][ren_y]==3){
					mapp[ren_x][ren_y]==0;
					ren_x++;
					fang=2;
				}
				fang=2;
				break;
			}
			case(97):{
				if(mapp[ren_x][ren_y-1]==0 || mapp[ren_x][ren_y-1]==3){
					mapp[ren_x][ren_y]==0;
					ren_y--;
				}
				fang=3;
				break;
			}
			case(100):{
				if(mapp[ren_x][ren_y+1]==0 || mapp[ren_x][ren_y+1]==3){
					mapp[ren_x][ren_y]==0;
					ren_y++;
				}
				fang=4;
				break;
			}
			case(48):
				return 0; 
			default:
				printf("没有此选项");
		}
		print_map();
    }
} 
2021/8/8 22:24
加载中...