| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1617 人关注过本帖
标题:[求助]C语言编写石头剪子布游戏
只看楼主 加入收藏
linX2132466
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-6-13
收藏
 问题点数:0 回复次数:10 
[求助]C语言编写石头剪子布游戏
程序是一个与电脑玩“石头、剪刀、纸”的游戏程序。
游戏中,玩家为一方,电脑为另一方。
游戏开始,双方各有100分底分。
每一回合玩家通过键盘从“石头、剪刀、纸”三种手势中选择一种,电脑也随机选择一种,然后程序按“纸胜石头;石头胜剪刀;剪刀胜纸”的规则判断本回合的胜负方,负方将被扣去10分给胜方。
以上过程反复进行,直到其中一方被扣成零分。当玩家被扣成零分,则本局游戏结束,玩家按任一键继续游戏;如果是电脑被扣成零分,则显示祝贺词,并根据玩家打败电脑所用的回合数。
游戏过程中按Q键随时可以终止游戏。

[此贴子已经被作者于2006-6-13 14:22:08编辑过]

搜索更多相关主题的帖子: C语言 剪子 石头 游戏 编写 
2006-06-13 12:09
linX2132466
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-6-13
收藏
得分:0 
给点意见我啊!
2006-06-13 13:41
csight
Rank: 1
等 级:新手上路
威 望:1
帖 子:293
专家分:0
注 册:2006-6-11
收藏
得分:0 

#include"time.h"
#include"stdlib.h"
void str(int x);
void compare(int x,int y);
main()
{

int i,m,n;
printf("游戏开始,退出请按Q,继续请按其它字符键:\n");
while(getchar()!='Q')
{
srand((int)time(0));
n=rand()%3;
printf("石头请选 0;剪刀请选 1;布请选 2;");
scanf("%d",&m);
printf("电脑出的是:");
str(n);
printf("你出的是:");
str(m);
compare(n,m);
printf("按Q退出,按其它字符键继续:");
getchar();
}
getchar();
}
void str(int x)
{
switch (x)
{
case 0:
{printf("石头\n");
break; }
case 1:
{ printf("剪刀\n");
break; }
case 2:
{printf("布\n");
break; }
}
}
void compare(int x,int y)
{ if(x==y+1||x==y+2)
printf("你赢了!!\n");
else if(x==y) printf("平局!!\n");
else printf("你输了!!\n");
}
比分自己去完成吧!


头可断,发型不可乱;血可流,皮鞋不可不擦油;
2006-06-13 15:44
linX2132466
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-6-13
收藏
得分:0 
感谢!
2006-06-13 15:56
linX2132466
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-6-13
收藏
得分:0 

我啊特别笨的.
我刚刚开始学这个不久..老师就给我出了这个难题啊.可不可以再帮一次啊..

2006-06-13 16:01
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用csight在2006-6-13 15:44:20的发言:

void compare(int x,int y)
{ if(x==y+1||x==y+2) /* y-2 */
printf("你赢了!!\n");
else if(x==y) printf("平局!!\n");
else printf("你输了!!\n");
}
比分自己去完成吧!


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-13 18:41
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 
同意LS的~
应该改为
void compare(int x,int y)
{ if(x==y+1||x==y+2||x=y-2) /* y-2 */
printf("你赢了!!\n");
else
{if(x==y)
printf("平局!!\n");
else
printf("你输了!!\n");
}

}

很高兴能和大家一起学习程序! QQ:114109098
2006-06-13 19:21
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用工藤♀新一在2006-6-13 19:21:38的发言:
同意LS的~
应该改为
void compare(int x,int y)
{ if(x==y+1||x==y+2||x=y-2) /* y-2 */
printf("你赢了!!\n");
else
{if(x==y)
printf("平局!!\n");
else
printf("你输了!!\n");
}

}

应为 if(x==y+1||x==y-2)


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-13 19:27
linX2132466
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-6-13
收藏
得分:0 

应该在那个地方加多比分这一项呢!怎么一样思路~再烦一下你们哦~

2006-06-14 09:36
yuleol
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2005-12-10
收藏
得分:0 

#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int cmark=100,mmark=100,bout=0; /*cmark电脑分数,mmark是玩家分数,bout是回合数,都是全局变量*/
void count(int y)
{
int x;
bout+=1;
srand((int)time(0));
x=rand()%3+1;/*随机产生一个1到3的数*/
switch(x)
{
case 1:
printf("电脑出石头!\n");break;
case 2:
printf("电脑出剪刀!\n");break;
case 3:
printf("电脑出布!\n");break;
}
if(y==x-1 || y==x+2)
{
mmark+=10;
cmark-=10;
printf("第%d回合,您羸了!加十分!您现在的分数是:%d\n",bout,mmark);
}
else if(x==y)
printf("第%d回合,平局!您现在的分数是:%d\n",bout,mmark);
else
{
mmark-=10;
cmark+=10;
printf("第%d回合,您输了!扣去十分!您现在的分数是:%d\n",bout,mmark);
}
if(mmark<=0)
{
printf("本局游戏结束!你输给了对手!按任意键重新开始!\n") ;
mmark=100;
cmark=100;
bout=0;
getche();
}
if(cmark<=0)
{
printf("恭喜您打败对手了,您一共用了%d回合结束战斗!按任意键重新开始!\n",bout);
mmark=100;
cmark=100;
bout=0;
getche();
}
}

void main()
{
char my;
do
{
printf("游戏开始,退出请按Q,石头请选1,剪刀请选2,布请选3,:");
my=getche();
printf("\n");
switch(my-48)
{
case 1:
printf("你出石头!\n");count(1);break;
case 2:
printf("你出剪刀!\n");count(2);break;
case 3:
printf("你出布!\n");count(3);break;
case 33:break;
case 65:break;
default :printf("输入错误,请重新输入!\n");
}
printf("=============================================\n");
}while(my!='q' && my!='Q');
}

这个包括分数计算的!~

[此贴子已经被作者于2006-6-14 17:47:33编辑过]


兴趣是我的源动力!
2006-06-14 17:45
快速回复:[求助]C语言编写石头剪子布游戏
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019523 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved