Hello everyone!想必大家有时肯定会突然冒出想自己写游戏的想法,可却又不知道怎么写,从今天开始小编就教大家如何用c++编写一个2D版我的世界(如有错误,请大佬多多指出,后续我会修改,大佬勿喷ヾ(≧▽≦*)o)

1. 标题界面

一个游戏都有一个合格的标题界面,但先别急,我们先来学两个函数——Sleep和system函数

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main()
{
	cout<<1;
	Sleep(1000);
	system("cls");
	cout<<2;
	return 0;
}



​

​

把以上代码运行,会发生什么? 

没错,当输出1时,代码停顿了1秒,然后清屏输出2.想必你已经猜到了,Sleep函数是使代码停顿,1000为1秒,而system函数是可以清屏的,但注意要用windows.h头文件(万能不行)

这样,我们就可以实现一个游戏的界面了:

#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h> 
using namespace std;
int main()
{
	//初始菜单 
	string s="|                       MINCRAFT 2D                        |";
	string s1="|                              by Tony                     |";
	string s2="|             Pleas type 'p' start the game...             |";
	string s3="|                                   Type 'o' exit the game.|";
	cout<<"@----------------------------------------------------------@"<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"|                                                          |"<<endl;
	for(int i=0;i<s.size();i++){
		cout<<s[i];
		Sleep(10);//Sleep函数延长时间 
	}
	cout<<endl;
	for(int i=0;i<s1.size();i++){
		cout<<s1[i];
		Sleep(10);
	}
	cout<<endl;
	for(int i=0;i<s2.size();i++){
		cout<<s2[i];
		Sleep(10);
	}
	cout<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"|                                                          |"<<endl;
	for(int i=0;i<s3.size();i++){
		cout<<s3[i];
		Sleep(10);
	}
	cout<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"@----------------------------------------------------------@"<<endl;
    return 0;
}

运行后是这样的:

 如果你觉得窗口太大了,你可以用system函数的另一个功能:

system("mode con cols=60 lines=37");//设置窗口大小 

没错,设置窗口大小,cols指宽,lines指高,可以随意调整。

然后代码就成了:

#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h> 
using namespace std;
int main()
{
	system("mode con cols=60 lines=37");//设置窗口大小 
	//初始菜单  
	string s="|                       MINCRAFT 2D                        |";
	string s1="|                              by Tony                     |";
	string s2="|             Pleas type 'p' start the game...             |";
	string s3="|                                   Type 'o' exit the game.|";
	cout<<"@----------------------------------------------------------@"<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"|                                                          |"<<endl;
	for(int i=0;i<s.size();i++){
		cout<<s[i];
		Sleep(10);//Sleep函数延长时间 
	}
	cout<<endl;
	for(int i=0;i<s1.size();i++){
		cout<<s1[i];
		Sleep(10);
	}
	cout<<endl;
	for(int i=0;i<s2.size();i++){
		cout<<s2[i];
		Sleep(10);
	}
	cout<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"|                                                          |"<<endl;
	for(int i=0;i<s3.size();i++){
		cout<<s3[i];
		Sleep(10);
	}
	cout<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"@----------------------------------------------------------@"<<endl;
	return 0;
}


效果:

这样就显得很美观了。( •̀ ω •́ )✧

 就是最上面的未命名1有点刺眼,没事,system函数永远能帮你:

system("title Minecraft");//标题 

 这样标题就成了:

 最后上完整代码:

#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h> 
using namespace std;
int main()
{
	system("title Minecraft");//标题 
	system("mode con cols=60 lines=37");//设置窗口大小 
	//初始菜单  
	string s="|                       MINCRAFT 2D                        |";
	string s1="|                              by Tony                     |";
	string s2="|             Pleas type 'p' start the game...             |";
	string s3="|                                   Type 'o' exit the game.|";
	cout<<"@----------------------------------------------------------@"<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"|                                                          |"<<endl;
	for(int i=0;i<s.size();i++){
		cout<<s[i];
		Sleep(10);//Sleep函数延长时间 
	}
	cout<<endl;
	for(int i=0;i<s1.size();i++){
		cout<<s1[i];
		Sleep(10);
	}
	cout<<endl;
	for(int i=0;i<s2.size();i++){
		cout<<s2[i];
		Sleep(10);
	}
	cout<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"|                                                          |"<<endl;
	for(int i=0;i<s3.size();i++){
		cout<<s3[i];
		Sleep(10);
	}
	cout<<endl;
	cout<<"|                                                          |"<<endl;
	cout<<"@----------------------------------------------------------@"<<endl;
	return 0;
}


效果q(≧▽≦q):

 今天就写到这了,如有时间,我就会快速更新下一篇(文章如有问题,请指出)( •̀ ω •́ )✧

下期预告:如何用c++写我的世界wasd人物控制。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