让我爽玩一节课的猜数游戏!

最近刚学了C语言,闲来无事,在刷b站时无意中发现了一个猜数游戏的视频,于是我将其改进,并加入了自己的理解,创造了一款猜数游戏plus。本游戏可以自行选择是自己猜计算机随机生成的数还是让计算机猜自己想的数。本套代码适用于C语言新手用来模仿和学习,可能还有少许的bug,望各位大佬发现后能够给我指出来!

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define ye "\033[33m"
#define re "\033[0m"

int main() {
    srand(time(0));
    int x = 0;
head:
    printf("请选择你想要进行的游戏。\n输入1你来猜我的数字,输入2我来猜你的数字。\n注意,请勿输入数字以外的内容,否则后果自负。\n");
    scanf("%d", &x);
    if (x == 1) {
        while (1) {
            printf("我的朋友,我们来van个游戏吧!猜一猜我心里想的数字是多少!\n");
            int x;
            int n = rand() % 100;
            int i;
            for (i = 8; i > 0; i--) {
                int c = i - 1;
                scanf("%d", &x);
                if (x > n) {
                    printf(ye "大了!" re "小子,你还有%d次机会!\n", c);
                } else if (x < n) {
                    printf(ye "小了!" re "小子,你还有%d次机会!\n", c);
                } else {
                    printf("噢我的上帝啊,这个聪明的家伙居然真的猜中了!\n");
                    break;
                }
                if (c == 0) {
                    printf("呵呵,你已经没机会了。\n");
                    goto head;
                }
            }
        }
    } else if (x == 2) {
        int begin = 0, target, g, lower = 0, upper = 101;
        while (1) {
        agin:
            printf("请预想一个1到100之间的正整数,输入114514开始游戏。\n");
            scanf("%d", &begin);
            if (begin == 114514) {
                int i;
                lower = 0;
                upper = 101;
                for (i = 10; i > 0; i--) {
                    int c = i - 1;
                    int number = rand() % (upper - lower) + lower;

                    if (c > 0) {
                        printf("爷还有%d次机会。爷猜你想的数是:%s%d%s\n", c, ye, number, re);

                        printf("大了还是小了??(0代表爷猜小了,1代表爷猜对了,2代表爷猜大了):");
                        scanf("%d", &g);

                        if (g == 0) {
                            lower = number + 1;
                        } else if (g == 1) {
                            printf("爷猜对了吧,快来夸夸爷~\n");
                            break;
                        } else if (g == 2) {
                            upper = number;
                        } else {
                            printf("看得懂汉字吗?建议严查祖上三代。请输入0、1或2。\n");
                            break;
                        }

                        if (lower >= upper) {
                            printf("你丫玩我呢?你让我猜毛啊!\n");
                            break;
                        }
                    } else if (c == 0) {
                        printf("爷输了,damn!\n");
                        goto head;
                    }
                }

            } else {
                printf("不想玩了是不是?\n");
                goto agin;
            }
        }
    } else {
        printf("无效输入,请你认真一点。\n");
        goto head;
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值