#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#define MAP_WIDTH 10
#define MAP_HEIGHT 10
void afterMovingMap();
void moving();
int map[MAP_WIDTH][MAP_HEIGHT]={
{1,1,1,1,1,1,1,1,1,1},
{2,0,0,0,0,0,0,1,1,1},
{1,1,1,0,1,1,0,1,1,1},
{1,1,1,1,1,1,0,1,1,1},
{1,1,1,0,0,0,0,1,1,1},
{4,0,1,0,1,0,0,1,1,1},
{1,0,1,0,0,0,0,0,0,4},
{1,0,0,1,1,0,1,1,1,1},
{1,1,0,0,0,0,0,0,0,4},
{1,1,1,1,1,1,1,1,1,1}
};
char j1[1000];
char q1[1000];
void loadingMap(int map[MAP_WIDTH][MAP_HEIGHT]){
int z,x;
Sleep(1000);
printf(" 游戏地图\n");
srand(time(0));
for(z=0;z<MAP_WIDTH;z++){
for(x=0;x<MAP_HEIGHT;x++){
int tmp=map[z][x];
if(tmp==1){
printf("■ ");
}else if(tmp==2){
printf("%c ",1);
} else if(tmp==4){
printf("♀ ");
}else{
int num=rand()%20;
if(num>=10 && num<=12){
map[z][x]=3;
printf("%c ",2);
}else{
printf(" ");
}
}
}
printf("\n");
}
}
void ZhuChe(){
char u[1000];
char p[1000];
printf(" 注册\n");
printf("现在注册账号:\n");
scanf("%s",u);
printf("现在注册密码:\n");
scanf("%s",p);
int a;
for(a=0;a<strlen(u);a++){
j1[a]=u[a];
}
for(a=0;a<strlen(p);a++){
q1[a]=p[a];
}
printf("注册成功\n");
printf("现在登陆账号:\n");
printf("%s\n",j1);
printf("现在登陆密码:\n");
printf("%s\n",q1);
printf("稍后就进入登录页面!");
Sleep(1000);
system("cls");
}
void DengLu(){
char u[1000];
char p[1000];
int a;
printf(" 登录\n");
for(a=0;a<=2;a++){
printf("请输入登录账号:\n");
scanf("%s",u);
printf("请输入登录密码:\n");
scanf("%s",p);
if(strcmp(u,j1)==0&& strcmp(p,q1)==0){
Sleep(1000);
system("cls");
printf("密码正确。进入游戏!\n");
Sleep(1000);
system("cls");
break;
}
if(a==2){
printf("密码错误,请返回重新登录!\n");
break;
}
}
}
int BeiJing(){
int a,c;
printf(" 游戏背景\n");
char b[]="大千世界,位面交汇,万族林立,群星荟萃,一位位来自下位面的天之至尊,\n"
"在这无尽世界,演绎着令人向往的传奇,追求着那主宰之路。无尽火域,炎帝执掌,\n"
"万火焚苍穹。武境之内,武祖之威,震慑乾坤。西天之殿,百战之皇,战威无可敌。\n"
"北荒之丘,万墓之地,不死之主镇天地。\n\n";
for(a=0;a<=strlen(b);a++){
printf("%c",b[a]);
Sleep(10);
}
}
int roley=1,rolex=0;
void moving(){
int running=2;
char c;
while(running){
c=getch();
if(c=='w'){
int temp=map[roley-1][rolex];
if(temp==0){
map[roley-1][rolex]=2;
map[roley][rolex]=0;
roley--;
}
}
if(c=='s'){
int temp=map[roley+1][rolex];
if(temp==0){
map[roley+1][rolex]=2;
map[roley][rolex]=0;
roley++;
}
}
if(c=='a'){
int temp=map[roley][rolex-1];
if(temp==0){
map[roley][rolex-1]=2;
map[roley][rolex]=0;
rolex--;
}
}
if(c=='d'){
int temp=map[roley][rolex+1];
if(temp==0){
map[roley][rolex+1]=2;
map[roley][rolex]=0;
rolex++;
}
}
system("cls");
afterMovingMap();
}
}
void afterMovingMap(){
int z,x;
srand(time(0));
for(z=0;z<MAP_WIDTH;z++){
for(x=0;x<MAP_HEIGHT;x++){
int tu=map[z][x];
if(tu==1){
printf("■");
}else if(tu==2){
printf("%c ",1);
roley=z;
rolex=x;
}else if(tu==4){
printf("♀");
}else if(tu==3){
printf("%c ",2);
} else if(tu==0){
printf(" ");
}
}
printf("\n");
};
}
int main(){
int i,a;
int map[MAP_WIDTH][MAP_HEIGHT]={
{1,1,1,1,1,1,1,1,1,1},
{2,0,0,0,0,0,0,1,1,1},
{1,1,1,0,1,1,0,1,1,1},
{1,1,1,1,1,1,0,1,1,1},
{1,1,1,0,0,0,0,1,1,1},
{0,0,1,0,1,0,0,1,1,1},
{1,0,1,0,0,0,0,0,1,1},
{1,0,0,1,1,0,1,1,1,1},
{1,1,0,0,0,0,0,0,0,4},
{1,1,1,1,1,1,1,1,1,1}
};
printf("进入游戏:\n");
printf("1.注册 2.登陆\n");
printf("您选择:");
scanf("%d",&i);
Sleep(1000);
system("cls");
switch (i){
case 1:ZhuChe();
case 2:DengLu();break;
Sleep(1000);
system("cls");
}
Sleep(1000);
system("cls");
printf("进入游戏:\n");
printf("1.开始游戏 2.背景 3.地图\n");
printf("您选择:");
scanf("%d",&a);
Sleep(1000);
system("cls");
switch(a){
case 1:{
loadingMap(map);
moving();
afterMovingMap();
} break;
case 2:BeiJing(); break;
case 3:loadingMap(map); break;
}
return 0;
}