第1题
第2题
设计一个掷骰子猜大小的游戏,程序的界面如下(该界面只是为说明程序必须功能而提供,仅供参考,在程序过程中可以修改界面,但功能不能减少,可以增加功能)1、窗体的最大化按钮无效,窗体打开时,默认位于屏幕正中,不能调整窗体大小。 2、“大”和“小”按钮默认情况下没有都没有选中。3、先选择“大”或“小”,然后点击开始按钮,程序在下方出现三个骰子的随机图案。系统根据三个骰子的点数大小和你自己选择的“大”或“小”来决定输赢,并在中央的标签中显示点数和输赢。4、如果没有选择大或小的情况下,直接点开始按钮,请提示,请先选择大或小。 5、在开始一局新的游戏之前,请注意将上一局的选择清空,即每次选择的大或小只能作为一次选择,下一次无效。 6、注意,在新的一局游戏开始之前,应清空上一局的输赢提示。 注:骰子图可以在附件中下载
第3题
编程实现一个猜数字游戏,使用Random类产生一个1~100的随机整数,使用弹出对话框提示用户输入数字,使用信息框对用户猜数字的结果进行提示(猜对、偏大、偏小),用户有8次机会。根据下面的代码提示分析问题,先画出实现猜数字的程序流程图,然后将下面的程序代码补充完整,编辑运行程序查看运行结果。 提交补充的代码,标明标号;提交绘制的流程图。 import java.util.Random; import javax.swing.JOptionPane; public class GuessNumber { public static void main(String[] args) { int start = JOptionPane.showConfirmDialog(null,"猜数字,游戏开始?","游戏开始", JOptionPane.YES_NO_OPTION); if( ① ){ //若用户单击“确定”按钮,开始游戏 ② //产生一个1~100的随机整数 String inputValue; //保存用户输入的字符串 int inputNum; //保存字符串转换成的整数 int i = 1; //循环变量:记录猜数字的次数 while( ③ ){ //用户最多8次猜数字的机会 inputValue = ④ ("请输入一个0~100的整数\n共8次机会,这是第" + i + "次"); //生成一个信息输入对话框,并接收用户输入的一个整数保存在变量inputValue中 inputNum = Integer.parseInt(inputValue); //将用户输入的字符串转换成整数 if( ⑤ ){ ⑥ //使用消息对话框提示"恭喜您,猜对啦!" break; //如果猜对,退出循环游戏结束 }else if( ⑦ ){ ⑧ //使用消息对话框提示"您猜的数字偏大!" }else{ ⑨ //使用消息对话框提示"您猜的数字偏小!" } i++; } if(i >8){ //若由于满8次未猜中而结束循环,则进行提示 ⑩ //使用消息对话框提示"8次机会用尽,游戏结束!" } }else //否则退出游戏 JOptionPane.showMessageDialog(null,"退出游戏", "猜数字游戏",JOptionPane.INFORMATION_MESSAGE); } }
第4题
猜数游戏:程序利用随机函数产生一个[1,10]内的随机整数,让用户反复猜测,直到猜对为止,程序能提示猜数范围,并统计猜数次数。 甲乙二人先后进行猜数游戏,记录二人猜中花费的次数。比较二人次数,次数少的获胜。当二者猜的次数相同,则输出 平局。 请按要求编程: 1、补充完善下面的int guess( )函数,函数的功能是: 随机函数先产生一个[1,10]内的随机整数,让用户输入猜测的数,当输入的数比随机数大时,输出提示“大了”;当输入的数比随机数小时,输出提示“小了”,让用户反复猜,直到猜对为止。该函数要求记录猜数的次数。返回值为猜中的数。 #include <stdio.h> #include <stdlib.h> #include <time.h> int guess() { int magic; //magic用于保存随机数 srand(time(0)); //用系统时间初始化随机函数 magic=rand()%10+1; //产生一个1到10的随机整数 .......... //请完善函数的功能 } 2、编写main()函数,完成如下功能: 输出提示:请甲开始猜数。 调用guess函数,获得甲猜中的数、猜的次数,并输出。 输出提示:请乙开始猜数。 调用guess函数,获得乙猜中的数、猜的次数,并输出。 比较二人次数,次数少的获胜。当二者猜的次数相同,则输出 平局。 输入、输出样例:提示: 1、随机函数每次产生的数不同,甲、乙要猜的数可能不同 2、guess函数只能用return语句返回一个值(猜中的数),猜中的次数无法直接return,可以设计1个全局变量,用于保存每次调用guess求出的猜中次数。 (可参阅附加例题“歌唱比赛程序“中全局变量min或max的作用) (也可参考本周课件“变量的作用域”中第一个学习内容“请先动手做2---”中的例题。)
第5题
猜数游戏:程序利用随机函数产生一个[1,10]内的随机整数,让用户反复猜测,直到猜对为止,程序能提示猜数范围,并统计猜数次数。 甲乙二人先后进行猜数游戏,记录二人猜中花费的次数。比较二人次数,次数少的获胜。当二者猜的次数相同,则输出 平局。 请按要求编程: 1、补充完善下面的int guess( )函数,函数的功能是: 随机函数先产生一个[1,10]内的随机整数,让用户输入猜测的数,当输入的数比随机数大时,输出提示“大了”;当输入的数比随机数小时,输出提示“小了”,让用户反复猜,直到猜对为止。该函数要求记录猜数的次数。返回值为猜中的数。 #include <stdio.h> #include <stdlib.h> #include <time.h> int guess() { int magic; //magic用于保存随机数 srand(time(0)); //用系统时间初始化随机函数 magic=rand()%10+1; //产生一个1到10的随机整数 .......... //请完善函数的功能 } 2、编写main()函数,完成如下功能: 输出提示:请甲开始猜数。 调用guess函数,获得甲猜中的数、猜的次数,并输出。 输出提示:请乙开始猜数。 调用guess函数,获得乙猜中的数、猜的次数,并输出。 比较二人次数,次数少的获胜。当二者猜的次数相同,则输出 平局。 输入、输出样例:提示: 1、随机函数每次产生的数不同,甲、乙要猜的数可能不同 2、guess函数只能用return语句返回一个值(猜中的数),猜中的次数无法直接return,可以设计1个全局变量,用于保存每次调用guess求出的猜中次数。 (可参阅附加例题“歌唱比赛程序“中全局变量min或max的作用) (也可参考本周课件“变量的作用域”中第一个学习内容“请先动手做2---”中的例题。)
第6题
实现一个猜拳游戏,如下图所示。1、程序功能如下: (1)点击系统界面下方的“剪刀”、“石头”、“布”三个图片之一 (2)这时系统界面中间,左侧出现“剪刀”、“石头”、“布”表示的手形图片,表示用户出的拳。 (3)系统随机出现“剪刀”、“石头”、“布”表示的手形图片,显示在系统界面中间的右侧。 (4)系统判断游戏的胜负,结果显示在系统界面的上方,同时显示当前是第几局,以及比分。 2、要求用面向对象的思想完成程序的设计。要求除界面类外,至少包括一个类定义和对象的使用。 3、界面设计可以自己根据实际情况进行设计,不一定按题目要求。 注:程序所需图片请自已制作,本次实验不统一提供.
第7题
已知列表lst_suit=["黑桃","红桃","梅花","方块"],存放了扑克牌的所有花色,列表lst_face=["3","4","5","6","7","8","9","10","J","Q","K","A","2"],存放了扑克牌的所有牌面大小(按照牌面大小排列)。试编写程序,完成以下功能: (1) 利用列表生成式,将以上两个列表进行元素搭配,生成一个新的列表lst,存放所有牌面(不考虑大小王)。新列表lst的内容为['3黑桃', '3红桃', '3梅花', '3方块', '4黑桃', '4红桃', '4梅花', '4方块',……, 'A黑桃', 'A红桃', 'A梅花', 'A方块', '2黑桃', '2红桃', '2梅花', '2方块']。 (2) 使用random库的shuffle函数将列表lst中的元素次序打乱。 (3) 用户与电脑进行"抽牌比大小"游戏。游戏规则如下: l 用户输入序号(范围在0~51之间),程序根据序号在列表lst中读取牌面。 l 电脑抽牌由程序自动完成(通过random库的randint函数随机生成序号)。 l 将用户抽取的牌面与电脑抽取的牌面进行比较(不考虑花色),并将结果输出。输出内容对照如下: "恭喜,您赢了!" "很遗憾,您输了!" "咱们平手了!"
第8题
【算法说明】
程序实现了常见的猜数字游戏。游戏开始时由程序自动产生一个1到100的随机数,接收用户输入,并给出提示信息,直至用户猜对。用户猜对后,显示猜测次数,并提供“重新开始”和“退出”功能。
算法采用两层循环实现。外层循环采用do-while循环,由循环条件控制是否重新开始。内层采用for循环,用于判断用户的每次输入。m是随机产生的整数,键盘输入是字符串类型变量,n是整型变量。
【问题1】内循环还需要一个变量,其作用为(1)。
【问题2】请将流程图5.2补充完整。
第9题
第10题
【说明】
有一种猜数字游戏,开始时程序随机产生四个不相同的个位数字(顺序固定),然后玩家输入猜测的四个数字。程序比较后给出提示,本次猜数字有几个数字完全正确,有几个数字数值正确但是位置错误。玩家重复猜测直至结果完全正确。例如,程序生成“1234”,玩家猜测“1630”,则提示"位置正确的有:“1”个,位置错误的有:“1”个,完全错误的有“2”个。
下面的两个Java函数是猜数字游戏里面使用的两个函数,第一个用于产生四个不相同的数字。第二个函数先判断输入是否合法,若合法则进行比较,并给出提示。
【Java程序】
………………
private String randNum()//产生答案数字
{
int[] digits={0,1,2,3,4,5,6,7,8,9};
Random mum=new Random((new Date()).getTime());
for(int i=0;i<10;i++)
{
int p=Math.abs(rnum.nextInt())%10;
int tmp=digits[p];//tmp是临时存储数字的变量
(1);
digits[i]=tmp;
}
return Integer.toString(digits[0])+Integer.toString(digits[1])
+Integer.toString(digits[2])+Integer.toString(digits[3]);
}
String checkAnswer(String guess,Stdng answer)
{
if guess.length()!=4)return "要输入4个数字!";
int num=0;
try{ num=(2);} //判断输入是否是数字
catch(NumberFormatException ex)
{return "要输入数字!";}//catch
int[]timesDigit={0,0,0,0,0,0,0,0,0,0};
for(int i=0;i<4;i++){
int ptr=num%10;
num=num/10;
if (3) //输入数字有重复
return "数字有重复!";
}//for
int a=0;
int b=0;
for(int j=0;j<4;j++)
{
int pos=answer.indexOf(guess.substring(j,j+1));
if (4) //当前数字完全正确
a++;
else if(pos>=0)
b++;
}
if (5) //答案完全正确
return "恭喜!答对了!!";
else{
textAreaContent+= "位置正确的有:"+a+"个,位置错误的有:"+b+"
个,完全错误的有"+(4-a-b)+"个\n";
return "继续努力";
}
}
………………
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!