| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7493 人关注过本帖, 1 人收藏
标题:猜数字小游戏简单源代码
取消只看楼主 加入收藏
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏(1)
 问题点数:0 回复次数:4 
猜数字小游戏简单源代码
猜数字小游戏简单源代码,闲着无聊写的菜代码,很垃圾
也是纯粹练习一下手工高亮代码而已
// header file
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

// define var-type
typedef const char* PCSTR;
typedef PCSTR const CPCSTR;

// define read-only variables
#define ERROR_INPUT 0x80000000
CPCSTR INFO_ERROR = "对不起,您输入的数字不对,请重新输入:";
CPCSTR INFO_SPLIT = "******************************************************";
CPCSTR INFO_INPUT = "请您输入一个数字:";
CPCSTR INFO_GAME = "您好,现在请您猜一个1000以内的整数。\n您有%d次机会,每次您猜错了,系统会提\n示您猜得大了或者小了。祝您玩得愉快!\n";
CPCSTR INFO_FAIL = "您好,您的次数已到!";
CPCSTR INFO_QUIT = "请问您还想继续玩吗?是请按1:";
CPCSTR INFO_TIMES= "这是您第%d次猜数,结果是";
PCSTR INFO_GUESS[3] = {
   
"您输入的数字太小,请继续猜。",
   
"您猜对了!恭喜!",
   
"您输入的数字过大,请继续猜。",
};

// get the sign of the integer
int sgn(int n)
{
   
if(n==0) return 0;
   
else return n>0?1:-1;
}

// input a integer
int InfoGetInt(PCSTR str)
{
   
int n;
   
puts(str);
   
if (scanf("%d", &n)==1) return n;
   
else
   
{
        
while(getchar()!='\n');
        
return ERROR_INPUT;
    }
}

// game start function,
// int _nChance : how many chances to guess
int GameStart(int _nChance)
{
   
int nNum = rand() % 1000 + 1;
   
int n = 1, nChance = _nChance;
   
for ( ; n && nChance>0; --nChance) // loop while nChance>0
   
{
        
n = InfoGetInt(INFO_INPUT);
        
while (n<1 || n>1000) // check input
        
{
            
n = InfoGetInt(INFO_ERROR);
        }
        
n = sgn(n-nNum);
        
printf(INFO_TIMES, _nChance - nChance + 1);
        
puts(INFO_GUESS[n+1]);
    }
   
return nChance;
}

// main function
int main(void)
{
   
int nChance = 20;
   
// output infomation about the game
   
printf(INFO_GAME, nChance);
   
puts(INFO_SPLIT);
   
srand(time(NULL)); // randomize
   
do // loop input test
   
{
        
if (GameStart(nChance) == 0) puts(INFO_FAIL);
        
puts(INFO_SPLIT);
        
// is exit program
   
}while(InfoGetInt(INFO_QUIT)==1);
   
return 0; // must be null
}
[color=#FFFFFF]

[[it] 本帖最后由 雨中飞燕 于 2008-2-4 03:30 编辑 [/it]]
搜索更多相关主题的帖子: 源代码 小游戏 数字 include 垃圾 
2008-02-04 03:10
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
现在我作出一个决定:以后在这里发完整代码要保证除TC外的C/C++编译器均能通过;
但要TC无法正常通过,既使通过编译也运行不正常
2008-02-04 16:21
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
[bo]以下是引用 [un]死了都要C[/un] 在 2008-2-11 12:36 的发言:[/bo]

TC是16位是吧```
手工高亮代码  是怎么弄的``好好看``
看起来也好舒服``

容易学吗``

你愿意每次发帖子之前先花1小时手工高亮一段50行左右的代码不?
还是愿意花一天(或者几天)预先写一个自动添加高亮代码的软件,
然后每次发帖子都高亮呢?
2008-02-12 01:36
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
我是菜鸟
2008-03-14 18:09
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
手工高亮没看出来?
2008-03-26 00:05
快速回复:猜数字小游戏简单源代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017561 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved