首页 > 其他分享 >自制小游戏,猜字母。

自制小游戏,猜字母。

时间:2024-09-24 11:18:59浏览次数:3  
标签:bd wan zhu ++ 自制 else 小游戏 && 字母

 近日闲来无事,做了一个猜字母的小游戏。原型是switch平台的《51GAME》,如有问题,希望可以指出谢谢。

#include<iostream>
#include<conio.h>
#include<ctime>
#include<string>
using namespace std;
void s1();
void s2();
void s3();
void s4();
void startw();
void endd();
void pllay();
char zhu[4];
void endd()
{
	system("cls");
	system("color 02");
	cout << endl <<endl<< "**********************************" << endl << "感谢宁的游玩!!         作者:2024级软工1班蒋礼泽" << endl << "**********************************"<<endl<<endl;
	system("pause");
}
void startw()
{
	int a;
	cout << "您好,欢迎游玩猜字母小游戏。" << endl;
	system("pause");
	system("cls");
	cout << "在游玩之前,还请您仔细阅读游戏说明。" << endl;
	system("pause");
	system("cls");
	for (int i = 1; i < 2;)
	{
		cout << "顾名思义,这个游戏是一个猜字母的游戏,接下来我会准备4个字母(从a,b,c,d,e,f当中选出),它们会按照固定的顺序排列。" << endl;
		system("pause");
		system("cls");
		cout << "而您只需要按顺序输入4个字母就可以了。" << endl;
		system("pause");
		system("cls");
		cout << "在您输入完之后,我会告诉您关于您的答案与准确答案的关系,例如:" << endl << "正确答案:abcd" << endl << "您的答案:abde" << endl << "那么我会告诉您:2个全对,1个半对。" << endl;
		system("pause");
		system("cls");
		cout << "听明白了吗?" << endl << "输入1----明白了。" << endl;
		a = _getch();
		if (a == 49)
		{
			cout << "好的,那我们开始吧。" << endl;
			system("pause");
			system("cls");
			i = 9;
		}
		else
		{
			cout << "行,那咱们再来一遍" << endl;
			system("pause");
			system("cls");
		}
	}
}
int main()
{
	startw();
	srand((unsigned)time(NULL));
	s1(); s2(); s3(); s4();
	pllay();
	endd();
	return 0;
}
void s1()
{
	int a = rand() % 6;
	if (a == 1)
	{
		zhu[0] = 'a';
	}
	else if (a == 1)
	{
		zhu[0] = 'b';
	}
	else if (a == 2)
	{
		zhu[0] = 'c';
	}
	else if (a == 3)
	{
		zhu[0] = 'd';
	}
	else if (a == 4)
	{
		zhu[0] = 'e';
	}
	else if (a == 5)
	{
		zhu[0] = 'f';
	}
}
void s2()
{
	for (int i = 9; i > 8;)
	{
		int a = rand() % 6;
		if (a == 0)
		{
			zhu[1] = 'a';
		}
		else if (a == 1)
		{
			zhu[1] = 'b';
		}
		else if (a == 2)
		{
			zhu[1] = 'c';
		}
		else if (a == 3)
		{
			zhu[1] = 'd';
		}
		else if (a == 4)
		{
			zhu[1] = 'e';
		}
		else if (a == 5)
		{
			zhu[1] = 'f';
		}
		if (zhu[1] != zhu[0])
		{
			i = 0;
		}
	}
	
}
void s3()
{
	for (int i = 9; i > 8;)
	{
		int a = rand() % 6;
		if (a == 0)
		{
			zhu[2] = 'a';
		}
		else if (a == 1)
		{
			zhu[2] = 'b';
		}
		else if (a == 2)
		{
			zhu[2] = 'c';
		}
		else if (a == 3)
		{
			zhu[2] = 'd';
		}
		else if (a == 4)
		{
			zhu[2] = 'e';
		}
		else if (a == 5)
		{
			zhu[2] = 'f';
		}
		if (zhu[2] != zhu[0] && zhu[2] != zhu[1])
		{
			i = 0;
		}
	}
	
}
void s4()
{
	for (int i = 9; i > 8;)
	{
		int a = rand() % 6;
		if (a == 0)
		{
			zhu[3] = 'a';
		}
		else if (a == 1)
		{
			zhu[3] = 'b';
		}
		else if (a == 2)
		{
			zhu[3] = 'c';
		}
		else if (a == 3)
		{
			zhu[3] = 'd';
		}
		else if (a == 4)
		{
			zhu[3] = 'e';
		}
		else if (a == 5)
		{
			zhu[3] = 'f';
		}
		if (zhu[3] != zhu[2] && zhu[3] != zhu[1] && zhu[3] != zhu[0])
		{
			i = 0;
		}
	}
	
}
void pllay()
{
	int bd = 0;
	int qd = 0;
	string s1, s2, s3, s4, d1, d2, d3, d4, d5,wr;
	s1 = "0个全对,"; s2 = "1个全对,"; s3 = "2个全对,"; s4 = "3个全对,";
	d1 = "0个半对。"; d2 = "1个半对。"; d3 = "2个半对。"; d4 = "3个半对。"; d5 = "4个半对。";
	wr = "再来一次吧。";
	char wan[4];
	cout << "我的字母已经出好了,";
	for (int i = 1; i > 0;i++)
	{
		bd = 0;
		qd = 0;
		
		cout << "请输入您的答案:" << endl << "第一个字母(a~f):";
		cin >> wan[0];
		if (wan[0] == zhu[0])
		{
			qd++;
		}
		else if (wan[0] != zhu[0] && wan[0] == zhu[1])
		{
			bd++;
		}
		else if (wan[0] != zhu[0] && wan[0] == zhu[2])
		{
			bd++;
		}
		else if (wan[0] != zhu[0] && wan[0] == zhu[3])
		{
			bd++;
		}
		else if (wan[0] == 'p')
		{
			cout <<endl<< zhu << endl;
		}
		else
		{
			;
		}
		cout << endl << "第二个字母(a~f):";
		cin >> wan[1];
		if (wan[1] == zhu[1])
		{
			qd++;
		}
		else if (wan[1] != zhu[1] && wan[1] == zhu[0])
		{
			bd++;
		}
		else if (wan[1] != zhu[1] && wan[1] == zhu[2])
		{
			bd++;
		}
		else if (wan[1] != zhu[1] && wan[1] == zhu[3])
		{
			bd++;
		}
		else
		{
			;
		}
		cout << endl << "第三个字母(a~f):";
		cin >> wan[2];
		if (wan[2] == zhu[2])
		{
			qd++;
		}
		else if (wan[2] != zhu[2] && wan[2] == zhu[1])
		{
			bd++;
		}
		else if (wan[2] != zhu[2] && wan[2] == zhu[0])
		{
			bd++;
		}
		else if (wan[2] != zhu[2] && wan[2] == zhu[3])
		{
			bd++;
		}
		else
		{
			;
		}
		cout << endl << "第四个字母(a~f):";
		cin >> wan[3];
		if (wan[3] == zhu[3])
		{
			qd++;
		}
		else if (wan[3] != zhu[3] && wan[3] == zhu[1])
		{
			bd++;
		}
		else if (wan[3] != zhu[3] && wan[3] == zhu[2])
		{
			bd++;
		}
		else if (wan[3] != zhu[3] && wan[3] == zhu[0])
		{
			bd++;
		}
		else
		{
			;
		}
		if (qd == 4)
		{
			cout << "恭喜您,您只用了" << i << "次就猜出了正确答案!";
			system("pause");
			system("cls");
			i = -9;
		}
		else if (qd == 0 && bd == 0)
		{
			cout << s1 << d1 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 0 && bd == 1)
		{
			cout << s1 << d2 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 0 && bd == 2)
		{
			cout << s1 << d3 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 0 && bd == 3)
		{
			cout << s1 << d4 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 0 && bd == 4)
		{
			cout << s1 << d5 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 1 && bd == 0)
		{
			cout << s2 << d1 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 1 && bd == 1)
		{
			cout << s2 << d2 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 1 && bd == 2)
		{
			cout << s2 << d3 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 1 && bd == 3)
		{
			cout << s2 << d4 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 1 && bd == 4)
		{
			cout << s2 << d5 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 2 && bd == 0)
		{
			cout << s3 << d1 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 2 && bd == 1)
		{
			cout << s3 << d2 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 2 && bd == 2)
		{
			cout << s3 << d3 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 2 && bd == 3)
		{
			cout << s3 << d4 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 2 && bd == 4)
		{
			cout << s3 << d5 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 3 && bd == 0)
		{
			cout << s4 << d1 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 3 && bd == 1)
		{
			cout << s4 << d2 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 3 && bd == 2)
		{
			cout << s4 << d3 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 3 && bd == 3)
		{
			cout << s4 << d4 << endl << wr;
			system("pause");
			system("cls");
		}
		else if (qd == 3 && bd == 4)
		{
			cout << s4 << d5 << endl << wr;
			system("pause");
			system("cls");
		}
		else
		{
			cout << "wrong!!!" << endl;
			system("pause");
			system("cls");
		}
	}
	
		
}

