【VC开源代码栏目提醒】:网学会员为需要VC开源代码的朋友们搜集整理了shizi.cpp相关资料,希望对各位网友有所帮助!
// shizi.cpp : 定义控制台应用
程序的入口点。
//
#include "stdafx.h"
#include <time.h>
#include <conio.h>
int random(int maxlim);
int judgewin(char h1,char h2);
void disphand(char h);
int _tmain(int argc, _TCHAR* argv[])
{
char man,computer,wantplay;
srand( (unsigned)time( NULL ) );
printf("-----------石头剪子布游戏--------------\n");
do
{
//您出拳
while(1)
{
printf("您出什么拳?(1--石头 2--剪子 3--布):");
man=getche();
if(man != '3' && man != '2' && man != '1')
printf("您出的不是拳!\n");
else
break;
}
//显示您出的拳
printf("\n您出的是");
disphand(man);
printf("\n");
//电脑出拳
computer=random(3) + '1';
//显示电脑出的拳
printf("电脑出的是");
disphand(computer);
printf("\n");
//判断胜负
switch(judgewin(man,computer))
{
case 0://平
printf("不分胜负\n");
break;
case 1://您赢
printf("恭喜,您赢了!\n");
break;
case -1://电脑赢
printf("抱歉,电脑赢了。\n");
break;
}
printf("还玩吗?(Y/N):");
wantplay= getche();
printf("\n\n");
}
while(wantplay=='y'||wantplay=='Y');
return 0;
}
//产生0到maxlim之间的随机数
int random(int maxlim)
{
float number;
number=((float)rand()/RAND_MAX)*maxlim;
return((int)number);
}
//判断h1和h2的胜负
int judgewin(char h1,char h2)
{
if(h1==h2)
return 0;//peace
else if( (h1=='1'&&h2=='2') // h1出石头,h2出剪子
||(h1=='2'&&h2=='3') //或者h1出剪子,h2出布
||(h1=='3'&&h2=='1') ) //或者h1出布 ,h2出石头
return 1;//h1 win
else
return -1;//h2 win
}
//根据h的值显示"石头"、"剪子"、"布"
void disphand(char h)
{
switch(h)
{
case '1':
printf("石头");
break;
case '2':
printf("剪子");
break;
case '3':
printf("布");
break;
}
}