猜数字实验报告

合集下载

猜数字博弈实验报告(3篇)

猜数字博弈实验报告(3篇)

第1篇一、实验背景猜数字游戏是一种经典的编程练习,旨在通过编写程序实现一个计算机与用户之间进行数字猜猜看的游戏。

该游戏可以锻炼编程者的逻辑思维能力、程序设计能力和调试能力。

本次实验以Java语言为基础,通过实现一个猜数字游戏,旨在掌握面向对象编程思想,提高编程技能。

二、实验目的1. 通过编写Java应用程序,实现猜数字游戏,加深对面向对象编程思想的理解。

2. 练习使用Java语言编写程序,提高编程技能。

3. 提高调试程序的能力,养成良好的编程习惯。

4. 增强对程序设计整体思路的把握。

三、实验内容1. 游戏规则- 计算机随机生成一个1到100之间的整数。

- 用户有若干次猜测机会,每次输入一个数字。

- 如果用户猜中数字,则游戏结束,并显示“恭喜你,猜对了!”- 如果用户猜大了或猜小了,则程序提示“猜大了”或“猜小了”,并继续游戏。

- 如果用户猜测次数用尽,则游戏结束,并显示“很遗憾,你没有猜对数字。

”2. 实验要求- 使用Java语言实现猜数字游戏。

- 使用面向对象编程思想,设计合理的类和接口。

- 代码结构清晰,易于阅读和维护。

- 具备良好的调试和错误处理能力。

四、实验步骤1. 创建一个名为“GuessNumberGame”的Java项目。

2. 创建一个名为“Game”的类,实现猜数字游戏的主要功能。

3. 在“Game”类中,定义一个方法生成随机数。

4. 在“Game”类中,定义一个方法用于接收用户输入,并进行判断。

5. 在“Game”类中,定义一个方法用于输出游戏提示信息。

6. 创建一个名为“Main”的类,作为程序的入口。

7. 在“Main”类中,创建“Game”对象,并调用其方法开始游戏。

五、实验结果经过一番努力,我们成功实现了猜数字游戏。

以下是实验结果:1. 运行程序后,会显示一个欢迎界面。

2. 用户输入数字后,程序会根据输入的数字与随机数的比较结果给出提示。

3. 用户猜中数字或猜测次数用尽时,游戏结束,并显示相应的提示信息。

猜数实验报告

猜数实验报告

猜数实验报告猜数实验报告引言:猜数实验是一种常见的心理实验,在实验中,被试者需要根据一系列提示和线索来猜测一个特定的数字。

这项实验旨在探究人类思维过程中的推理能力、逻辑思维和决策行为。

本报告将对我进行的一次猜数实验进行详细描述和分析。

实验设计:在本次实验中,我作为被试者,需要猜测一个介于1到100之间的整数。

实验设定了10轮,每轮实验都会给出一个提示,以帮助我缩小猜测范围。

每次猜测后,实验者会告知我猜测的数字是大了还是小了,直到我猜测出正确答案或达到最大猜测次数为止。

实验过程:第一轮实验开始时,我没有任何线索可供参考,只能凭直觉猜测。

我选择了50作为我的第一次猜测,但结果显示我猜得太大了。

通过这个提示,我意识到正确答案可能更接近1而不是100。

于是,我在第二次猜测时选择了25,但结果仍然是猜大了。

这个过程一直持续到第五次猜测,当我猜测到10时,实验者告诉我猜对了。

通过这个过程,我逐渐缩小了猜测的范围,从而更接近正确答案。

在接下来的几轮实验中,我开始注意到每个提示的关键词和数字。

例如,在第二轮实验中,提示是“答案大于25”,这让我意识到正确答案可能在25和50之间。

通过这种方式,我能够更有针对性地猜测,并在更少的次数内找到正确答案。

然而,有时候提示并不总是直接指向正确答案,而是提供了一些间接线索。

这就需要我运用逻辑思维和推理能力来解读和利用这些线索。

实验结果:通过10轮的猜数实验,我总共猜测了45次才找到正确答案。

这个结果让我意识到我在推理和决策方面还有很大的提升空间。

在前几轮实验中,我没有充分利用提示所提供的信息,而是过于依赖直觉和随机猜测。

然而,随着实验的进行,我逐渐学会了如何运用线索和提示来缩小猜测范围,从而更有效地找到正确答案。

实验结论:通过这次猜数实验,我深刻认识到了逻辑思维和推理能力在解决问题中的重要性。

在现实生活中,我们经常需要根据有限的信息做出决策和推理。

这些决策和推理的质量直接影响到我们的判断准确性和问题解决能力。

