C语言猜数字升级版

2023-12-13 16:44:07
  • 题目概述

猜数字是一种益智游戏,既可以两个人一起玩,也可以与电脑一起玩。现在我们需要将这个游戏移到电脑上,让电脑与我们一起玩猜数字游戏.

  • 需求分析
  1. 用户输入:确定用户输入的数据是否正确
  2. 游戏过程:保证计算机能正确选定一个随机数字,并能够正常与用户互动
  3. 次数限制:让计算机能够一直让用户猜测下去,直到用户回答正确
  4. 结果输出:确保用户的答案是否计算机提供的随机数相等
  • 总体设计
  1. 主函数:负责程序的主要运行,包括用户输入,游戏过程,输出结果
  2. 随机数生成:一个函数负责指定范围内的随机数
  3. 判定:一个函数负责处理用户的输入并判定
  4. 输出:负责输出游戏结果

原版猜数字可以看之前文章这里就不作过多的展示。

我们这里主要就都了两个点,

  1. system;c语言中的system()函数主要用于发出一个DOS命令,该函数已经收录在标准c库中,可以直接调用。使用时包含头文件<stdlib.h>.shutdown -s -t关机指令.
  2. 爱心的打印:printf ("%*s", 10, s); //意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf ("%10s", s);?%.*s: *用来指定宽度,对应一个整数.然后在网上搜的参数,去实现的爱心
  3. 关机就不做演示了,源代码直接放下面了
  4. #include<stdio.h>
    #include<time.h>
    #include<string.h>
    #include <stdlib.h>
    void CJ()
    { ??
    int n = 0;
    printf(" ????????请选择 ???????\n");
    printf("*****1.()*******2.()***\n");
    printf("***********************\n");
    printf("***********************\n");
    printf("*****3.()*******4.()***\n");
    printf("***********************\n");
    scanf_s("%d", &n);
    switch (n)
    {
    case 1:
    printf("遗憾关机吧你\n");
    system("shutdown -s -t 0");
    break;
    case 2:
    printf("遗憾关机吧你\n");
    system("shutdown -s -t 0");
    break;
    case 3:
    printf("欧皇啊,让你在玩一次\n");
    break;
    case 4:
    printf("遗憾关机吧你\n");
    ???????????????????????????system("shutdown -s -t 0");
    ???????????????????????????break;
    }
    ?
    }
    void GC()
    {
    char a[] = "conjjgratulations on your success!conjjgratulations on your success!";
    printf("\n\n\n");
    printf("%*.*s\n", 58, 21, "**********");
    printf("%*.*s\n", 61, 25, "conjjgratulations on your success!");
    printf("%*.*s\n", 63, 29, "conjjgratulations on your success!");
    printf("%*.*s\n", 65, 33, a);
    printf("%*.*s\n", 66, 35, a);
    printf("%*.*s\n", 66, 35, a);
    printf("%*.*s\n", 65, 33, a);
    printf("%*.*s\n", 64, 31, a);
    printf("%*.*s\n", 63, 29, a);
    printf("%*.*s\n", 61, 25, a);
    printf("%*.*s\n", 59, 21, a);
    printf("%*.*s\n", 57, 17, a);
    printf("%*.*s\n", 55, 13, a);
    printf("%*.*s\n", 53, 9, a);
    printf("%*.*s\n", 51, 5, a);
    printf("%*.*s\n", 50, 3, a);
    printf("%*.*s\n", 49, 1, a);
    ?
    }
    ?
    void menu()
    {
    printf("***********************\n");
    printf("*****1.play 0.exit*****\n");
    printf("***********************\n");
    }
    void game()
    {
    int ret = 0;
    int guess = 0;
    ret = rand() % 100 + 1;
    int i = 0;
    for(i=1;i<=5;i++)
    {
    printf("请猜数字:>");
    scanf_s("%d", &guess);
    if (guess > ret)
    {
    printf("猜大了\n");
    }
    else if (guess < ret)
    {
    printf("猜小了\n");
    }
    else
    {
    printf("猜对了\n");
    GC();
    break;
    }
    if (i == 5)
    {
    printf("5次都没猜出\n");
    printf("让你来抽奖,抽不中就关机\n");
    CJ();
    ?
    }
    ?
    ?
    }
    }
    int main()
    {
    int input = 0;
    srand((unsigned int)time(NULL));
    do
    {
    menu();
    printf("请选择>:");
    scanf_s("%d", &input);
    switch (input)
    {
    case 1:
    game();
    break;
    case 0:
    printf("退出游戏\n");
    break;
    default:
    printf("选择错误\n");
    break;
    }
    ?
    } while (input)

文章来源:https://blog.csdn.net/2301_80344616/article/details/134939642
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。