`
crispgm
  • 浏览: 26085 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

[2006-05-06]难得这么多时间用电脑,编了一个猜数字游戏

阅读更多
/*

* Guess number game
* Program: David Zhang ( Feb - 03 - 2008 )
* E-mail: Crispgm@gmail.com
* WARNING:
* This source file is distributed under GNU General Public Licence
* PLEASE READ IT CAREFULLY
*/

#include <cstdlib>
#include <ctime>
#include <iostream>

using namespace std;

void Generate( int *n );
bool IsExist ( int x, int *n );
void Compare ( int x, int *n, int index );

int main()
{
/* FOUR digit array generate by program */
int n[4] = { 0 }; 
/* player input this */
int in;
/* program use compare to compare with input */ 
int compare;
enum status{ WON, LOST, CONTINUE };

status gameStatus = CONTINUE;

cout << "Guess number V0.2\n";

Generate( n );
compare = n[0] * 1000 + n[1] * 100 + n[2] * 10 + n[3];

for( int i = 0; i < 8; i++ )
{
cout << endl << "Input what you guess: ";
cin >> in;
if( compare == in )
{
gameStatus = WON;
break;
}
Compare( in, n, i );
}

if( gameStatus == WON )
cout << "You won!" << endl;
else
cout << "You lost!" << endl;

return 0;
}

void Generate( int *n )
/* generate an array n */
{
int x, i = 0;
srand(time(NULL));

while( i < 4 )
{
x = rand() % 9 + 1;
if( !IsExist( x, n ) )
n[ i++ ] = x;
}

}

bool IsExist( int x, int *n )
/* This function is test where x is exist in array of n */
{

for( int i = 0; i < 4; i++ )
if( x == n[i] )
return true;

return false;
}

void Compare( int x, int *n, int index )
{
int A = 0, B = 0;
int c[4], temp;
c[0] = (int)( x/1000 );
temp = x - c[0] * 1000;
c[1] = (int)( temp/100 );
temp = temp - c[1] * 100;
c[2] = (int)( temp/10 );
c[3] = temp - c[2] * 10;

for( int i = 0; i < 4; i++ )
{
for( int j = 0; j < 4; j++ )
{
if( n[i] == c[j] ){
if( i == j )
A++;
else
B++;
}
}
}
cout << index + 1 << " "
<< c[0] << c[1] << c[2] << c[3]
<< " " << A << "A"
<< B << "B"
<< endl;

return;
} 
分享到:
评论

相关推荐

    c# 猜数字程序,界面和源码

    【标题】"C# 猜数字程序,界面和源码"揭示了这是一个基于C#编程语言开发的桌面应用程序,其主要功能是实现一个简单的猜数字游戏。在这样的程序中,用户与计算机进行互动,尝试猜测由计算机随机生成的一个特定数字。 ...

    FLOW-3D-v11-1-user-manual_难得的FLOW-3D原版手册_flow_flow3dv11user_flow

    另一个重要的知识点是FLOW-3D的物理模型,包括粘性流、湍流、热传递、化学反应等。例如,软件内置了多种湍流模型,如K-Epsilon模型、Realizable K-Epsilon模型等,这些模型可以帮助用户模拟不同尺度下的湍流效应。...

    MIPI C-PHY介绍,十分难得的资料

    C-PHY使用的是三相编码技术,能够在不牺牲太多数字供电领域的电流消耗的前提下,实现远超其物理信号转换速率的数据传输速度。同时,C-PHY的线性状态和编码示例清晰地表明了它是如何操作和达到如此高速传输率的。了解...

    机器猫--j2me游戏源码

    总的来说,这个“机器猫--j2me游戏源码”项目是一个宝贵的教育资源,它让我们有机会深入了解J2ME平台上的游戏开发流程和技术,对于想要学习移动游戏开发,尤其是J2ME技术的开发者来说,是一份难得的学习资料。...

    投资担保培训史上---非常难得.ppt

    投资担保培训史上---非常难得.ppt

    网络游戏-一种基于Cube算法的4D数字影片网络协同创作系统.zip

    这不仅优化了数据处理的性能,还确保了网络游戏在面对复杂4D场景时的实时性和交互性,让玩家的每一个动作都能得到及时和准确的反馈。 在网络协同创作方面,这一系统的设计使得远程团队成员可以实时共享和编辑游戏...

    多难得好东西---多路温度巡检仪软件

    《多难得好东西---多路温度巡检仪软件详解》 多路温度巡检仪软件是一种先进的工业自动化设备监控工具,专为实时监测和记录多个温度测量点而设计。在工业生产、实验室环境以及各种温度敏感领域,这种软件发挥着至关...

    方正卓越T150-3020家用电脑

    从每一个细节的设计到内部配置的选择,这款电脑都充分展现了方正作为家用电脑领域领先者的专业水准和对用户需求的深刻洞察。这款电脑不仅是一件家用电器,更是连接家人情感和娱乐生活的纽带,它为现代家庭带来了...

    cocos2d-x游戏源码横版游戏源码仙落凡尘

    在游戏开发领域,cocos2d-x是一个广泛使用的开源跨平台2D游戏引擎,它基于C++,支持多种操作系统,如iOS、Android、Windows等。这款引擎以其高效、灵活和丰富的特性深受开发者喜爱。本文将围绕“仙落凡尘”这一横版...

    投资担保培训(史上最全---非常难得).pptx

    投资担保培训(史上最全---非常难得).pptx

    游戏开发精要 -- 游戏测试

    《游戏开发精要—游戏测试》一书由Luis Levy和Jeannie Novak共同撰写,是游戏开发领域中难得的专业性书籍,专注于游戏测试这一环节。本书由Delmar出版社出版,隶属于Cengage Learning,一家全球知名的定制化学习解决...

    2006-2016美赛赛题及知识点整理.pdf

    最后,文件中提及的数学建模平台“数学中国”提供了一个专业的数学建模讨论和资源下载的环境,对于参赛者来说,这是一个难得的学习和交流的机会。通过数学中国平台,参赛者不仅可以下载到赛题和相关资料,还可以参与...

    开源1000款嵌入开发板资料光盘免费下载---非常难得

    在IT领域,嵌入式系统开发是至关重要的一个部分,涉及到单片机、ARM、DSP和FPGA等技术。这些技术广泛应用于各种设备,从消费电子产品到工业控制系统,无处不在。下面,我们将深入探讨这些关键知识点。 首先,单片机...

    API函数入门教程---难得一见好资料

    - API函数可能会返回一个值,表示函数执行的结果。 - 返回值类型同样多样,可能为布尔值、整数或其他类型。 #### 七、API调用注意事项 - **别名使用**: - 当API函数在不同版本的DLL中有不同的实现时,可以使用...

    电脑报2006年合订本纯文字版(CHM)

    综合来看,《电脑报2006年合订本纯文字版(CHM)》不仅是那个时代计算机爱好者的学习宝库,对于今天的我们来说,它更是一份难得的资料,帮助我们回顾过去,理解当代技术的发展,以及展望未来科技的可能走向。...

    小游戏-sha死敌方控制台

    对于那些志在成为游戏开发者的玩家而言,这无疑是一个难得的学习资源。 综上所述,"小游戏-sha死敌方控制台"不仅仅是一款游戏,它还提供了探索、发现和学习的机会。游戏以其简洁的控制台界面和操作,让玩家可以快速...

    数字图像实用工程案例精选--源码

    值得注意的是,本书中的“chap1”到“chap8”很可能分别代表了书籍的不同章节,每个章节都可能对应着一个或多个上述技术主题,并且提供了相应的源代码。这些源码不仅包含了算法的实现,还可能包括了如何使用这些代码...

    两款定时提醒休息工具-IT人士必备

    无论你是个整天黏在肥皂剧前的宅人还是坐电脑面前的白领,一个澳大利亚的研究表明每坐一个小时经过短暂休息可以减轻上面提到的危害。短暂休息不是指去健身,虽然健身有其好处,但是对于抵消久坐危害却没有多少帮助。...

Global site tag (gtag.js) - Google Analytics