C基础--猜数字游戏(图形界面由MFC完成)

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

void generate(char computer[])
{
    int i = 0, j, t;

    srand(time(NULL));
    while (i < 4) {
        t = rand() % 10 + ‘0‘;
        for (j = 0; j < i; ++j)
            if (t == computer[j])
                break;
        if (j == i) {
            computer[i] = t;
            ++i;
        }
    }
}

int is_valid(char man[])
{
    int i, j;

    if (!(isdigit(man[0])
                && isdigit(man[1])
                && isdigit(man[2])
                && isdigit(man[3])
                && man[4] == ‘\0‘))
        return 0;
    for (i = 0; i < 3; ++i)
        for (j = i + 1; j < 4; ++j)
            if (man[i] == man[j])
                return 0;
    return 1;
}

int compare(char man[], char computer[])
{
    int i, j, a = 0, b = 0;
    for (i = 0; i < 4; ++i)
        for (j = 0; j < 4; ++j)
            if (computer[i] == man[j] && i == j)
                ++a;
            else if (computer[i] == man[j])
                ++b;
    if (a == 4) {
        printf("YOU BET\n");
        return 1;
    }
    if (a == 0 && b == 0) {
        printf("0000\n");
        return 0;
    }
    while (a > 0) {
        putchar(‘A‘);
        --a;
    }
    while (b > 0) {
        putchar(‘B‘);
        --b;
    }
    putchar(‘\n‘);
    return 0;
}

int usr_input(char array[])
{
        printf("Please input four different letters:\n");
        if (scanf("%s", array) != 1) {
            printf("Unkown error!\n");
            return 1;
        }
        return 0;
}
void exit_output(char computer[])
{
        printf("The answer is: %c%c%c%c\n", computer[0], computer[1], computer[2], computer[3]);
}
void err_output(char str[])
{
        printf("%s\n", str);
}
int main(void)
{
    char computer[100];
    char man[100];
    generate(computer);
    while (1) {
        usr_input(man);
        if ((strcmp(man, "EXIT") == 0) || (strcmp(man, "exit") == 0)) {
            exit_output(computer);
            return 0;
        }
        if (!is_valid(man)) {
            err_output("Invalid input!");
            continue;
        }
        if (compare(man, computer))
            return 0;
    }
}
时间: 2024-10-06 03:06:45

C基础--猜数字游戏(图形界面由MFC完成)的相关文章

Python3基础学习-while循环实例- 猜数字游戏

需求: 猜数字游戏, 要求如下: 给个数字, 比如是66. 让用户一直猜,直到猜对退出. 中间输入q或Q也能退出 如果猜大了,提示用户猜小一点; 如果猜小了,提示用户猜大一点; likely = 66 while True: guest_num = input("请输入你猜测的数字[q|Q退出]: ") if guest_num.upper() == "Q": break elif int(guest_num) > likely: print("你猜

用MFC完成一个简单的猜数字游戏: 输入的四位数中,位置和数字都正确为A,数字相同而位置不同的为B。

最近学习了MFC一些比较基础的知识,所以打算通过做一个简单的数字游戏来理解MFC的流程并进一步熟悉其操作. 在这里,我做了一个猜数字的小游戏.第一步当然是设计主界面,先给大家展示一下游戏界面: 主界面: 从这个主界面可以看到,它包含标题,菜单栏,工具栏. 标题是给人一个认识,这是什么游戏,标题设置为:“猜数游戏”: 而菜单栏和工具栏才是游戏的核心,它要保证能够完成游戏的基本功能. 菜单栏和工具栏是对应的,包含了”start“,"help","restart"这三个菜

原创Android游戏--猜数字游戏V1.1 --数据存储,Intent,SimpleAdapter的学习与应用

--------------------------------------------------------------- V0.1版本 上次做完第一个版本后,发现还有一些漏洞,并且还有一些可以添加的功能,以及一些可改进的地方,于是准备继续完善此游戏,顺便学Android了. 本次更新信息如下: 1.改正了随机数生成算法,更正了不能产生数字'9'的bug 2.增加了数据存储与IO的内容,使用了SharedPreferences保存数据 3.保存数据为: 总盘数,猜中的盘数 4.使用了Simp

编写一个猜数字游戏

编写一个程序,实现猜数字游戏,计算机随机产生一个数,输入猜的数,与计算机随机产生的数进行比较,当猜的数大于随机产生的数,给出提示猜的数过大,反之,给出提示猜的数太小.下面是具体的程序: #include <stdio.h> #include <stdlib.h> #include <time.h> void fun()        //定义fun函数,说明游戏的具体操作 {     int a=0;     int ret=rand()%100;           

实验三 Java猜数字游戏开发

课程:Java实验   班级:201352     姓名:程涵  学号:20135210 成绩:             指导教师:娄佳鹏   实验日期:15.06.03 实验密级:         预习程度:             实验时间: 仪器组次:          必修/选修:选修          实验序号:3 实验名称:     Java猜数字游戏开发 (姬梦馨.程涵小组) 一.实验目的与要求: 通过编写Java的应用系统综合实例——猜数字游戏,总结.回顾和实践面向对象的编程思想

【python小练习】简单的猜数字游戏

简单的猜数字游戏 前两天在论坛回答问题时候,看到一个猜数字的游戏,就在原来的基础上改了一下,玩一玩. 此程序,数字范围和尝试次数是事先设定好的,当然可以通过代码修改.经过测试,由于难度过大,我在其中加入的作弊功能,聪明的你一定能发现啦~ 代码思路: 随机生成初始数 random.randint() 循环限制尝试次数 将输入的数与初始数进行比较,并输出比较结果 经过不断尝试,相等后会下载一张暴漫的图片,暴漫的图片分两种 imglist = re.findall('data-original-ima

python3+pyQt5+QtDesignner实现窗口化猜数字游戏

描述:使用QtDesignner设计界面,pyQt5+python3实现主体方法制作的猜数字游戏. 游戏规则:先选择游戏等级:初级.中级.高级.魔鬼级,选择完游戏等级后点击“确定”,然后后台会自动生成一个与游戏等级匹配的“神秘数字”,游戏玩家在文本框内输入数字,再点击文本框旁边的“确定”,即可比较玩家所猜数字是否就是“神秘数字”. 游戏界面: 源代码: 代码1:guessNumberGame.py (界面代码) 1 # -*- coding: utf-8 -*- 2 3 # Form imple

JavaScript一个猜数字游戏

效果图: 代码: <body> <script type="text/javascript"> window.onload = newgame; //页面载入的时候就开始一个新的游戏 window.onpopstate = popState; //处理历史记录相关事件 var state,ui; //全局变量,在newgame()方法中会对其初始化 function newgame( playagin ){ //开始一个新的猜数字游戏 //初始化一个包含需要的文

猜数字游戏及rand()函数

#include<stdio.h>#include<stdlib.h>int main() { short number; short guess=0; number=rand()%100; number++; printf("猜数字游戏\n"); printf("该数字在1到100之间\n"); while(guess!=number) { printf("请你输入所猜数字:"); scanf("%hd&quo