pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

利用c++寫一個簡單的推箱子小游戲

推箱子想必是很多人童年時期的經典游戲,我們依舊能記得抱個老人機娛樂的場景,下面這篇文章主要給大家介紹了關于如何利用c++寫一個簡單的推箱子小游戲的相關資料,需要的朋友可以

效果圖

相信各位都肯定完整這種推箱子的小游戲。游戲玩法很簡單,那就是一個人把所有的箱子推動到對應的位置那就可以贏了。

那么我們接下來看看這個推箱子的游戲改怎么寫


char map[10][10]=
	{
		{'#','#','#','#','#','#','#','#','#','#'},
		{'#','#','#','#',' ',' ','!',' ',' ','#'},
		{'#',' ',' ',' ',' ','o',' ',' ',' ','#'},
		{'#',' ',' ',' ',' ',' ',' ',' ',' ','#'},
		{'#','#',' ','#','#','#',' ','#','#','#'},
		{'#',' ',' ',' ',' ',' ',' ',' ',' ','#'},
		{'#',' ',' ',' ',' ',' ',' ',' ',' ','#'},
		{'#','#',' ','#',' ','#','#','#','#','#'},
		{'#','#',' ',' ',' ',' ',' ','x','#','#'},
		{'#','#','#','#','#','#','#','#','#','#'}
	};
	void DrawMap(){
		for(int i=0;i<=9;i++){
			for(int j=0;j<=9;j++){
				cout<<map[i][j];
			}
			cout<<endl;
		}
	}

首先先畫出地圖,這里面的#是墻壁,x是終點,o是推動的箱子,然后!是人,空的字符就是通道。別看界面比較簡陋,我們學的是算法,只要思想學會了,隨便移植到哪個有界面的程序都是可以的。


                int r,l;              //人的下標 
		for(int i=0;i<=9;i++){
			for(int j=0;j<=9;j++){
				if(map[i][j]=='!'){
					r=i;          //r,l相當于地圖的寬度和長度 
					l=j;
				}
			} 
		}

在一開始我們需要遍歷,并且獲取人的坐標。


cout<<"please enter w(up) s(down) a(left) b(right)"<<endl;
		char ch;
		cin>>ch; 
		if(ch=='w'||ch=='W'){         
			if(map[r-1][l]==' '){   //若往上走沒有障礙物 
				map[r][l]==' ';      
				map[r-1][l]='!';    //走上去    
			}
			if(map[r-1][l]=='o'){    //若上面有箱子 
				if(map[r-2][l]==' '||map[r-2][l]=='x'){    //因為要推著箱子走,所以要確保上面的上面還可以走或者到達終點 
					map[r-2][l]='o';
					map[r-1][l]='!';
					map[r][l]=' '; 
				} 
			}
		}
		if(ch=='s'||ch=='S'){
			if(map[r+1][l]==' '){
				map[r][l]=' ';
				map[r+1][l]='!';
			}
			if(map[r+1][l]=='o'){
				if(map[r+2][l]==' '||map[r+2][l]=='x'){
					map[r+2][l]='o';
					map[r+1][l]='!';
					map[r][l]=' ';
				}
			}
		}
		if(ch=='a'||ch=='A'){
			if(map[r][l-1]=' '){
				map[r][l]=' ';
				map[r][l-1]='!';
			}
			if(map[r][l-1]=='o'){
				if(map[r][l-2]==' '||map[r][l-2]=='x'){
					map[r][l-2]='o';
					map[r][l-1]='!';
					map[r][l]=' ';
				}
			}
		}
		if(ch=='d'||ch=='D'){
			if(map[r][l+1]==' '){
				map[r][l+1]='!';
				map[r][l]=' ';
			}
			if(map[r][l+1]=='o'){
				if(map[r][l+2]==' '||map[r][l+2]=='x'){
				map[r][l+2]='o';
				map[r][l+1]='!';
				map[r][l]=' ';
			}
				
			}
			
		}

這里就是進行wsad的上下左右操作。然后操作時候需要判空,判斷人是否可以走動。如果是墻壁就不能走動。如果是箱子,那還有判斷箱子的前一格是否可以走動,可以的話就直接推箱子了。

總的來說這種游戲并不算太難。如果是多個關卡的話,可以選擇加一個關卡地圖配置文件。然后讓游戲策劃進行配置。設計游戲的地圖才是這游戲的難點所在。

總結

到此這篇關于利用c++寫一個簡單的推箱子小游戲的文章就介紹到這了,更多相關c++寫推箱子小游戲內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

主站蜘蛛池模板: 灌木树苗-绿化苗木-常绿乔木-价格/批发/基地 - 四川成都途美园林 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 能耗监测系统-节能监测系统-能源管理系统-三水智能化 | 皮带式输送机械|链板式输送机|不锈钢输送机|网带输送机械设备——青岛鸿儒机械有限公司 | 板材品牌-中国胶合板行业十大品牌-环保板材-上海声达板材 | 电子巡更系统-巡检管理系统-智能巡检【金万码】 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 桂林腻子粉_内墙外墙抗裂砂浆腻子粉推荐广西鑫达涂料厂家供应 | 精密钢管,冷拔精密无缝钢管,精密钢管厂,精密钢管制造厂家,精密钢管生产厂家,山东精密钢管厂家 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 真空吸污车_高压清洗车厂家-程力专用汽车股份有限公司官网 | 酵素生产厂家_酵素OEM_酵素加盟_酵素ODM_酵素原料厂家_厦门益力康 | 北京成考网-北京成人高考网| 福建成考网-福建成人高考网 | 复合肥,化肥厂,复合肥批发,化肥代理,复合肥品牌-红四方 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | 污水提升器,污水提升泵,污水提升装置-德国泽德(zehnder)水泵系统有限公司 | 深圳品牌设计公司-LOGO设计公司-VI设计公司-未壳创意 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 衬氟旋塞阀-卡套旋塞阀-中升阀门首页 | 美国HASKEL增压泵-伊莱科elettrotec流量开关-上海方未机械设备有限公司 | 头条搜索极速版下载安装免费新版,头条搜索极速版邀请码怎么填写? - 欧远全 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 电机保护器-电动机综合保护器-上海硕吉电器有限公司 | 口信网(kousing.com) - 行业资讯_行业展会_行业培训_行业资料 | 废气处理设备-工业除尘器-RTO-RCO-蓄热式焚烧炉厂家-江苏天达环保设备有限公司 | 广州昊至泉水上乐园设备有限公司 | 广州各区危化证办理_危险化学品经营许可证代办 | 掺铥光纤放大器-C/L波段光纤放大器-小信号光纤放大器-合肥脉锐光电技术有限公司 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 小程序开发公司-小程序制作-微信小程序开发-小程序定制-咏熠软件 |