久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

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

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

效果圖

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

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


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是推動的箱子,然后!是人,空的字符就是通道。別看界面比較簡陋,我們學(xué)的是算法,只要思想學(xué)會了,隨便移植到哪個有界面的程序都是可以的。


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

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


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的上下左右操作。然后操作時候需要判空,判斷人是否可以走動。如果是墻壁就不能走動。如果是箱子,那還有判斷箱子的前一格是否可以走動,可以的話就直接推箱子了。

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

總結(jié)

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

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

相關(guān)文檔推薦

主站蜘蛛池模板: 久久综合九九 | 蜜臀网站 | 久久的色 | 亚洲成人一区二区 | 亚洲精品乱码久久久久久蜜桃 | 国产精品99免费视频 | 免费看啪啪网站 | 人妖av| 成人深夜福利 | 精品久久久久久 | 亚洲视频在线一区 | 久久久做 | 日韩精品久久久久久 | 老头搡老女人毛片视频在线看 | 国产一级片免费在线观看 | jlzzjlzz国产精品久久 | 日韩成人免费视频 | 日韩精品一区二区三区第95 | 黄色大全免费看 | 国产精品欧美大片 | 日韩视频一区 | 日韩精品 电影一区 亚洲 | 妞干网福利视频 | 日韩一区二区三区av | 狠狠色综合网站久久久久久久 | 婷婷丁香在线视频 | 2020亚洲天堂 | 精品久久不卡 | 国产在线一级片 | 亚洲精品一区中文字幕乱码 | 91.色 | 欧美人妇做爰xxxⅹ性高电影 | 国产日韩欧美 | www.色综合 | 99久久亚洲| 日韩在线一区二区三区 | 性国产xxxx乳高跟 | 久久99精品久久久久子伦 | 亚洲精品日韩精品 | 五月花丁香婷婷 | 亚洲日本欧美日韩高观看 |