时间:2021-05-19
2008年的时候,在学习Java how to program第五版的时候,写过一个猜数字小游戏,是用Applet写的;
现在,我要用Swing重写这个小游戏,同时,加入一些新功能,如:背景颜色(红色表示偏高,蓝色表示偏低)、弹框、字体控制、布局管理器的使用。
运行截屏:
代码如下:
//Guess a number between 1 and 1000//Java how to program, 10/e, Exercise 12.14//by pandenghuang@163.comimport javax.swing.*;import java.awt.*;import java.awt.event.*;import java.awt.BorderLayout;import static java.awt.BorderLayout.*; public class NumberGuessGame2016 extends JFrame {int number,random,counter=0;JLabel welcomeJLabel;JLabel hintJLabel;JTextField guessField;JPanel panel;//显示不同背景色 public NumberGuessGame2016() { super("猜数字小游戏游戏"); setLayout(new BorderLayout()); panel=new JPanel(); panel.setBackground(Color.WHITE); welcomeJLabel= new JLabel("游戏规则:已随机生成一个1到1000的整数,您能在10次以内猜出来吗?"); welcomeJLabel.setFont(new Font("Simsun",1,10)); add(welcomeJLabel,NORTH); guessField=new JTextField(20); guessField.setFont(new Font("Arial",1,10)); panel.add(guessField); add(panel); //默认添加到中间 hintJLabel= new JLabel(""); add(hintJLabel,SOUTH); hintJLabel.setFont(new Font("Simsun",1,10)); TextFieldHandler handler=new TextFieldHandler(); guessField.addActionListener(handler); random=(int)(1+1000*Math.random()); } private class TextFieldHandler implements ActionListener { // process textfield events @Override public void actionPerformed (ActionEvent event) { while(true){ number=Integer.parseInt(guessField.getText()); while(number!=random) { number=Integer.parseInt(guessField.getText()); if(number>random) { hintJLabel.setText("猜高了,不要放弃哦↖(^ω^)↗。已试错"+(++counter)+"次"); guessField.setText(""); panel.setBackground(Color.RED); } else { hintJLabel.setText("猜低了,请继续!已试错"+(++counter)+"次"); panel.setBackground(Color.BLUE); guessField.setText(""); } } //猜中后的用户提示 if (counter<10) JOptionPane.showMessageDialog(null, "恭喜你,猜中了,难道你知道答案?O(∩_∩)O~"); else if (counter==10) JOptionPane.showMessageDialog(null, "辛苦了,终于猜中了!"); else JOptionPane.showMessageDialog(null, "您终于猜中了╮(╯▽╰)╭,您其实可以做得更好的!"); //开始下一轮猜数字游戏前的初始化工作 guessField.setText(""); random=(int)(1+1000*Math.random()); counter=0; } }} public static void main(String[] args){ NumberGuessGame2016 f = new NumberGuessGame2016(); // create ListFrame f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(400,300); f.setVisible(true); }}更多有趣的经典小游戏实现专题,也分享给大家:
C++经典小游戏汇总
python经典小游戏汇总
python俄罗斯方块游戏集合
JavaScript经典游戏 玩不停
java经典小游戏汇总
javascript经典小游戏汇总
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了java实现的简单猜数字游戏代码。分享给大家供大家参考。以下是Java语言写的一个猜数字小游戏引用片段:importjava.text.Simpl
本文实例为大家分享了java猜数字小游戏案例,供大家参考,具体内容如下packageday08;importjava.util.Scanner;publiccl
本文实例为大家分享了java实现猜数字游戏的具体代码,供大家参考,具体内容如下用java的循环还有选择做了一个猜数字游戏,挺简单的1.首先我们要猜的数字,当然这
猜数字小游戏,供大家参考,具体内容如下1、实验目的掌握循环、分支等结构的使用方法,以及数据类型转换的方法。2、实验内容设计并实现一款猜数字游戏。游戏开始之后,首
一个简单的linux猜数字小游戏源码游戏规则:猜数字游戏通常由两个人玩,一方出数字,一方猜。出数字的人要想好一个没有重复数字的4个数,不能让猜的人知道。猜的人就