游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3018|回复: 3

初学者编写的猜字游戏!

[复制链接]

2

主题

4

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2006-6-3 22:54:00 | 显示全部楼层 |阅读模式
近来学了C++,所以应用所学编了一个猜字游戏,代码不是很规范,请见谅,希望大家多提提意见~
以下是源代码:
===============================
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#define N 4
int e=0,f=0,a,b=0,temp,num[N];
//e输出完全正确的数,f输出位置不同的正确数,temp用户输入数值,num[]产生(1~9)之间的数
void rex()
{
        if(num==temp)
        {
                e++;
       
        }
        if(num!=temp)
        {
        for(a=0;a<N;a++)
        {
                if(num[a]==temp)
                {
                        f++;
                        break;
                }
       
        }
        }

}
void main()
{
        int x;//输入次数
        char gex='Y';//是否继续
        while(gex=='y'||gex=='Y')
        {
                srand((unsigned)time(NULL));
                for(a=0;a<N;a++)
                {
                        num[a]=rand()%10;
                        if(num[a]==0)
                        {
                                num[a]+=1;
                       
                        }
                }

                printf("\t\tVC猜数字游戏\n");
                printf("\n\t\t用户需知!\n\n");
                printf("\t1.当位置与数值都正确,以xA表示\n\t2.当数值正确,数字位置不正确,以xB表示");
                printf("\n\t3.猜3次未猜中游戏结束!\n\t4.输入的数必须在1~9之间!\n");
                printf("\t5.输入数字以外的字符,将直接退出!\n");

                for(x=0;x<3;x++)
                {
                        e=0;
                        f=0;
                                printf("\n\t请输入(1~~9)4个数(空格隔开):");
                                for(b=0;b<N;b++)
                        {
                                scanf("%d",&temp);
                                if(temp>=10||temp==0)
                                {
                                        printf("输入错误,请重新输入!");
                                        b=b-1;
                                continue;
                                }
                                rex();
                        }
                                if(e==4)
                                {
                                        break;
                                }
                        printf("\n\t系统提示:%dA %dB\n\n",e,f);
                }
        if(e==4)
        {
                printf("\n\n\t恭喜过关!");
        }
        else
        {
                printf("\n\n\t继续努力吧!\n\t正确的数是:");
                for(a=0;a<N;a++)
                {
                printf("%d ",num[a]);
                }

        }
        printf("\n\n\t是否再来一局?(Y/N): ");
        fflush(stdin);
        scanf("%c",&gex);
        }

}       

======================================================

19

主题

148

帖子

148

积分

注册会员

Rank: 2

积分
148
QQ
发表于 2006-6-4 14:23:00 | 显示全部楼层

Re:初学者编写的猜字游戏!

一步步来,下次出个21点的~
这个我也写过

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
QQ
发表于 2006-6-6 17:56:00 | 显示全部楼层

Re:初学者编写的猜字游戏!

终于能看懂一些东西了,我好高兴。
我觉得在产生随机数的时候用num[a]=rand()%9+1更简洁

1

主题

4

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2006-6-20 11:08:00 | 显示全部楼层

Re:初学者编写的猜字游戏!

你这个随机数生成的数字会有重复的数字吧,那人家猜起来多累啊!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 19:20

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表