我也没事弄了一个.
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- //用来判定用户是否进行下次游戏.
- for(int again = 0;again == 0;)
- {
-
- //定义两个变量,用来储存电脑和人的出拳,
- int computer=0,person=0;
-
- //随机3个数字,用来当做电脑的出拳(因为个人不喜欢0,所以在得到0时会重新生成直到得到1,2,3).
- while (computer == 0) {
-
- computer = arc4random_uniform(4);
- }
-
- //提示用户输入相对应的数字用来表示想出的拳
- printf("请输入您想出的拳所对应的数字:\n1--剪刀\t2--石头\t3--布\n");
-
- scanf("%d",&person);
-
- //判定输入是否合法
- while(person >=4||person <= 0) {
-
- //提示用户输入相对应的数字,表示想出的拳
- printf("您的输入有误!\n请重新输入您想出的拳所对应的数字:\n1--剪刀\t2--石头\t3--布\n");
-
- scanf("%*c%d",&person);
- }
-
- //输出电脑所出的拳,以说明游戏的平衡机制
- if (computer==1) {
-
- printf("电脑出的是:剪刀\tPS:咔嚓咔嚓!\n\n");
-
- }else if (computer==2){
-
- printf("电脑出的是:石头\tPS:我很硬哦!\n\n");
-
- }else {
-
- printf("电脑出的是:布\tPS:来吧来吧!\n\n");
- }
-
- //一切准备就绪然后进行输赢比较及输出
- if (person==1&&computer==3) {
-
- printf("<<<<<<<<你赢了>>>>>>>>\n大哥!老弟错了,饶过我这次吧.您的<<剪刀>>太锋利了,您赢了!!!\n\n[呵呵,再来一次?(输入0继续,任意键结束)]\n");
-
- }else if (person==2&&computer==1){
-
- printf("<<<<<<<<你赢了>>>>>>>>\n我勒个去,我发誓刚刚是我大意了,你的<<石头>>太硬了 --!\n\n[呵呵,再来一次?(输入0继续,任意键结束)]\n");
-
- }else if (person==3&&computer==2){
-
- printf("<<<<<<<<你赢了>>>>>>>>\n难道这是命运?如果老天再给我一次机会的话,我一定能赢你出的<<布>>!!!\n\n[呵呵,再来一次?(输入0继续,任意键结束)]\n");
-
- }else if (person==1&&computer==2){
-
- printf("<<<<<<<<你输了>>>>>>>>\n呵呵,知道我的厉害了吧??就凭你的<<剪刀>>也想赢我???送你2个字:白日...做梦!\n\n[不服气?再来一次?(输入0继续,任意键结束)]\n");
-
- }else if (person==2&&computer==3){
-
- printf("<<<<<<<<你输了>>>>>>>>\n呵呵,跟你玩这个我都让你一个手的!就凭你的<<石头>>也想赢我???送你2个字:白日...做梦!\n\n[不服气?再来一次?(输入0继续,任意键结束)]\n");
-
- }else if (person==3&&computer==1){
-
- printf("<<<<<<<<你输了>>>>>>>>\n呵呵,你回去修炼一千年再来找我挑战吧!就凭你的<<布>>也想赢我???送你1个字:你...太嫩!\n\n[不服气?再来一次?(输入0继续,任意键结束)]\n");
-
- }else{
-
- printf("<<<<<<<<平手了>>>>>>>>\n骚年,看你年纪平平居然身手这么了得,居然跟我打个平手!\n\n[输入0继续,任意键结束.]\n");
- }
-
- //接收用户输入用来判定是否继续游戏
- scanf("%d",&again);
- }
- //game over...
- return 0;
- }
复制代码 |