闲着无聊瞎几把乱写的石头剪刀布
起因
就是单纯没事干然后和朋友打算写一个石头剪刀布程序,等吃饭的时候可以来一把,谁输了就请客吃饭(主要是因为手头上没什么钱了想嫖饭吃!)
初学者们可以看看
学习学习
普遍的实现
这里其实也就是单纯和电脑生成的随机数判断可以用rand()/srand()
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
int Diannao=0;
int people=0;
srand((unsigned)time(NULL));
shuiji=rand()%3;
while(1)
{
cout<<"请输入0、石头,1、剪刀,2、布"<<endl;
cin>>people;
if(people==Diannao)
{
cout<<"平局"<<endl;
}
else if(people==0&&Diannao==1)
{
cout<<"people赢,Diannao输"<<endl;
}
else if(people==0&&Diannao=2)
{
cout<<"people输,Diannao赢"<<endl;
}
else if(people==1&&Diannao=0)
{
cout<<"people输,Diannao赢"<<endl;
}
else if(people==1&&Diannao=2)
{
cout<<"people赢,Diannao输"<<endl;
}
else if(people==2&&Diannao=0)
{
cout<<"people赢,Diannao输"<<endl;
}
else if(people==2&&Diannao=1)
{
cout<<"people输,Diannao赢"<<endl;
}
else
{
cout<<"非法参数"<<endl;
}
}
system("pause");
return 0;
}
上面这种方法呢可以实现,但是呢,距离吃饭的时间实在是太久了,这么快写完太无聊了,我们就不用rand()了,自己乱写一个rand()
自己的实现
#include <windows.h>
#include <stdio.h>
#include <iostream>
using namespace std;
class person
{
public:
int ge = 0;
int shi = 0;
int bai = 0;
int qian = 0;
};
int main(void)
{
int lian = 0;
int yue = 0;
int ri = 0;
int zhong = 0;
int feng = 0;
int miao = 0;
int hao = 0;
int xing = 0;
int he = 0;
int a = 0;
int b = 0;
person Year;
person Moth;
person Day;
person Hour;
person Minute;
person Second;
person Milliseconds;
person DayOfWeek;
while (1) {
SYSTEMTIME sys;
GetLocalTime(&sys);
(int)sys.wYear + (int)sys.wMonth + (int)sys.wDay + (int)sys.wHour + (int)sys.wMinute + (int)sys.wSecond + (int)sys.wMilliseconds;
Year.ge = (int)sys.wYear % 10;
Year.shi = ((int)sys.wYear / 10) % 10;
Year.bai = ((int)sys.wYear / 100) % 10;
Year.qian = (int)sys.wYear / 1000;
Moth.ge = (int)sys.wMonth % 10;
Moth.shi = ((int)sys.wMonth / 10) % 10;
Day.ge = (int)sys.wDay % 10;
Day.shi = ((int)sys.wDay / 10) % 10;
Hour.ge = (int)sys.wHour % 10;
Hour.shi = ((int)sys.wHour / 10) % 10;
Minute.ge = (int)sys.wMinute % 10;
Minute.shi = ((int)sys.wMinute / 10) % 10;
Second.ge = (int)sys.wSecond % 10;
Second.shi = ((int)sys.wSecond / 10) % 10;
Milliseconds.ge = (int)sys.wMilliseconds % 10;
Milliseconds.shi = ((int)sys.wMilliseconds) % 10;
Milliseconds.bai = ((int)sys.wMilliseconds / 100) % 10;
DayOfWeek.ge = (int)sys.wDayOfWeek;
lian = (Year.ge) + (Year.shi) + (Year.bai) + (Year.qian);
yue = (Moth.ge) + (Moth.shi);
ri = (Day.ge) + (Day.shi);
zhong = (Hour.ge) + (Hour.shi);
feng = (Minute.ge) + (Minute.shi);
miao = (Second.ge) + (Second.shi);
hao = (Milliseconds.ge) + (Milliseconds.shi) + (Milliseconds.bai);
xing = (DayOfWeek.ge);
he = lian + yue + ri + zhong + feng + miao + hao + xing;
do
{
if (he > 9)
he = he / 2;
} while (he > 9);
switch (he)
{
case 1:
b = 1;//石头
break;
case 2:
b = 2;//剪刀
break;
case 3:
b = 3;//布
break;
case 4:
b = 1;//
break;
case 5:
b = 2;//
break;
case 6:
b = 3;//
break;
case 7:
b = 1;//
break;
case 8:
b = 2;//
break;
case 9:
b = 3;//
break;
}
cout << "1是石头,2是剪刀,3是布\n";
cin >> a;
if (a == b)
{
cout << b << endl;
cout << "平局\n";
}
else if (a == 1 && b == 2)
{
cout << b << endl;
cout << "你赢了\n";
}
else if (a == 1 && b == 3)
{
cout << b << endl;
cout << "电脑赢\n";
}
else if (a == 2 && b == 1)
{
cout << b << endl;
cout << "电脑赢\n";
}
else if (a == 2 && b == 3)
{
cout << b << endl;
cout << "你赢了\n";
}
else if (a == 3 && b == 1)
{
cout << b << endl;
cout << "你赢了\n";
}
else if (a == 3 && b == 2)
{
cout << b << endl;
cout << "电脑赢\n";
}
else
{
cout << "非法参数" << endl;
break;
}
}
return 0;
}
实现的关键步骤(真正无聊的地方)
SYSTEMTIME sys;
GetLocalTime(&sys);
(int)sys.wYear + (int)sys.wMonth + (int)sys.wDay + (int)sys.wHour + (int)sys.wMinute + (int)sys.wSecond + (int)sys.wMilliseconds;
Year.ge = (int)sys.wYear % 10;
Year.shi = ((int)sys.wYear / 10) % 10;
Year.bai = ((int)sys.wYear / 100) % 10;
Year.qian = (int)sys.wYear / 1000;
Moth.ge = (int)sys.wMonth % 10;
Moth.shi = ((int)sys.wMonth / 10) % 10;
Day.ge = (int)sys.wDay % 10;
Day.shi = ((int)sys.wDay / 10) % 10;
Hour.ge = (int)sys.wHour % 10;
Hour.shi = ((int)sys.wHour / 10) % 10;
Minute.ge = (int)sys.wMinute % 10;
Minute.shi = ((int)sys.wMinute / 10) % 10;
Second.ge = (int)sys.wSecond % 10;
Second.shi = ((int)sys.wSecond / 10) % 10;
Milliseconds.ge = (int)sys.wMilliseconds % 10;
Milliseconds.shi = ((int)sys.wMilliseconds) % 10;
Milliseconds.bai = ((int)sys.wMilliseconds / 100) % 10;
DayOfWeek.ge = (int)sys.wDayOfWeek;
lian = (Year.ge) + (Year.shi) + (Year.bai) + (Year.qian);
yue = (Moth.ge) + (Moth.shi);
ri = (Day.ge) + (Day.shi);
zhong = (Hour.ge) + (Hour.shi);
feng = (Minute.ge) + (Minute.shi);
miao = (Second.ge) + (Second.shi);
hao = (Milliseconds.ge) + (Milliseconds.shi) + (Milliseconds.bai);
xing = (DayOfWeek.ge);
he = lian + yue + ri + zhong + feng + miao + hao + xing;
这里就不做详细讲解了(主要是怕太多余了被大佬喷Ծ‸Ծ)
我知道很无聊很多余
大佬们轻点喷