java实验报告猜数字

java实验报告猜数字
《Java程序设计》实验报告
实验一:猜数字
专业班级:通信工程2008级1班
姓名:
学号:
பைடு நூலகம்时间:
实验一:猜数字
1、实验目的:
让学生使用if-else分支和while循环语句解决问题。
2、实验要求:
编写一个java应用程序,实现如下功能:
※随机分配给客户一个1~100之间的整数。
※用户从键盘输入自己的猜测。
{
System.out.println("猜大了,请再猜:");
yourGuess=reader.nextInt();
}
else if(yourGuess<realNumber)
{
System.out.println("猜小了,请再猜:");
yourGuess=reader.nextInt();
}
}
System.out.println("猜对了!");
}
}
int yourGuess=0;
Scanner reader=new Scanner(System.in);
System.out.println("输入您的猜测:");
yourGuess=reader.nextInt();
while(yourGuess!=realNumber)
{
if(yourGuess>realNumber)
※程序返回提示信息,提示信息分别是“猜大了”、“猜小了”和“猜对了”。
※用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。
3、程序效果图(各位同学的效果图应该各不相同!)
4、程序代码(主要语句有注释!)

数字游戏规划实验报告

数字游戏规划实验报告

一、实验背景随着信息技术的飞速发展,编程已经成为一种重要的技能。

为了提高编程能力和解决问题的能力,我们选择了一个具有挑战性的数字游戏作为实验项目。

本实验旨在通过设计、实现和测试数字游戏,提高我们的编程水平,同时加深对算法和数据结构的理解。

二、实验目的1. 学习并掌握编程语言的基本语法和编程规范。

2. 熟悉算法设计的基本方法,提高算法思维能力。

3. 了解并运用数据结构,提高数据结构的应用能力。

4. 通过实际项目,提高编程实践能力。

三、实验内容本次实验所设计的数字游戏为一个经典的猜数字游戏。

游戏规则如下:1. 计算机随机生成一个1到100之间的整数。

2. 玩家需要在有限次机会内猜出这个整数。

3. 每次猜错,系统会提示玩家猜测的数字是大了还是小了。

四、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm五、实验过程1. 设计游戏规则和算法在本次实验中,我们采用随机数生成器生成一个1到100之间的整数,玩家通过输入猜测的数字与系统进行交互。

系统根据玩家的猜测结果,给出提示信息。

以下是游戏的主要算法:(1)初始化:生成一个1到100之间的随机整数作为目标数。

(2)输入:玩家输入一个1到100之间的整数。

(3)判断:如果玩家输入的数字与目标数相等,则游戏结束,并输出“恭喜你,猜对了!”;如果玩家输入的数字小于目标数,则输出“猜大了”;如果玩家输入的数字大于目标数,则输出“猜小了”。

(4)重复步骤2和3,直到玩家猜对为止。

2. 编写代码根据以上算法,我们编写了以下Python代码:```pythonimport randomdef guess_number_game():target_number = random.randint(1, 100)try:while True:guess = int(input("请输入一个1到100之间的整数:"))if guess == target_number:print("恭喜你,猜对了!")breakelif guess < target_number:print("猜大了")else:print("猜小了")except ValueError:print("输入错误,请输入一个整数!")guess_number_game()```3. 测试代码为了验证代码的正确性,我们进行了多次测试。

java猜数字实验报告

java猜数字实验报告

java猜数字实验报告
《Java猜数字实验报告》
在本次实验中,我们利用Java编程语言实现了一个猜数字的小游戏,并进行了
相应的实验和测试。

在游戏中,计算机会随机生成一个数字,玩家需要通过输
入不同的数字来猜测正确的数字,直到猜中为止。

首先,我们使用Java编程语言编写了游戏的代码,并进行了调试和测试。

通过
编写代码,我们实现了游戏的基本功能,包括生成随机数字、接受玩家输入、
判断输入是否正确、给出相应的提示等。

经过多次的测试和修改,我们确保游
戏的逻辑和功能都能够正常运行。

其次,我们进行了游戏的实际测试。

我们邀请了一些志愿者来参与游戏,他们
在游戏中不断输入数字进行猜测,并观察游戏的表现和反馈。

通过实际测试,
我们发现游戏的交互性和趣味性较高,参与者对游戏的体验也非常积极。

最后,我们对游戏进行了性能测试。

我们模拟了大量的游戏场景,并观察了游
戏在不同情况下的表现。

通过性能测试,我们发现游戏在处理大量数据和用户
输入时依然能够保持流畅和稳定,没有出现明显的卡顿和延迟。

综上所述,通过本次实验,我们成功地使用Java编程语言实现了一个猜数字的
小游戏,并进行了相应的实验和测试。

游戏的功能和性能都得到了充分的验证,证明了我们的设计和实现是成功的。

希望通过这次实验,我们能够更深入地理
解和掌握Java编程语言的应用和特性。

C语言实验报告猜数字游戏

C语言实验报告猜数字游戏
由于水平有限这个程序我做得比较简单例如随机取数用宏定义实现帮助是直接显现在菜单的提示也会在每一次猜数后自动给出记录了次数但没有记入分数
实验报告———猜数字游戏
一、实验内容: 实验名称:猜数字游戏 实验目的:猜数:用户从键盘输入4位不重复的数,来匹配计算机给出 的4位随机数,若数字和位数均等同,表示用户赢了。每猜一次,计算 机均给出提示信息(x,y),x表示数字、位置都匹配的个数,y表示数 字匹配但位置不匹配的个数。 实验要求: (1) 设计友好的中文交互界面。 (2) 按H键,可以得到更详细的帮助信息,如:第1位数字 正确,第2,3位数字位置不对等。 (3) 按K键后,可以查看计算机所给的4位数,但查看前需 要输入密码,密码自定。 (4) 猜的结果以分值的形式给出,每猜错1次扣100分,若猜 对1个数,奖励20分。 (5) 每次游戏结束后将分值存盘,文件名自定。 二、算法说明: S1:计算机随机数通过宏定义来实现(本次设计为2008) S2:开始主函数,设计一个简单的中文界面 S3:定义stime,a,z,t,i,c,m,g,s,j,k等整型变量,其中k表示数字、位置都匹 配的个数,j表示数字匹配但位置不匹配的个数。 S4:将用scanf函数出入的四位数与计算机随机数比较 S5:用print函数输出比较结果,每次比较都有提示,并记录次数 S6:当完全猜中数字时,用户获得胜利,游戏结束
{ if(m&&t!=l[0]&&t!=l[1]&&t!=l[2]&&l[j-1]=t; /*若该位置上的数字尚未与其它数字“相 同”*/ } */ if(i==t) k++; } s/=10; } a/=10; } printf("提示信息(%d,%d)\n",k,j); printf("你猜对了%d个数字!\n",j); printf("其中位置也正确的有 %d 个.\n",k); if(k==4) break; /*若位置全部正确,则人猜对了,退出*/ else printf("请继续努力!\n"); } printf("经过 %d 次努力,你已经猜中了全部的数字,恭喜你.\n",c); } 四、运行结果: 原始界面: 欢迎进入猜数字游戏 游戏帮助 用户从键盘输入一个4位数,来匹配计算机内定的4位随机数,若数字和 位数均等同,表示用户赢了。 /*若位置也相同,则计数器k加1*/ /*记录相同数字时,该数字在所猜数字中的位置

数字游戏实验报告

数字游戏实验报告

一、实验目的本次实验旨在通过编写数字游戏程序,掌握Java编程语言的基本语法和面向对象编程思想,提高编程能力,同时锻炼逻辑思维和调试能力。

通过实验,加深对Java语言的理解,培养良好的编程习惯。

二、实验内容本次实验设计一款数字猜谜游戏,游戏规则如下:1. 系统随机生成一个1-100之间的整数作为谜底。

2. 玩家输入一个数字,系统判断该数字与谜底的大小关系。

3. 系统给出提示,告知玩家输入的数字是大了、小了还是猜中了。

4. 玩家继续猜测,直到猜中谜底为止。

5. 猜中谜底后,显示玩家猜测的次数,并询问是否继续游戏。

三、实验环境1. 软件:JDK 1.8,Eclipse IDE2. 操作系统:Windows 10四、实验步骤1. 创建一个名为“DigitalGame”的Java项目,并在项目中创建一个名为“Main”的类。

2. 在“Main”类中,编写以下代码:```javaimport java.util.Random;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);Random random = new Random();int secretNumber = random.nextInt(100) + 1; // 生成1-100之间的随机数int guessNumber;int count = 0;while (true) {System.out.println("请输入一个1-100之间的数字:");guessNumber = scanner.nextInt();count++;if (guessNumber > secretNumber) {System.out.println("大了,再试一次!");} else if (guessNumber < secretNumber) {System.out.println("小了,再试一次!");} else {System.out.println("恭喜你,猜对了!你共猜了" + count + "次。

猜数字游戏实验报告

猜数字游戏实验报告

猜数字游戏实验报告猜数字游戏实验报告引言:猜数字游戏是一种经典的思维训练游戏,通过猜测和推理来寻找隐藏的数字。

在这个实验中,我们将探索参与者在猜数字游戏中的表现,并分析他们的策略和思维模式。

实验设计:我们邀请了50名参与者,他们年龄跨度从10岁到60岁不等。

实验分为两个阶段:训练和测试。

在训练阶段,参与者被要求猜测一个范围在1到100之间的数字,直到他们猜中为止。

在测试阶段,参与者将面对更复杂的数字范围和条件。

结果:在训练阶段,我们观察到参与者的猜测次数逐渐减少,他们开始学会根据之前的猜测结果来推测正确答案。

这表明参与者在游戏中逐渐形成了一种策略,并且能够将其应用于后续的猜测中。

此外,我们还注意到不同年龄组的参与者在训练阶段的表现存在差异。

年龄较小的参与者通常需要更多的猜测次数才能找到正确答案,而年龄较大的参与者则表现出更高的准确性和更快的学习能力。

在测试阶段,我们引入了更多的变量和条件,如时间限制和错误惩罚。

参与者需要在规定的时间内尽快猜出数字,并且每次错误猜测都会受到一定的惩罚。

这一阶段的结果显示,参与者的表现受到了这些额外条件的影响。

一些参与者表现出更高的压力耐受能力和快速决策能力,而另一些参与者则更加谨慎和保守。

讨论:通过这个实验,我们可以看到参与者在猜数字游戏中的表现与他们的年龄、经验和个人特质有关。

年龄较小的参与者可能需要更多的时间和猜测次数来找到正确答案,而年龄较大的参与者则表现出更高的准确性和学习能力。

此外,一些参与者在面对压力和时间限制时表现出更好的决策能力,而另一些参与者则更加谨慎和保守。

这个实验还揭示了猜数字游戏对参与者思维能力的训练作用。

通过不断的尝试和推理,参与者能够学会利用之前的信息来指导后续的猜测,这是一种重要的思维技能。

此外,实验中引入的时间限制和错误惩罚也提醒了参与者在决策过程中需要权衡速度和准确性。

结论:猜数字游戏是一种有趣且具有思维训练作用的游戏。

通过这个实验,我们发现参与者的表现受到年龄、经验和个人特质的影响。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《程序设计课程设计》题目:《猜数字》游戏物联网工程学院计算机科学与技术专业学号:学生姓名:孙文佳班级:计科1305成绩:设计思路:猜数字是一个比较益智的游戏,游戏规则也很简单,真正自己实现游戏的运行也并不是什么难事,下面就主要讲讲自己的设计思路。

大的框架是把函数封装在类中,这样就可以应用所学的类。

首先是随机产生一个4位整数,根据要求,最高位不能为0,且每一位的数不能相同。

让系统随机产生4个个位数,这里就用到srand(time(NULL))获取系统的时间作为种子,防止每次运行的结果都是相同的。

time()函数包含在头文件time.h中。

用一个for语句,依次产生这四个数,因为要求最高位不能为0,这里就用一个while语句重新生成a[0],然后就是每位上的数不得相同,依然用while语句解决这个问题。

接着是提示用户输入一个四位数,把这个四位数各位上的数保存在数组b[4]中,然后就是比较b[4]和a[4],计算数字正确且位置正确的数的个数,还有数字正确但位置错误的数的个数(这应该是游戏的额核心),其实这一步也不难,就是利用一个for语句逐个比较b[j]与a[i],如果b[j]等于a[i],wrong++,然后判断i是否等于j,是的话right++,wrong--,如果猜了8次还不正确的话,提示用户是否继续,这里用一个switch语句就行了。

如果猜了15次还不正确的话,提示用户游戏失败,是否重新玩一局。

在此之前把这次的记录写入txt文件中,这里就用到c++的输入输出流,对于数据的保存只要学会格式,依葫芦画瓢即可。

还有就是数据的读取,在游戏结束时输出上一局的结果。

程序代码:#include<iostream>#include<time.h>#include<windows.h>#include<fstream>using namespace std;class game{public:void showfunction();void showfunction2();void target();void start();void tips();void selection();private:int a[4];};void gotoxy(int x, int y){HANDLE hCon;hCon = GetStdHandle(STD_OUTPUT_HANDLE);COORD setps;setps.X = x;setps.Y = y;SetConsoleCursorPosition(hCon,setps);}void data_load(){ifstream e;int count=0;int b[4],right,wrong;e.open("Data.txt",ios::binary|ios::in);if(e){e.seekg( (count++) * sizeof(int),ios::beg);e.read( (char *)&right,sizeof(int));e.seekg( (count++) * sizeof(int),ios::beg);e.read( (char *)&("A"),sizeof(int));e.seekg( (count++) * sizeof(int),ios::beg);e.read( (char *)&wrong,sizeof(sizeof(int)));e.seekg( (count++) * sizeof(int),ios::beg);e.read( (char *)&("B"),sizeof(int));cout<<"上一局结果是:"<<right<<"A"<<wrong<<"B"<<endl;}}void quit(){gotoxy(0,10);cout<<" "<<"* * * * * * * * * * * * * * * * * * * * * * *"<<endl;cout<<" "<<"* 正在退出游戏,请稍后(loading......) *"<<endl;cout<<" "<<"* * * * * * * * * * * * * * * * * * * * * * *"<<endl;Sleep(1500);system("cls");}void game::selection(){int n;cout<<" "<<"** * * * * * * * * * * * * **"<<endl;cout<<" "<<"*1:返回主菜单。

2:退出游戏.*"<<endl;cout<<" "<<"** * * * * * * * * * * * * **"<<endl;cout<<"输入你的选择:";cin>>n;switch(n){case 1 : system("cls");showfunction();break;case 2 : system("cls");quit();break;}}void game::tips(){gotoxy(0,6);cout<<" "<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl;cout<<" "<<"* 游戏规则如下: *"<<endl;cout<<" "<<"* 系统会随机产生1个各位互相不相同的4位数,然后你有10次机会去猜。

当你*"<<endl;cout<<" "<<"* 猜错了,会自动提示你离答案的差距。

然后你再根据提示去猜,直到猜出或者*"<<endl;cout<<" "<<"* 10次机会用完为止。

*"<<endl;cout<<" "<<"* 这个游戏考1个人的逻辑推理能力。

祝你好运!*"<<endl;cout<<" "<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl;selection();}void game::showfunction(){int f,t=1;gotoxy(0,5);cout<<" "<<"** * * * * * * * * * * * * * * * * * * *"<<endl;cout<<" "<<"* 游戏菜单*"<<endl;cout<<" "<<"** * * * * * * * * * * * * * * * * * * *"<<endl;cout<<" "<<"* 1、开始游戏*"<<endl;cout<<" "<<"* 2、查看游规则*"<<endl;cout<<" "<<"* 3、退出*"<<endl;cout<<" "<<"** * * * * * * * * * * * * * * * * * * *"<<endl;cout<<endl<<endl<<endl<<endl;cout<<" "<<"输入你的选择:";while(t){cin>>f;switch(f){case 1: system("cls");target();t=0;break;case 2: system("cls");tips();t=0;break;case 3: system("cls");data_load();quit();t=0;break;default:cout<<"============================"<<endl;cout<<" 按键无效!请重新输入!"<<endl;cout<<"============================"<<endl;break;}}}void game::showfunction2(){int f,t=1;gotoxy(0,7);cout<<" "<<"** * * * * * * * * * * * * **"<<endl;cout<<" "<<"*1:重玩游戏. 2:退出游戏.*"<<endl;cout<<" "<<"** * * * * * * * * * * * * **"<<endl;cout<<"输入你的选择:";while(t){cin>>f;switch(f){case 1: system("cls");target();t=0;break;case 2: system("cls");quit();t=0;break;default: cout<<"输入非法,重新输入!"<<endl;break;}}}void game::target(){srand((unsigned)time(NULL));for(int i=0;i<4;i++)a[i]=rand()%10;while(a[0]==0) a[0]=rand()%10;while(a[0]==a[1]) a[1]=rand()%10;while(a[0]==a[2]||a[1]==a[2]) a[2]=rand()%10;while(a[0]==a[3]||a[1]==a[3]||a[2]==a[3]) a[3]=rand()%10;start();}void game::start() {int i,j,times=0,t,b[4];cout<<" "<<"* * * * * * * * * * * * *"<<endl;cout<<" "<<"* 游戏开始!*"<<endl;cout<<" "<<"* * * * * * * * * * * * *"<<endl;for(i=0;i<4;i++)cout<<a[i]<<" ";cout<<endl;cout<<" "<<"* * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl;cout<<" "<<"* 现在系统随机产生了1个各位互不相同的4位数*"<<endl;cout<<" "<<"* (如,1234).你猜它是什么?*"<<endl;cout<<" "<<"* * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl;for(times=0;times<15;times++){int right=0,wrong=0,flag=1000,p=1;while(p){cout<<endl<<"你还有"<<15-times<<"次机会!";cout<<"请输入你猜测: ";cin>>t;if(t<1000||t>9999){cout<<"==================================================="<<en dl;cout<<" 输入错误咯哦。

相关文档
最新文档