电脑随机生成一个0~9999之间的整数,若为23,则记为0023。玩家去猜,电脑将对玩家的答案做个评价,然后玩家再按电脑的评价重新猜,一共8次机会,猜对为赢。

比如:

电脑随机生成7859,若玩家第一次输入:1234,程序返回0A0B,A代表数字和位置都猜对,B代表数字猜对,但位置不对。

若玩家第二次输入:5678,则返回0A2B,因为78都是原整数中的,但是位置不对。

若玩家第三次输入:0896,则返回1A1B……

依次,直至玩家输入7859,返回4A0B并终止程序。

记住,只有8次机会哦。

#include<iostream>
#include<ctime>
#define MaxIndex 10000
using namespace std;

//产生随机数
int Random() {
    srand((unsigned)time(NULL));
    int index = (int)rand() % MaxIndex;
    return index;
}

//赋值
void fuzhi(int *A,int x) {
    for (int i = 0; i < 4; i++) {
        int m = pow(10, 3 - i);
        A[i] = x / m;
        x = x%m;
    }
}

//转换char到int
void Change(char *A, int *B) {
    for (int i = 0; i < 4; i++) {
        *(B + i) = (int)(*(A + i))-48;
    }
}
//判断答案
int judge(int *A, int *B) {
    int a = 0, b = 0;
    for (int i = 0; i < 4; i++) {
        if (*(A + i) == *(B + i)) {
            a++;
        }
        else {
            for (int j = 0; j < 4; j++) {
                if (*(A + i) == *(B + j)) {
                    b++;
                }
            }
        }
     }
    cout << a << "A" << b << "B" << endl;
    return a - b;

}
int main() {
    int standard[4], index,answer[4];
    char B[4];
    index = Random();
    fuzhi(standard, index);
    cout << index;

for (int i = 0; i < 8; i++) {
        cout << "你共有八次机会";
        cout << "请输入你的答案:";
        for (int j = 0; j < 4; j++) {
            cin >> B[j];
        }
        Change(B, answer);
        if (judge(standard, answer) == 4) {
            cout << "恭喜你答对了!";
                break;
        }
        else {
            cout << "抱歉,你的答案错误!";
        }

}
    cout << "程序运行结束\a";
    system("pause");
    return 0;
}

C++猜数字(文曲星游戏)相关推荐

  1. 【小游戏】Random实现猜数字小游戏

    Random Java提供好的API,内部提供了产生随机数的功能 public class RandomTest {public static void main(String[] args) {// ...

  2. 1.12 实例:猜数字小游戏

    猜数字是一个经典的小游戏,程序先产生一个随机数,然后用户输入数字,程序将输入的数字与随机数进行对比,给出用户相应的提示信息. 本节实现了一个基于 IO 流的猜数字游戏,游戏中限制玩家游戏次数,游戏试玩 ...

  3. 利用JavaScript写猜数字小游戏

    要求:  在页面中写一个猜数字的游戏:  要求:   1)生成0~100之间的随机数,让用户猜   2)输入错误需要提示,并让用户重新输入   3)输入正确,提示正确,并询问是否继续游戏 结果如下: ...

  4. 第三次学JAVA再学不好就吃翔(part28)--猜数字小游戏

    学习笔记,仅供参考 面向对象 猜数字小游戏 随机生成一个1 ~ 100之间的数,我来猜是几: import java.util.Scanner;class GuessNumTest {public s ...

  5. 【iVX 初级工程师培训教程 10篇文拿证】03 事件及猜数字小游戏

    目录 [iVX 初级工程师培训教程 10篇文拿证]01 了解 iVX 完成新年贺卡 [iVX 初级工程师培训教程 10篇文拿证]02 数值绑定及自适应网站制作 [iVX 初级工程师培训教程 10篇文拿 ...

  6. java 做猜数字小游戏_Java Properties类:利用Properties类制作猜数字小游戏

    在学习Random类时我们制作过猜数字小游戏,学习了Properties类后,可以为此游戏添加保存得分记录功能 游戏规则: 玩家可以选择玩游戏还是查看得分 玩游戏: 首先玩家需要选择难度: 难度级别 ...

  7. 19.猜数字的游戏:随机生成数字与输入数字进行比较

    编程题目: 19.设计一个猜数字的游戏.数字为50-150之间的一个整数,由程序随机生成,程序使用者在键盘上输入数字,程序将输入的数字与被猜的数字作比较,给使用者提示信息(输入数字比被猜的的数字小,提 ...

  8. 猜数字小游戏(随机生成’三剑客‘)

    大家好,我是一只励志要翻身的小牛,废话少说,下面就给大家介绍第一个C语言小游戏--猜数字小游戏! 文章目录 一.游戏规则 二.效果展示 三.游戏设计思路 四.游戏交互界面 1.创建游戏菜单 2.创建游 ...

  9. C++猜数字小游戏1.0.1版猜数字1.1---国庆特版(双人战斗版)

    (回忆上一篇开头--) 国庆在家,你觉得无聊吗???                                                                          ...

  10. 带登录页面的猜数字小游戏

    本内容包含:登录页面+注册页面+猜数字小游戏页面 登录页面:手机号+密码+校验码+随机校验码+登录按钮+注册 注册页面:手机号+密码+密码确认+注册按钮 游戏页面:标题(提示框)+输入框+猜一下+重置 ...

最新文章

  1. 毕业后五年之内将决定你的一生
  2. 【组队学习】【34期】阿里云天池在线编程训练营
  3. docker学习实践之路[第五站]mysql镜像应用
  4. java 流换行符_【求大神】如何读取含换行符的缓冲流文件
  5. C# 文件保存到数据库中或者从数据库中读取文件
  6. 关于解决DevExpress用DevExpress patch工具破解后经常弹出试用框的问题
  7. 【k8s学习笔记】第二篇:在Ubuntu系统中安装kubelet,kubeadm和kubectl
  8. 项目中CI缓存适配器的使用
  9. Flash开发iOS应用全攻略(三)——如何使用iOS开发者授权以及如何申请证书
  10. nginx工作原理:
  11. 2022甘肃省安全员C证特种作业证考试题库及模拟考试
  12. 卡方检验有哪些指标?卡方值怎么计算?
  13. 富文本带图片导出word
  14. 伸缩式工具刀行业调研报告 - 市场现状分析与发展前景预测
  15. 计算机mac地址的字节数,mac地址如何查询
  16. SPSS学习笔记 -- 独立样本t检验
  17. iOS常用方法——WKWebView缓存清理的实现
  18. 小样本学习数据集||Omniglot和miniImagenet||MAML算法测试
  19. FFmpeg音频解码-音频可视化
  20. 【NOI2015】BZOJ4199品酒大会题解(SAM+树形DP)

热门文章

  1. 只有程序猿才能看懂的段子,不笑你拿小拳拳捶我!!!
  2. IDEA+Gradle搭建Spring Boot项目
  3. COOC9.94一款用于文献计量和知识图谱绘制的软件
  4. JSF 的el表达式语言
  5. golang vendor目录
  6. CyanogenMod ROM 首次官方兼容小米
  7. 简单线性回归R和Python预测身高体重国内生产总值二氧化碳排放量
  8. HCIA-USG Security Policy
  9. 使用TestCafe进行UI测试
  10. error CS0234: 命名空间“XXX”中不存在类型或命名空间名“MVC”(是否缺少程序集引用?)