⛪️Pixiv ID: 77441301

The Frist Game For Ourself

等等,这个节奏不对啊,什么时候开始飙英文了?一定是我的打开方式不对,重新来一次。

我们的第一个小游戏程序

  • 我觉得你们会有一个很大很大的疑惑:“我们才学了一点点东西就开始写游戏了?怕不是在逗我们玩吧。不要拿我们开玩笑了,认真给我们讲东西吧”

  • 我当然没有开玩笑,我们现在当然不可能写出一个3A级别的大作,我们现在可以捋一捋我们这么多文章学了什么:

  1. C++程序基本结构
  2. C++自带输出与输入语句,coutcin
  3. C++代码中实现的数据计算
  4. 循环结构控制forwhile
  5. 选择结构控制ifswitch
  6. 利用数组的方式储存数据
  • 那我们就只能用这些东西写游戏了,唉巧妇难为无米之炊啊,那我们该怎么办?没办法,只能简简单单的写点东西了。

先来定一个计划!

  • 小游戏计划:
    • 计划名称:我们自己的第一个小游戏
    • 可视化实现:运行窗口(UI我们也不会啊,你们猜猜我会不会?)
    • 游戏描述:猜数游戏,猜对给出正确提示,猜错则相反。
    • 进一步的优化用户体验(这个后面慢慢来)

目标实现:

  1. 打开编译器的编辑窗口(这不是废话吗?。?)
    打开.jpg
  2. Ctrl+N新建一个.cpp文件并保存为“猜数游戏.cpp”(废话++)
    新建.jpg
  3. 开始愉快的的码代码了!
  4. 很快的我打出了下面的代码:
    代码.jpg
#include<iostream>
using namespace std;
int main()
{

 return 0;
}

再然后,似乎我就打不出来了
不慌不慌我们继续按照需求来。
5. 那么我们第一个语句的目的应该是:设置答案数据和提醒用户这个程序的目的————猜数,并且将用户输入的数据储存下来。
所以应该是:

#include<iostream>
using namespace std;
int main()
{
 int a,n=2;
 cout<<"请猜一猜我心里在想什么!猜对有奖励的噢!"<<endl;
 cout<<"请输入你猜测的数据:a = ";
 cin>>a;
 return 0;
}
  1. 现在的任务就很简单了:判断输入数据是否和我们设置的答案数据相同并给出相应的提示语句就行了查看判断结构
#include<iostream>
using namespace std;
int main()
{
	int a,n=2;
	cout<<"请猜一猜我心里在想什么!猜对有奖励的噢!"<<endl;
	cout<<"请输入你猜测的数据:a = "; 
	cin>>a;
	if(a == n)
	{
		cout<<"恭喜你猜对了!奖励你CSP初赛模拟题一套!"<<endl;
	}
	else
	{
		cout<<"抱歉啊,猜错了。给你个安慰奖:CSP初赛模拟题两套!"<<endl; 
	}
	return 0;
}
  • 这里使用if-else语句最为方便,你要用两次if或者switch我也没办法。(你们都可以试一试)
  1. 下面我们就来试一试效果:
    20191024_132944.gif

进一步修改制作猜数游戏1.1

  • 只不过你们可能会说:“这个东西这么简单 (简陋) ,连简单的交互都做不到,可以被称作游戏?!!!!”
  • 那我们就让这个游戏稍微的可玩性高一点——让这个程序在我们猜正确后再结束,这样就不会让我们一次次去点开这个程序了。

和以前一样,还是先给出代码:

#include<iostream>
using namespace std;
int main()
{
	int j=1;
	while(1)
	{
		int a,n=2;
		if(j == 1)
		{
			cout<<"请猜一猜我心里在想什么!猜对有奖励的噢!"<<endl;
		}
		cout<<"请输入你猜测的数据:a = "; 
		cin>>a;
		if(a == n)
		{
			cout<<"恭喜你猜对了!奖励你CSP初赛模拟题一套!"<<endl;
			break;
		}
		else
		{
			cout<<"抱歉啊,猜错了。给你个安慰奖:CSP初赛模拟题两套!\n"<<endl;
			cout<<"请再猜一猜吧:"<<endl; 
		}
		j++;
	}
	return 0;
}
  • 效果图:
    效果图
    当然在这个地方我们使用的是无限循环跳出的方法,另外的话我们可以使用另一种方法——满足条件循环
  • 源代码:
#include<iostream>
using namespace std;
int main()
{
	bool i =false;
	int j=1;
	while(i == false)
	{
		int a,n=2;
		if(j == 1)
		{
			cout<<"请猜一猜我心里在想什么!猜对有奖励的噢!"<<endl;
		}
		cout<<"请输入你猜测的数据:a = "; 
		cin>>a;
		if(a == n)
		{
			cout<<"恭喜你猜对了!奖励你CSP初赛模拟题一套!"<<endl;
			i = true;
		}
		else
		{
			cout<<"抱歉啊,猜错了。给你个安慰奖:CSP初赛模拟题两套!\n"<<endl;
			cout<<"请再猜一猜吧:"<<endl; 
		}
		j++;
	}
	return 0;
}
  • 效果图:
    效果图