~~今晚像打了鸡血一样,~~突然有兴趣,做了一个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};
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();
}
}