栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++教你一步步做推箱子(附源码)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++教你一步步做推箱子(附源码)

最近在c++中用最基础的方法作出了推箱子,效果比想象中的好的多,还不闪屏,不明白为什么网上好多人的推箱子代码都几百行几百行的。

教程开始!

第一步,先录入头文件:

#include
#include
#include
#include
#include
#include

第二步,制作地图(目前只有第一关,以后会努力更完的!请催更。):

char a[10][10]={{"  ###   "}, 
				{"  #6#   "},
				{"  #0####"},
				{"### o06#"},
				{"#60  ###"},
				{"####0#  "},
				{"   #6#  "},
				{"   ###  "}};

第三步:创建人物移动:

void move(){
	int x,y,p,q;
	x=3;
	y=4;
	p=5;
	q=10;
	char ch;
	print();
	while(1) {
		ch=getch();
		if(ch=='s') {
			if(a[x+1][y]!='#'&&a[x+1][y]=='0')
			{
				a[x+2][y]='0';
				a[x][y]=' ';
				a[x+1][y]='o';
			}
			if(a[x+1][y]!='#') {
			a[x][y]=' ';
				x++;
				a[x][y]='o';
				system("cls");
				print();

			}
		}
		if(ch=='w') {
			if(a[x-1][y]!='#'&&a[x-1][y]=='0')
			{
				a[x-2][y]='0';
				a[x][y]=' ';
				a[x-1][y]='o';
			}
			if(a[x-1][y]!='#') {
				a[x][y]=' ';
				x--;
				a[x][y]='o';
				system("cls");
				print();
			}
		}
		if(ch=='a') {
			if(a[x][y-1]!='#'&&a[x][y-1]=='0')
			{
				a[x][y-2]='0';
				a[x][y]=' ';
				a[x][y-1]='o';
			}
			if(a[x][y-1]!='#') {
				a[x][y]=' ';
				y--;
				a[x][y]='o';
				system("cls");
				print();
			}
		}
		if(ch=='d') {
			if(a[x][y+1]!='#'&&a[x][y+1]=='0')
			{
				a[x][y+2]='0';
				a[x][y]=' ';
				a[x][y+1]='o';
			}
			if(a[x][y+1]!='#') {
				a[x][y]=' ';
				y++;
				a[x][y]='o';
				system("cls");
				print();
			}
			
		}
		if(a[1][3]=='0'&&a[6][4]=='0'&&a[4][1]=='0'&&a[3][6]=='0')
			{
				system("cls");
				cout<<"You're Win";
				break; 
			}
			if(ch=='q')
			{
				system("cls");
				welcome();
			}
	}

} 

第四步,创建开始界面:

void welcome(){
	int a;
	system("cls");
	cout<<"nn推箱子小游戏"<>a;
	 if(a==1)
	 {
	 	system("cls");
	 	move();
	  } 
	  else if(a==2)
	  {
	  	system("cls"); 
	  	cout<<"推箱子规则:"<>a;
		if(a==1)
		{
			welcome();
		 } 
	  }

第五步,输出地图:

void print() {
	for(int i=0; i<10; i++) {
		puts(a[i]);
	}
}

最后一步,主函数调用自定义函数:

int main() {
	MessageBox(0, "欢迎来到推箱子小游戏nn制作:火龙果殿下", "系统", MB_OK);
	welcome();
	return 0;
}

 完整代码:

#include
#include
#include
#include
#include
#include
using namespace std;

char a[10][10]={{"  ###   "}, 
				{"  #6#   "},
				{"  #0####"},
				{"### o06#"},
				{"#60  ###"},
				{"####0#  "},
				{"   #6#  "},
				{"   ###  "}};
void move();
void welcome(){
	int a;
	system("cls");
	cout<<"nn推箱子小游戏"<>a;
	 if(a==1)
	 {
	 	system("cls");
	 	move();
	  } 
	  else if(a==2)
	  {
	  	system("cls"); 
	  	cout<<"推箱子规则:"<>a;
		if(a==1)
		{
			welcome();
		 } 
	  }
}
void print() {
	for(int i=0; i<10; i++) {
		puts(a[i]);
	}
}
void move(){
	int x,y,p,q;
	x=3;
	y=4;
	p=5;
	q=10;
	char ch;
	print();
	while(1) {
		ch=getch();
		if(ch=='s') {
			if(a[x+1][y]!='#'&&a[x+1][y]=='0')
			{
				a[x+2][y]='0';
				a[x][y]=' ';
				a[x+1][y]='o';
			}
			if(a[x+1][y]!='#') {
			a[x][y]=' ';
				x++;
				a[x][y]='o';
				system("cls");
				print();

			}
		}
		if(ch=='w') {
			if(a[x-1][y]!='#'&&a[x-1][y]=='0')
			{
				a[x-2][y]='0';
				a[x][y]=' ';
				a[x-1][y]='o';
			}
			if(a[x-1][y]!='#') {
				a[x][y]=' ';
				x--;
				a[x][y]='o';
				system("cls");
				print();
			}
		}
		if(ch=='a') {
			if(a[x][y-1]!='#'&&a[x][y-1]=='0')
			{
				a[x][y-2]='0';
				a[x][y]=' ';
				a[x][y-1]='o';
			}
			if(a[x][y-1]!='#') {
				a[x][y]=' ';
				y--;
				a[x][y]='o';
				system("cls");
				print();
			}
		}
		if(ch=='d') {
			if(a[x][y+1]!='#'&&a[x][y+1]=='0')
			{
				a[x][y+2]='0';
				a[x][y]=' ';
				a[x][y+1]='o';
			}
			if(a[x][y+1]!='#') {
				a[x][y]=' ';
				y++;
				a[x][y]='o';
				system("cls");
				print();
			}
			
		}
		if(a[1][3]=='0'&&a[6][4]=='0'&&a[4][1]=='0'&&a[3][6]=='0')
			{
				system("cls");
				cout<<"You're Win";
				break; 
			}
			if(ch=='q')
			{
				system("cls");
				welcome();
			}
	}

} 
int main() {
	MessageBox(0, "欢迎来到推箱子小游戏nn制作:火龙果殿下", "系统", MB_OK);
	welcome();
	return 0;
}

本篇就到这里啦,如果大家还想学其他的小游戏的话,请在评论区里留言,火龙果会努力编程的!

886~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1038648.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号