文档库 最新最全的文档下载
当前位置:文档库 › C语言猜数游戏代码

C语言猜数游戏代码

C语言猜数游戏代码
C语言猜数游戏代码

#include

#include

#include

#include

int i;

long int rn();

void fun();

void gc();

int input(long int);

void grade(int);

int welcome();

int compare(long int,long int);

void choise(int *,int);

void main()

{

system("cls");

printf("\n\n\n\t\t* * * * * * * * welcome * * * * * * * *");

printf("\n\n\n");

printf("\t\t\tmaker: xiachao xiaoyuyan");

printf("\n\n\n\t\t\tuse enter to be continue");

getch();

fun();

}

void fun()

{

int b,s,g;

long int a;

system("cls");

s=welcome();

if(s==1)

{

system("cls");

a=rn();

b=input(a);

grade(b);

gc();

}

if(s==2)

{

system("cls");

printf("\n\n\n\n\n");

printf("\t

---------------------------------------------------------\n");

printf("\t|game rules: |\n");

printf("\t|

|\n");

printf("\t|input your number(10000--99999),it will compare to the |\n");

printf("\t|

|\n");

printf("\t|system's number(10000--99999),and the number doesn't have|\n");

printf("\t|

|\n");

printf("\t|same digit. |\n");

printf("\t|

|\n");

printf("\t|if your number as same as system,your win,else try again.|\n");

printf("\t|

|\n");

printf("\t ---------------------------------------------------------");

gc();

}

if(s==3)

{

printf("\n\n\t\t\tThanks for your using.\n");

printf("\t\t\t\tBye Bye!");

getch();

exit(0);

}

}

long int rn()

{

int b,d;

long int c;

unsigned long int a;

int array[5];

time_t t;

time(&t);

srand(t);

loop1:a=10000+rand() % 90000;

c=a;

for(i=0;i<5;i++)

{

array[i]=c%10;

c=c/10;

}

choise(array,5);

b=array[0];

for(i=1;i<5;i++)

{

if(b==array[i])

goto loop1;

else

b=array[i];

}

return a;

}

void choise(int *num,int n)

{

int j,k;

for(i=1;i

{

k=num[i];

j=i-1;

while((j>=0)&&(num[j]>k))

{

num[j+1]=num[j];

j--;

}

num[j+1]=k;

}

}

int compare(long int a,long int b) {

int c;

if(a>b)

{

printf("\t\t\tneed greater!");

printf("( >%ld )\n",b);

c=0;

}

if(a

{

printf("\t\t\tneed less!");

printf("( <%ld )\n",b);

c=0;

}

if(a==b)

{

printf("\t\t\tIt's true!\n");

c=1;

}

return c;

}

int input(long int a)

{

int c=0;

long int b;

printf("\n\n\n\n\n");

printf("\t\t\tplease input your number:\n");

printf("\t\t\tinput 0 back to main menu.");

loop2:printf("\n\t\t\ttimes %d:",c+1);

scanf("%ld",&b);

c++;

if(c>67)

{

printf("\t\tyou are lose!");

gc();

}

if(b==0)

fun();

else

if(compare(a,b)!=1) goto loop2;

return c;

}

void grade(int num)

{

int grade=0;

printf("\t\t\tyou use %d times\n",num);

if(num<4)

grade=100-10*(num-1);

else if(num<8)

grade=80-5*(num-3);

else if(num<68)

grade=60-(num-7);

printf("\t\t\tyour grade is %d",grade);

switch(num)

{

case 1:printf("\tyou are so lucky!!!");

break;

case 2:case 3:case 4:printf("\tlucky!");

break;

case 5:case 6:case 7:case 8:case 9:printf("\tgreat!");

break;

case 10:case 11:case 12:case 13:case 14:case 15:case 16:

printf("\tgood!");

break;

case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25: printf("\tjust so so.");

break;

default:

printf("\tmaybe you can better.");

}

}

int welcome()

{

int s;

printf("\n\n\n\n");

printf("\t\t********************************************\n");

printf("\t\t* *\n");

printf("\t\t* welcome paly the game! *\n");

printf("\t\t* *\n");

printf("\t\t* input 1: start the game *\n");

printf("\t\t* input 2: help information *\n");

printf("\t\t* input 3: quit the game *\n");

printf("\t\t********************************************\n");

printf("\t\tplease select: ");

scanf("%d",&s);

return s;

}

void gc()

{

int a;

printf("\n\n\t\tinput 1: quit the game;\tinput 2: back to menu.\n");

printf("\n\t\tplease select : ");

scanf("%d",&a);

if(a==1)

exit(0);

if(a==2)

{

system("cls");

fun();

}

if(a!=1&&a!=2)

{

printf("\t\tinput error!check your input!\n\n");

gc();

}

}

c猜数游戏源代码含登录等

c++猜数游戏源代码(含登录等) /* c++猜数游戏 游戏规则:用户有7/6/5次机会猜测0~99的随机数,猜中+10/20/40分,没猜中-10/20/40分。用户名、密码、分数被保存在文件中。 制作者:LH */ #include <iostream> #include <fstream> #include <string> #include <ctime> using namespace std; class Users { public: Users(); //构造函数,默认分数为0,用户个数为0,首次使用时建立一个文件 void zpm(); //主屏幕 private: void choose(); //选择 void logo();//主图 void dl(); //登录 void zc(); //注册 void yx_e(); //游戏_简单 void yx_m(); //游戏_中等 void yx_d(); //游戏_困难 void gxsj(); //更新数据 void choose_level();//选择级别 string name; //当前用户名 string mima; //当前密码 string rmima; //确认密码 int score; //当前分数 int num; //计数 int n; //用户的个数 int score0[50]; //用于查找、比较。下同。 string name0[50]; string mima0[50]; }; Users::Users()

{ score=0; num=0; ifstream infile("user.dat"); if(!infile) //如果打开失败,即文件不存在 { ofstream outfile("user.dat"); //建立此文件 outfile<<0<<'\n'; //默认用户个数为0 outfile.close(); } infile.close(); } void Users::zpm() { logo(); cout<<"游戏规则:\n1.您需要有您的用户名和密码才能登录,如果您是新用户,请注册。\n" <<"2.游戏开始后,系统将产生一个0~99的随机数,根据您的选择,您有7次或6次或5次的猜测机会。\n" <<"3.如果猜测错误,游戏将提示“大了”或“小了”。\n" <<"4.猜对了+10分或+20分或+40分;7次没猜到-10分或-20分或-40分\n\n祝您玩得愉快!\n\n"; choose(); //选择 } void Users::logo() { system("cls"); cout<<"*************************"<<endl; cout<<"* 猜数游戏 *"<<endl; cout<<"*************************"<<endl; cout<<endl; } void Users::choose() { int cho; cout<<"请输入序号进行选择:\n1.直接登录\n2.我先注册\n\n"; cout<<"请选择:"; do { cin>>cho; if(cho!=1&&cho!=2) cerr<<"您输入的序号有误!\n请重新输入:";

猜数字游戏代码C语言

猜数字游戏代码C语言 #include <stdio.h> #include <stdlib.h> #include <time.h> void fun() { static int gc,count,try_time; static int a[4],b[4],i,j,k=0,m=0,n=1,u,sumA=0,sumB=0,flag[10]={0}; srand(time(NULL)); count=4; try_time=10; for(i=0;i<count;i++) { int t; do { t=rand()%10; }while(i==0 && t==0);

if(flag[t]==0) { a[i]=t; flag[t]=1; } else i--; } printf("\n∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n"); printf("∽猜数游戏∽\n"); printf("∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n"); printf("∽1: 开始游戏∽\n"); printf("∽2: 查看上次成绩∽\n"); printf("∽3: 帮助信息∽\n");

printf("∽4: 系统设置∽\n"); printf("∽0: 退出游戏∽\n"); printf("∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n"); printf("请输入选择: "); scanf("%d",&n); if(n==0) { printf("\n\n感谢您的使用,游戏退出!\n"); exit(0); } if(n==2){ printf("\n\n上次的成绩为:%d\n",u); do { printf("输入0返回上级菜单:"); scanf("%d",&n); printf("输入错误!请重新输入!\n"); }while (n>0); {

猜数字游戏的VB代码

猜数字游戏的VB代码 本猜数字游戏的方法及规则: 系统自动生成一个四位数(四个数字没有重复),玩者需要猜中这个数字。玩者在四个文本框内输入四个数字,按“ENTER”后,如果猜对,则文本框变绿,本轮结束,按“CLEAR”进入下一轮。如果不对,则会在下面显示“xAxB”,其中“xA”表示有四个数字中有多少个数字是数字和所在位置都猜对的,“xB”表示有多少个数字猜对但是所在位置不对。比如,答案是“1234”,玩者猜“5432”,则显示“1A2B”,因为“3”猜对且位置也对,“4”猜对但位置不对,“2”猜对但位置不对。如果玩者猜“1324”,则显示“2A2B”;如果玩者猜“4567”,则显示“0A1B”;如果玩者猜“4256”,则显示“1A1B”,原因自己推。(四位数也可能是零开头。)最多猜错十次,如十次没有猜对,则游戏失败,本轮结束,按“CLEAR”进入下一轮。按“QUIT”可查看答案,同时本轮结束。各控件在界面上的布局如下:

Option Explicit Private Sub Command1_Click() '此为“确认”按钮。 If Form1.ForeColor <> vbMagenta Then If Command2.Enabled = False Then Dim keydig(1 To 4) As Integer, ansdig(1 To 4) As Integer Dim n, m, cnt_A, cnt_B As Integer, isappliable As Boolean Static count, keynum As Integer 'command按钮事件执行终,必须使变量count仍然残留。 Do If count = 0 Then '“count”变量计算Command1_Click执行的次数,每执行一次增加1。 Randomize keynum = Int(Rnd * (9876 - 123 + 1)) + 123 '生成一个四位随机整数。 End If '3rd

C语言程序课程设计猜数字游戏

C语言程序设计课程设计 : 自 动 化 级 : 名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2015年07月21日

一.引言 设计目的 复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。 设计要求 在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。最后认真完成课程设计说明书,并对设计方法,结果等进行总结。 充分地分析和理解问题本身,弄清要求做什么(What to do)。在确定解决方案框架过程中(How to do),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。 确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。 上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。 二.基础题 题目 用选择法对10个数进行排序。 有一个已排好序的数组。现输入一个数,要求按原来的规律插入到原数组中。解题思路 程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。 先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。 流程图 子函数流程图如图1所示:

猜数字游戏课程设计完整版

北京邮电大学世纪学院 实验、实习、课程设计报告撰写格式与要求 (试行) 一、实验报告格式要求 1、有实验教学手册,按手册要求填写,若无则采用统一实验报告封面。 2、报告一律用钢笔书写或打印,打印要求用A4纸;页边距要求如下:页边距上下各为厘米,左右边距各为厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。 3、统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。 4、实验报告中的实验原始记录,须经实验指导教师签字或登记。 二、实习报告、课程设计报告格式要求 1、采用统一的封面。 2、根据教学大纲的要求手写或打印,手写一律用钢笔书写,统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。打印要求用A4纸;页边距要求如下:页边距上下各为厘米,左右边距各为厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。

三、报告内容要求 1、实验报告内容包括:实验目的、实验原理、实验仪器设备、实验操作过程、原始数据、实验结果分析、实验心得等方面内容。 2、实习报告内容包括:实习题目、实习任务与要求、实习具体实施情况(附上图表、原始数据等)、实习个人总结等内容。 3、课程设计报告或说明书内容包括:课程设计任务与要求、总体方案、方案设计与分析、所需仪器设备与元器件、设计实现与调试、收获体会、参考资料等方面内容。 四、课内实践课报告撰写要求 1、大型作业类的按课程设计要求撰写; 2、带实习性质的按实习要求撰写; 3、其余的按实验要求撰写。 五、其它 由于存档的需要,所有报告必须双面打印,请教师做好把关工作。 北京邮电大学世纪学院

java猜数字游戏源代码

import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; class WindowButton extends JFrame implements ActionListener{ /** * */ private static final long serialVersionUID = 1L; int number; JTextField inputNumber; JLabel feedBack; JButton buttonGetNumber,buttonEnter; WindowButton(String s){ super("猜数字小游戏"); buttonGetNumber=new JButton("得到一个随机数"); feedBack=new JLabel("无反馈信息",JLabel.CENTER); feedBack.setBackground(Color.green); inputNumber=new JTextField("0",5); buttonEnter=new JButton("确定"); buttonEnter.addActionListener(this); buttonGetNumber.addActionListener(this); buttonGetNumber.addActionListener(this); Box boxH1=Box.createHorizontalBox(); boxH1.add(new JLabel("获取1-100之间的随机数:")); boxH1.add(buttonGetNumber); Box boxH2=Box.createHorizontalBox(); boxH2.add(new JLabel("输入您的猜测: ")); boxH2.add(inputNumber); Box boxH3=Box.createHorizontalBox(); boxH3.add(new JLabel("单击确定按钮: ")); boxH3.add(buttonEnter); Box boxH4=Box.createHorizontalBox();

人机猜数游戏C++程序代码

#include #include #include #include void makeNum(); void menu(); void game1(); void game2(); void print(); void change(int,int); int a[4]; int count=0,flag; void main() { menu(); } void makeNum() { int p; srand((unsigned)time(NULL)); p=rand()%9000+1000; for(int i=0,n=1000;i<4;i++) { a[i]=p/n; p%=n; n/=10; } } void menu() { int choice; cout<<"============菜单============= "; cout<<"\n 1:电脑出数字玩家猜"; cout<<"\n 2:玩家出数字电脑猜"; cout<<"\n 0:退出\n"; cout<<" 输入选择: "; cin>>choice; switch(choice) { case 1: game1(); break; case 2: game2(); break; case 0: exit(0);

} } void game1() { int num; int b[4]; makeNum(); cout<<" 电脑已出题,"; next:cout<<" 请玩家输入所猜想的四位数: "; count++; int count1=0,count2=0; cin>>num; for(int i=0,d=1000;i<4;i++) { b[i]=num/d; num%=d; d/=10; } i=0; while(i<4) { if(a[i]==b[i]) count1++; i++; } if(count1==4) { cout<<" 你猜对了!\n 所猜次数为:"<

猜数字游戏C语言代码

#include #include #include void fun() { static int gc,count,try_time; static int a[4],b[4],i,j,k=0,m=0,n=1,u,sumA=0,sumB=0,flag[10]={0}; srand(time(NULL)); count=4; try_time=10; for(i=0;i

flag[t]=1; } else i--; SSSSS \n"); prin tf(" s 猜 数 游 戏 s \n"); printf(" ssssssssssssssssssssssss ssss \n" printf(" s 1: 开 始 游 戏 s \n"); printf(" s 2: 查 看 上次 成 绩 s \n"); printf(" s 3: 帮 助 信 息 s \n"); printf(" s 4: 系 统 设 置 s \n"); printf(" s 0: 退 出 游 戏 s \n"); ssss \n" printf("\n sssssssssssssssssssssss printf(" ssssssssssssssssssssssss

printf(" 请输入选择: "); scanf("%d",&n); if(n==0) { printf("\n\n 感谢您的使用,游戏退出!\n"); exit(0); } if(n==2){ printf("\n\n 上次的成绩为:%d\n",u); do { printf(" 输入0 返回上级菜单:"); scanf("%d",&n); printf(" 输入错误!请重新输入!\n"); }while (n>0); { system("CLS"); fun(); } } if(n==3)

设计一个“猜数字”的游戏

《猜数字小游戏》教学设计 深圳市宝安区文汇中学:刘高强 一、课前系统部分: (一)教材分析 《猜数字小游戏》这一节内容是2009年深圳市电化教育馆编著的中小学信息技术初中版九年级下册第二单元第五个知识点的内容。本节课的主要知识点是掌握程序的分支结构,VB中常用的选择语句有两个:if语句和select case语句。要想编写这样的程序,需要用到这两种选择语句。这为后面的较难的程序的编写打下基础。 (二)学情分析 本节课的教学对象是初三学生,通过前几节课的学习,学生已经基本熟悉了VB编程环境,基本掌握了设计程序界面的操作方法。对于初三的学生来说,正是想象力丰富、朝气蓬勃的年纪,必定对本节课的内容充满兴趣,只要教师把握得当,一定能激发学生的学习热情,达到最好的教学效果。 (三)教学目标设计 1、知识与技能: (1)了解选择结构中的if语句的用法。 (2)窗体、文本框控件、按钮控件及标签控件属性的理解 2、方法与过程 (1)利用设计一个猜数字的游戏使学生了解分支结构程序的编写方法。 (2)利用设计一个猜数字的游戏加深学生对控件属性的的理解。 3、情感态度与价值观 培养学生严谨、一丝不苟的学习习惯。并在同学间的交流合作中,培养互助协作的能力和独立解决问题的能力。同时,也可以培养和提高学生的创新意识。 4、教学重点与难点 教学重点:分支结构语句的理解 教学难点:分支结构语句的理解 (四)教学方法 任务驱动法、自然分材法、多媒体课件教学 二、教学过程: (一)操作样例,进入本节主题 [学生]操作猜数小游戏,思考程序的做法。 [教师]提出问题,让学生利VB来设计该小游戏 (二)设计程序界面 1、打开visualbasic程序。 2、修改窗体的form1的属性。 (1)修改form1的caption的属性为“猜数字游戏——设计者:你自己的名字” 注意:修改窗体form1的属性,一定是先要选中窗体。 如下图:

猜数字游戏课程设计报告

学校 《C程序设计》 课程设计报告 设计题目:猜数字游戏 附录完整源代码 专业: 班级: 学生: 学号: 指导教师: 起止时间: xxx.x.x -xxx.x.x xxxx-xxxx年 xx 学期

录 1 、程序设计描述 1.1 程序设计目的: 1.2 程序设计要求: 1.3、猜数字游戏的简介: 2 、程序设计内容: 2.1、游戏主要框架图: 2.2、开始游戏框架: 2.3、最佳排行框架: 2.4、游戏操作说明模块: 2.5、退出游戏系统: 2.6、游戏系统总流程图: 3、猜数字游戏源代码: 3.1、void main()函数函数功能: 3.2、void game();//双人游戏 void pgame();//单人游戏 3.4、排行榜模块函数功能: 3.5、继续游戏模块函数功能: 3.6、操作说明模块函数功能: 4、调试与测试: 4.1、调试方法 4.2、测试结果的分析与讨论 4.3、测试过程中遇到的主要问题及采取的解决措施 5、程序具体说明书: 6、程序设计心得: 7、参考文献

、程序设计描述 1.1 程序设计目的: 综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 1.2 程序设计要求: 1、巩固和加强《C语言程序设计》课程的理论知识。 2、掌握C语言的基本概念、语法、语义和数据类型的使用特点。 3、掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。 4、进一步理解和运用结构化程设计的思想和方法;学会利用流程图。 5、掌握调试程序的基本方法及上机操作方法。 6、掌握书写程设计开发文档的能力,学会撰写课程设计总结报告。课程设计的思想和方法还可以作为做毕业论文时的参考资料。 7、通过查阅手册和文献资料,培养独立分析问题和解决问题的能力。为做毕业设计打好基础。 8、培养自己的创新能力和创新思维。可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。 9、培养自己良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。 1.3、猜数字游戏的简介: 猜数字游戏(又称 Bulls and Cows )是一种大概于20世纪中期兴起于英国的益智类小游戏。一般由两个人玩,也可以由一个人和电脑玩,在纸上、在网上都可以玩。这种游戏规则简单,但可以考验人的严谨和耐心。 2 、程序设计内容: 2.1、游戏主要框架图: 该模块为玩家提供猜数字游戏的主体功能,即开始游戏、继续游戏、最佳排行、操作说明、退出游戏。给用户一个清晰明了的操作界面!流程图如下:

C语言猜数游戏代码

#include #include #include #include int i; long int rn(); void fun(); void gc(); int input(long int); void grade(int); int welcome(); int compare(long int,long int); void choise(int *,int); void main() { system("cls"); printf("\n\n\n\t\t* * * * * * * * welcome * * * * * * * *"); printf("\n\n\n"); printf("\t\t\tmaker: xiachao xiaoyuyan"); printf("\n\n\n\t\t\tuse enter to be continue"); getch(); fun(); } void fun() { int b,s,g; long int a; system("cls"); s=welcome(); if(s==1) { system("cls"); a=rn(); b=input(a); grade(b); gc(); } if(s==2) { system("cls"); printf("\n\n\n\n\n"); printf("\t

---------------------------------------------------------\n"); printf("\t|game rules: |\n"); printf("\t| |\n"); printf("\t|input your number(10000--99999),it will compare to the |\n"); printf("\t| |\n"); printf("\t|system's number(10000--99999),and the number doesn't have|\n"); printf("\t| |\n"); printf("\t|same digit. |\n"); printf("\t| |\n"); printf("\t|if your number as same as system,your win,else try again.|\n"); printf("\t| |\n"); printf("\t ---------------------------------------------------------"); gc(); } if(s==3) { printf("\n\n\t\t\tThanks for your using.\n"); printf("\t\t\t\tBye Bye!"); getch(); exit(0); } } long int rn() { int b,d; long int c; unsigned long int a; int array[5]; time_t t; time(&t); srand(t); loop1:a=10000+rand() % 90000; c=a; for(i=0;i<5;i++) { array[i]=c%10;

猜数游戏完整代码

/**猜数游戏的完整代码 */ import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Scanner; public class GuessNumber_all { public static void compareNum() { //使用BufferedReader读入数据流 try { //获取随机产生的数字 int random=(int)(Math.random()*100+1); for( int i=1;;i++) { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); System.out.println("请猜数:"); int keyBoardNum=Integer.parseInt(br.readLine()); //获取键盘输入的数字 //比较两数的大小

if(keyBoardNum!=random) { if(keyBoardNum>random) { System.out.println("大了"); } else { System.out.println("小了"); } } else { System.out.println("随机数是"+random); System.out.println("恭喜你猜对了,你的战斗力是:"+(int)((1-i/8.0f)*100)); break; } if(i>=8) { System.out.println("超过次数,尚需努力"); System.out.println("正确答案是:"+random);

猜数字游戏程序源代码

内容和要求 编写一个猜数字游戏,要求: 计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语 #include #include using namespace std; int main() { int a; int ran_num; srand((unsigned)time(NULL)*100); ran_num = 10000*rand() / (RAND_MAX)+0;/*随机数字出现范围0~1000; 要取得[a,b)之间的随机整数,使用(rand() % (b-a))+ a 或者(rand() * (b-a)) / RAND_MAX + a。*/ // cout <<"随机数字:"<< ran_num << endl;/*此行可删去为方便知道随机数字*/ cout <<"input your number:"<< endl; clock_t start, finish; double duration; /* 测量猜数字的时间*/ start = clock(); while(cin >> a) { if(a < ran_num) { cout <<" your number is small."<< endl; } else if(a > ran_num) { cout <<"your number is big."<< endl; } else { break; } }/*比较输入数字同随机数字的大小*/ finish = clock(); duration = (double)(finish - start) / CLOCKS_PER_SEC;

猜数字游戏docx

计算机基础I I 综合程序设计 题目:猜数字游戏 院系 专业: 学号: 姓名: 指导老师: 2013年4月10日

目录 摘要 (2) 第一章综合设计概述 (3) 1.1综合设计名称 (3) 1.2 任务要求 (3) 1.3开发环境 (3) 1.4应用平台 (4) 第二章总体设计 (4) 2.1 系统功能需求分析 (4) 2.2系统总体设计框架 (5) 2.3 系统功能模块图及各功能模块的目的与意义 (5) 第三章详细设计 (6) 3.1 系统各模块N-S流程图及功能特色简介 (6) 3.1.1 主函数main() (6) 3.1.2 调用函数computer(int m) (7) 3.2系统总体N-S流程图 (9) 第四章调试过程分析描述 (11) 4.1 调试过程 (11) 4.1.1 文件调试主界面 (11) 4.1.2 进行游戏猜数 (12) 4.2调试发现的问题与解决 (13) 第五章综合设计体会 (16) 附录-源程序代码 (16) 参考文献 (18) 摘要 猜数字游戏是一个运行在Windows平台下的小型游戏软件,依据猜数字游戏的基本规则,给用户提供一个游戏平台。以VC++作为软件开发环境,利用随机函数,通过数字比较,编程实现的。它的规则简单,但玩起来有一定的难度,是消磨时间和锻炼脑力的好选择。通过选择猜数字游戏这个题目,让我更深入的了解了编

程中的一些问题及以前不知道的程序。在分析阶段,要面向对象的需求分析,系统设计,画出相应的需求分析图,系统设计模型图,学会多角度思考问题。 第一章综合设计概述 1.1综合设计名称 猜数字游戏 本程序主要目的是在VC环境中实现由电脑随机产生一个数字不重复的四位数,并将所猜的数与它自动产生的数字进行比较,若猜的不对就作出相应提示:“*A*B”其中A前的*代表你本次猜对了多少个数字。B前的*代表你本次猜对的数字并且位置正确的个数。 1.2 任务要求 要求这个猜数字游戏有一定的容错功能,界面友好,功能齐全。 游戏规则: (1)一个四位数,各位上的数字不重复,取值从1~9. (2)按以下提示猜出这个四位数: 每次猜测输入的数据给出类似的提示*A*B。 其中A前的*代表你本次猜对了多少个数字。 其中B前的*代表你本次猜对的数字并且位置正确的个数 1.3开发环境 开发工具为Microsoft Visual C++ 6.0. 20世纪90年代以来,C语言迅速在全世界普及和推广。Microsoft Visual C++ 6.0作为此语言的编写平台已而受到广泛应用。Microsoft Visual C++ 6.0功能丰富、使用灵活方便、应用面广、目标程序效率高、可移植性好、

java课程设计——猜数字游戏

目录 一、设计任务与要求 (1) 1.1 设计任务与要求 (1) 1.2 选题目的与意义 (1) 二、需求分析 (2) 2.1 用户需求分析 (2) 2.2 开发环境分析 (2) 三、系统设计 (3) 3.1 系统总体设计 (3) 3.1.1 总体设计分析 (3) 3.1.2 程序结构 (3) 3.2 功能模块设计 (5) 3.2.1 功能模块图 (5) 3.2.2 功能模块详细设计 (5) 3.3 类的设计 (7) 四、程序实现 (9) 4.1 程序流程图 (9) 4.2.1 随机数的获取 (10) 4.2.2 输入输出 (10) 4.2.3 判断时间 (11) 4.2.4 自动计数 (11) 4.2.5 结果输出 (11) 4.2.6 图形界面的实现 (12) 4.3 类的实现 (13) 五、测试运行 (15) 5.1 系统测试方案 (15) 5.2 运行结果分析 (15) 六、设计体会 (18)

一、设计任务与要求 1.1 设计任务与要求 功能要求:该程序用图形界面实现下面功能:用计算机产生一个100以内的随机数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜对为止。游戏结束后给出评语并计算出玩家所用的时间与所猜的次数。 具体要求: 1) 欢迎界面:通过这里提供的选项(或按钮),进入游戏界面。 2) 游戏界面提供“获取随机数”按钮,系统获取到随机数,游戏者输入自己的猜测结果,通过按“确认”按钮完成输入。每次提示输入猜测结果时,给出猜测的准确度提示。 3) 按“获取随机数”按钮,继续游戏。 4) 游戏结束后给出评语并计算出玩家所用的时间与所猜次数。 界面要示:用图形界面实现。 1.2 选题目的与意义 通过猜数游戏这个课题我可以学到文本框、标签框、按钮、布局、对话框方面的知识和应用,达到设计登陆界面、加入图像显示功能以及设计按钮的目的,让我更加的掌握和理解java面向对象语言的需求分析、系统设计,所以我选择猜数游戏这个课题。

猜数字游戏源代码

猜数字游戏 本案例知识要点 ●Visual C++ 6.0下创建Win32 Console Application并运行的方法 ●C++程序中类的定义和实现 ●C++程序中类文件的引用及类的实例化

一、案例需求 1.案例描述 由计算机产生0到99的随机数,游戏参加者将猜到的数字从键盘输入,计算机对猜数结果进行判断直到猜出正确结果。 2.案例效果图 猜数字游戏运行效果如图2-1所示。3.功能要求 (1)所猜0到99的目标数字由计算随机产生。 (2)0到99的随机数的产生、所猜数字和目标数字的比较等过程以类的形式实现。(3)若游戏参加者所猜数字正确,则提示所猜总次数;若猜数错误,则提示所猜数字比目标数字大还是小。 二、案例分析 本案例中设计了一个Guess类,实现产生随机数、进行参加游戏者输入数字与目标数字的比较、计算猜数次数。主程序中通过类的实例化实现猜数过程。 三、案例设计 为了实现猜数过程,设计Guess类,结构如图2-2所示。

●数据成员 int Value 产生的0到99间的目标数字。 int CompareTimes 为游戏者已猜次数。 ●函数成员 Guess() 构造函数,用来产生随机目标数字。 int Compare(int InputValue) 用来判断游戏者所猜数字是否正确,其参数InputValue为游戏者所猜数字。 int GetCompareTimes() 用来获得游戏者已猜次数。 五、案例实现 猜数字游戏源程序代码如下所示。 ************************************* // * Guess.h 类声明头文件 ************************************* #1. #include #2. class Guess #3. { #4. private: #5.int Value; //计算机产生的目标数字

猜数游戏算法代码

1 2005-06-08, 15:13 【讨论】一个有趣的小游戏 -------------------------------------------------------------------------------- 文曲星上的经典猜数游戏,电脑随机出一个四位数(没有重复数字)让你来猜,每次你说出猜的数后,返回信息告诉你有几个数位置对了数字也对了,有几个数数字对了但位置不对。比方说原数是5678,你猜了一个3658,那么返回2A 1B,表示有两个数(6和8)位置和数字都对了,还有一个数(5)对了但位置不对。当最后返回4A 0B时表示你猜中了这个数。 在我们学校的BBS上有这个,做成了一个赌博游戏,1次猜出赢100倍,2次猜出赢50倍,3次赢20倍,4次赢5倍,5次赢3倍,6次不输不赢,6次以上的就会把押的钱输掉。我们ACM队里的闲着没事在研究怎么写一个程序帮人来猜数,能挣到更多的钱。 我的初步想法是第一次猜0123,然后根据返回值,去掉不符合条件的数,再在所有符合条件的数里面猜最小的,直到猜出来为止。后来做了一些改进,不是在所有符合条件的数里猜最小的,而是把所有可猜的数都试一遍,看猜哪个数时能去掉更多的数,就选这个数来猜,算法慢了一些O(N^2) ,但结果更好了一些。 下面我的程序的统计结果:(四位不重复的数共5040个) 1次1 2次13 3次108 4次619 5次2004 6次1932 7次360 8次3 失败的概率是0.07,平均期望大概是2.6左右,也就是说用这个程序去玩,能赢回2.6倍的钱。 还有一位也写了一个程序(算法我记不太清了),结果是: 1 次1 2 次4 3 次44 4 次459 5 次2375 6 次2048 7 次108 8 次1 这个算法虽然失败概率很低,只有0.02,但大部分的数都集中在6上,平均期望只有2.0左右。

java猜数字游戏代码

import java.awt.*; import java.awt.event.*; class WindowButton extends Frame implements ActionListener { int number; Label 提示条; Label 提示条1; Label 提示条2; Label 提示条3; Label 提示条4; TextField 输入框; Button buttonGetNumber,buttonEnter; WindowButton(String s) { super(s); setLayout(new FlowLayout()); buttonGetNumber=new Button("获得一个随机数"); 提示条=new Label("输入你的猜测:",Label.LEFT); 提示条1=new Label("获取1-100的随机数:",Label.LEFT); 输入框=new TextField("0",10); buttonEnter=new Button(" 确定 "); 提示条2=new Label("单击确定按钮:"); 提示条3=new Label("反馈信息:"); 提示条4=new Label(" "); add(提示条1); add(buttonGetNumber); add(提示条); add(输入框); add(提示条2); add(buttonEnter); add(提示条3); add(提示条4); buttonEnter.addActionListener(this); buttonGetNumber.addActionListener(this); setBounds(300,300,250,200); setVisible(true); validate(); addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}}); } public void actionPerformed(ActionEvent e) { if(e.getSource()==buttonGetNumber) { number=(int)(Math.random()*100)+1; System.out.println(number); } else if(e.getSource()==buttonEnter) { int guess=0; try { guess=Integer.parseInt(输入框.getText()); if(guess==number) {提示条4.setText("您猜对了!");}

相关文档