标签:bd,wan,zhu,++,自制,else,小游戏,&&,字母
From: https://blog.csdn.net/2403_86457662/article/details/142473197

相关文章

  • 工控变频器必知字母符号
    变频器常见字母符号符号含义符号含义FWD正转L1L2L3电源输入REV反转UVW变频器输出STOP停止10V模拟量电源RUN运行FW频率值监控RL低速RESET故障复位RM中速DATA数据写入RH高速JOG点动运行PE接地ALM报警提示ESC返......
  • 【py】计算字母出现次数 字典储存
     代码 用于计算用户输入字符串中每个字母字符的出现频率:fromcollectionsimportCounterdefcalculate_character_frequency():  #获取用户输入的字符串  user_input=input("请输入一个字符串:")     #将字符串转换为小写,并过滤掉非字母字符 ......
  • lazarus使用中文拼音首字母实现中文变量等快速代码补全
    在lazarus使用中文变量等代码补全功能基础上,按以下方法就可以实现输入中文拼音首字母就可以快速代码补全功能。代码补全功能:Ctrl+w 打开\lazarus\ide\wordcompletion.pp找到 procedureAddIfMatch(constALine,ALineUp:string;constAFirstPos,ALength:Integer);(lazarus......
  • Mathtype公式相关:在mathtype中添加任意维数矩阵的方法以及矩阵中省略号的问题;输入空格
    一、在mathtype中添加任意维数矩阵的方法以及矩阵中省略号的问题使用mathtype创建任意维数的矩阵:打开mathtype后可点击矩阵工具栏,再点击右下角的图形,具体情况如下图所示。点击之后会弹出一个对话框如下图所示,可在行列处输入自己想要的行数和列数。使用此方法创建的矩阵都是......
  • 自制CANTool_DBC_Layout仿制_基本框架练习(一)
    1、工具制作用途    模仿DBC中对于Layout方案的模仿,先完成一些基本功能,数据导入和信号解析2、工具UI1、初始化CAN的布局2、导入CANMessage信号3、导入CANSignal1、初始化CANFD的布局2、导入CANFDMessage信号3、导入CANFDSignal3、工具代码#reg......
  • 2024-09-21:用go语言,给定一个字符串 s,字符串中的每个字符要么是小写字母,要么是问号‘?
    2024-09-21:用go语言,给定一个字符串s,字符串中的每个字符要么是小写字母,要么是问号’?‘。对于一个仅包含小写字母的字符串t,我们定义cost(i)为在t的前i个字符中与t[i]相同的字符的出现次数。字符串t的分数是所有位置i的cost(i)之和。现在的任务是用小写字母替换所有的问......
  • 2024-09-21:用go语言,给定一个字符串 s,字符串中的每个字符要么是小写字母,要么是问号‘?
    2024-09-21:用go语言,给定一个字符串s,字符串中的每个字符要么是小写字母,要么是问号'?'。对于一个仅包含小写字母的字符串t,我们定义cost(i)为在t的前i个字符中与t[i]相同的字符的出现次数。字符串t的分数是所有位置i的cost(i)之和。现在的任务是用小写字母替换所有的问号'?',使得......
  • 2024-09-21:用go语言,给定一个字符串 s,字符串中的每个字符要么是小写字母,要么是问号‘?
    2024-09-21:用go语言,给定一个字符串s,字符串中的每个字符要么是小写字母,要么是问号'?'。对于一个仅包含小写字母的字符串t,我们定义cost(i)为在t的前i个字符中与t[i]相同的字符的出现次数。字符串t的分数是所有位置i的cost(i)之和。现在的任务是用小写字母替换所有的问号'?',使得......
  • leetcode刷题day22|回溯算法Part01( 77. 组合 、216. 组合总和 III、17.电话号码的字母
    前言:回溯是递归的副产品,只要有递归就会有回溯,回溯函数也就是递归函数。回溯是暴力穷举解法,效率并不高。但一些问题只能使用回溯来解决。回溯法,一般可以解决如下几种问题:组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一......
  • turtle实现贪吃蛇小游戏
    今天分享一篇利用python的turtle库实现贪吃蛇小游戏,适合初学者的朋友学习技术点:函数应用time库应用random库应用turtle库应用无身体碰撞的版本,完整代码先附上importturtleimportrandomimporttimedelay=0.1#延迟时间score=0#当前分数high_score......