1:绘制游戏地图(*为游戏角色),首先我们要定义一个char型的二维数组,如下:
char a[500][500]={
"_______________________________________________________________________________________________",
"| * __________ | |建工实验室||学术报告厅||建工实验室| | 笃行楼 | |锅炉房| |",
"| |学员公寓| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |~~~~|~~~~~~~~ |~~~~~~~ |",
"| ~~~~~~~~~~ |学生活动中心| _____________ | | F1-F3南苑餐厅 | |",
"| __________ |~~~~~~~~~~~~~ | 弘学楼 | | 敏学楼 | | F4学生活动中心 | |",
"| |学员公寓| |________ ~~~~~~~~~~~~~ ~~~~~~~~~| | | |",
"| ~~~~~~~~~~ | 砺能楼| | | | |",
"| ____________ | |羽 | |羽 | | |",
"| | 科技楼 | | |毛 | |毛 | | |_____ __________| |",
"| ~~~~~~~~~~~~ | |球 | |球 | | ~~~~~ |",
"|____ _________| ~~~~~ ~~~~~ | |",
"| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |",
"|~~~| -》 |",
"|~~~~~~~~~~~~~~~~~~~~~~~~~~~通识大道~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`~~~~~~~|",
"| |",
"| _____ __________ |",
"| | ~~~~~ | ~ |~~~~~~~~~~~~~~~~~| ~ |~~~~~~~~~~~~~~|~1号~| |",
"| | | ~ | | ~ |____ | |",
"| | 体 # # | ~ | <- 乐思胡 | ~ | 4号| | 3号 | |",
"| | 育 | 文 | | 慎 |~~~~~ 明 | |",
"| | 场 # # | ~ | | ~ |____ | 5号 | |",
"| | | 博 | <- 乐知亭 | 思 | 6号| 德 | |",
"| | # # | ~ | | ~ |~~~~~ | 7号 | |",
"| | | 路 | | 路 |____ 路 | |",
"| | 体育馆 | ~ | <- 乐信岛 | ~ | 8号| |素质 | |",
"| |___________________| ~ |_________________| ~ |~~~~~ |拓展 | |",
"| ~ | | ~ |____ |基地 | |",
"| |~~~~~~~~~~~~~~~~~~~| ~ 篮球场 | ~ |10号| | |",
"| | | ~ |_________________| ~ |~~~~~ | |",
"| | 教学楼 | ~ ~ | | |",
"|___|___________________|______ ______|__图文信息中心___|______ _____|____|___实验楼___|__|____|",
"| *工商幼儿园队* |",
"| ↑W 软件工程二班 图为山西工商学院北格校区 |",
"| ←A D→ *代表小人 -牛梦飞 | _ 为墙不可通过 -小人走到道路名称 |",
"| S↓ -赵纪龙 ~~~ 为门路可通过 -第一次?第二次消失 |",
"| -黄凡 # 为 篮球场地 |",
"|______________________________________________________________________________________________|",
};
接着,我们要把它打出来,不使用cout,有一个函数:puts,它的头文件是cstdio,它的意思就是:打完一行换一行.
for(int i=0;i<=40;i++)
puts(a[i]);
游戏的高潮环节——移动角色
我们移动角色的原理:每输出一个移动键就重绘一下画面
首先,我们定义一个记录角色坐标的横坐标x,纵坐标y
int x=1,y=1;
接着,我们就为了实现按键效果,所以我们要定义一个char变量,然后电脑会判断你按的是什么键,然后绘出什么样的图,在这里,我们w上,s下,a左,d右``
需要头文件<conio.h>
char ch;
ch=_getch();
实现移动
if(ch=='a'){
if(a[x][y-1]!='|'&& a[x][y-1]!='_'){
a[x][y]=' ';
y--;
a[x][y]='*';
}
}
这里我们先判断它是什么键,然后判断它要移动的那个地方,接着把它原有的位置清空,再往要移动的位置重新打上星号
接下来再重新绘制地图
for(int i=0;i<=10;i++)
puts(a[i]);
实现移动不终止
while(1)