一个猜拳游戏~!
c4droid吧
全部回复
仅看楼主
level 6
梁山上 楼主
渣渣代码渣渣游戏,直接发代码交流学习吧[吐舌]
2017年07月18日 21点07分 1
level 6
梁山上 楼主
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<conio.h>
void cqjm(void) // 猜拳界面
{
puts("*****************************");
puts("\n");
puts("游戏开始!\n");
puts("你的对手正在琢磨怎么出招......\n");
puts("你也快出招吧!\n");
puts("1.石头__2.剪刀__3.布\n");
puts("(输入对应数字即可出招)\n");
puts("*****************************");
puts("\n");
};
void czhh(char ch) // 出招喊话
{
puts("***************************\n");
if (ch == '1')
puts
("你狠狠的甩出拳头,出了个【石头】,让我们来看看结果吧!\n");
else if (ch == '2')
puts
("你缓缓的伸出两根手指,噢【剪刀】,让我们看看结果怎么样!\n");
else
puts
("你紧握的拳头突然张开,我以为你想打人呢,出了个【布】啊,来看结果!\n");
};
void jgjm(short sf, char ce) // 结果界面
{
if (ce == 1)
puts("你的对手出了【石头】⊙▽⊙\n");
else if (ce == 2)
puts("你的对手使用了【剪刀】⊙▽⊙\n");
else
puts("你的对手张开了手,是【布】⊙▽⊙");
puts("***************************\n");
if (sf == 1)
puts("真厉害,恭喜你你赢了!👏\n");
else if (sf == 2)
puts("emmm旗鼓相当的对手呢!😓\n");
else if (sf == 0)
puts("好菜啊,你输了!😒\n");
puts("***************************\n");
puts("按任意键继续游戏,\"0\"退出游戏查看成绩!");
};
int cqpd(char ce, char ge) // 胜负判定
{
int a = ce - ge + 48;
if (ce == ge - 48) // 平局
return 2;
else if (a == -1 || a == 2) // 机器胜
return 0;
else if (a == 1 || a == -2) // 玩家胜
return 1;
};
int main(void) // 猜拳游戏
{
char ce; // 机器出拳事件123
char ge; // 玩家出拳事件123
float zjs = 0; // 总局数
float sjs = 0; // 玩家胜利局数
short sf; // 胜负
time_t t;
puts("*****************************");
puts("\n");
puts(" ★ 猜 拳 游 戏 ★ ");
puts("\n");
puts("*****************************");
puts("\n");
puts(" 感谢你玩这个游戏!\n");
puts(" 作者@小小小狮子w\n");
puts("*****************************");
puts("\n 按任意键开始游戏!\n");
getch();
clrscr();
cqjm();
while ((ge = getch()) != '0') {
t = time(NULL);
srand(t);
2017年07月18日 21点07分 2
**我三楼被吞了吗[喷]
2017年07月18日 22点07分
接7楼[喷]
2017年07月18日 22点07分
level 6
梁山上 楼主
};
2017年07月18日 21点07分 4
level 6
梁山上 楼主
通宵敲了一晚上。。我去睡觉了。。。[懒得理]
2017年07月18日 21点07分 5
level 7
[真棒][真棒]厉害。。
2017年07月18日 22点07分 6
[懒得理]
2017年07月19日 04点07分
level 6
梁山上 楼主
ce = rand() /123454321% 3 + 1; //头文件是stdlib.h
if (ge != 49 && ge != 50 && ge != 51) {
printf("调皮,再给你个机会输入123!\n");
continue;
} else if (ge == '0')
break;
clrscr();
czhh(ge);
sf = cqpd(ce, ge);
jgjm(sf, ce);
if (sf == 1)
sjs++;
getch();
clrscr();
cqjm();
zjs++;
};
clrscr();
puts("游戏结束!\n");
puts("***************************\n");
puts("你的成绩:\n");
printf("总对战局数:%.0f\n", zjs);
printf("胜利局数:%.0f\n", sjs);
printf("胜率:%0.2f%%\n", sjs / zjs);
puts("***************************\n");
puts("欢迎再来玩~!再见!");
return 0;
};
2017年07月18日 22点07分 7
楼主棒棒哒~提示语很有意思啊.不过要是把主函数放前面,循环再模块化精简一点就好了,有点晃眼...
2017年07月19日 05点07分
@mimano 好的,我会注意这个问题的,这就是新手的毛病啦[吐舌]
2017年07月19日 06点07分
@梁山上 多练练,这也不算是毛病的,代码风格的嘛.不过你注释写的确实规范[哈哈],我的代码很少注释,过一段时间就不知道自己怎么写的了...
2017年07月19日 13点07分
level 4
感觉把函数的位置和有些地方步骤的先后顺序调换一下会更直观
2017年07月19日 14点07分 8
level 4
2017年07月19日 15点07分 9
level 4
[狂汗]最后那点似乎忘记乘100了
2017年07月19日 15点07分 10
[惊哭]发现了
2017年07月20日 06点07分
level 9
#include<stdio.h>
int x;
int t;
int a=0;
int b=0;
int c=0;
void xz();
void caiq();
int main()
{
for(int vc=1;vc<=188;vc++)
{
printf("请输入你想猜想\n");
printf("1.布 2.石头 3.剪刀\n");
scanf("%d",&x);
if(x==1)
{
printf("你出了布✋\n");
caiq();
if(t==0)
{
printf("平局\n");
++b;
}
else if(t==1)
{
printf("你赢了\n");
++a;
}
else if(t==2)
{
printf("你输了\n");
++c;
}
}
else if(x==2)
{
printf("你出了石头✊\n");
caiq();
if(t==0)
{
printf("你输了\n");
++c;
}
else if(t==1)
{
printf("平局\n");
++b;
}
else if(t==2)
{
printf("你赢了\n");
++a;
}
}
else if(x==3)
{
printf("你出了剪刀✌\n");
caiq();
if(t==0)
{
printf("你赢了\n");
++a;
}
else if(t==1)
{
printf("你输了\n");
++c;
}
else if(t==2)
{
printf("平局\n");
++b;
}
}
else
{
printf("对不起ಥ_ಥ,选择错误\n");
}
xz();
}
return 0;
}
void caiq()
{
srand(time(0));
t=rand()%3;
if(t==0)
{
printf("对方出了布✋\n");
}
else if(t==1)
{
printf("对方出了石头✊\n");
}
else if(t==2)
{
printf("对方出了剪刀✌\n");
}
}
void xz()
{
printf(".............");
printf("赢%d,平局%d,输%d",a,b,c);
printf("............\n");
}
2017年07月20日 08点07分 11
level 9
本想用c++编的,但看上面用的是c语言所以我就用c语言了[呵呵]
2017年07月20日 08点07分 12
膜拜大神[真棒]
2017年07月20日 19点07分
level 9
花了我20分钟
2017年07月20日 08点07分 13
level 4
tcc真宽容。而且不能退出吧,胜利条件的判断没楼主灵活。关键是玩了188次还想玩怎么办?@圣盟决战
2017年07月20日 20点07分 14
懒得设置了
2017年07月21日 07点07分
判断条件是随机数,可能是手机系统原因
2017年07月21日 07点07分
解决这问题方法就是将随机数范围加大,然后把判断范围加大就行了
2017年07月21日 07点07分
花不到20分钟编的,有漏洞正常[滑稽]
2017年07月21日 07点07分
level 4
2017年07月20日 20点07分 15
level 9
2017年07月21日 07点07分 16
1 2 尾页