您的位置:首页 > 编程语言 > C语言/C++

C语言项目

2015-12-21 21:52 441 查看
#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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: