2020-11-11

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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值