欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

简单猜数字界面版源码

  • 资源ID:35468564       资源大小:62.50KB        全文页数:9页
  • 资源格式: DOC        下载积分:0积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要0积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付说明:
本站最低充值0.01积分,下载本资源后余额将会存入您的账户,您可在我的个人中心查看。
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

简单猜数字界面版源码

package com.game.caishuzi;import java.awt.Button;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Random;import java.util.Scanner;import java.util.Timer;import java.util.TimerTask;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;public class Window extends JFrame/* * */private static final long serialVersionUID = 1L;private static int num;private static String outtime;private static boolean waits = false;/false暂停 true继续public static void main(String args) JFrame jf = new JFrame();jf.setTitle("猜数字");jf.setLayout(null);setButtoms(jf);jf.setSize(400, 300);jf.setLocationRelativeTo(null);jf.setResizable(false);jf.setVisible(true);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);public static void setLables(JFrame jf)JLabel jl = new JLabel("级别:");JLabel sumtime = new JLabel("倒计时:");jl.setBounds(80, 70, 40, 30);sumtime.setBounds(20, 230, 55, 30);jf.add(jl);jf.add(sumtime);public static void setButtoms(final JFrame jf)Button bt0 = new Button("简单");Button bt1 = new Button("普通");Button bt2 = new Button("困难");Button bt3 = new Button("我猜");Button bt4 = new Button("答案");Button start = new Button("开始");final Button stop = new Button("暂停");Button bt = new Button("退出");final JLabel jtf = new JLabel("普通");/级别显示final JLabel messages = new JLabel();/级别结果信息final JTextField shuru = new JTextField("请输入5个不重复的数字!");/输入框shuru.setEnabled(false);/没有点击开始前,不能输入,只读设置/秒表,倒计时final JLabel time = new JLabel("10:00");bt0.setBackground(Color.gray);bt1.setBackground(Color.gray);bt2.setBackground(Color.gray);bt0.setBounds(80, 20, 50, 30);bt1.setBounds(170, 20, 50, 30);bt2.setBounds(260, 20, 50, 30);bt3.setBounds(230, 120, 50, 30);bt4.setBounds(300, 120, 50, 30);bt.setBounds(320, 220, 50, 30);start.setBounds(230, 70, 50, 30);stop.setBounds(300, 70, 50, 30);jtf.setBounds(130, 70, 50, 30);shuru.setBounds(80, 120, 140, 30);messages.setBounds(10, 150, 280, 30);time.setBounds(70, 230, 150, 30);/按钮事件 start/1.选择难度bt0.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) jtf.setText("简单");shuru.setText("请输入3个不重复的数字!");time.setText("3:00");waits = false;shuru.setEnabled(false);num=null;);bt1.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) jtf.setText("普通");shuru.setText("请输入5个不重复的数字!");time.setText("10:00");waits = false;shuru.setEnabled(false);num=null;);bt2.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) jtf.setText("困难");shuru.setText("请输入8个不重复的数字!");time.setText("20:00");waits = false;shuru.setEnabled(false);num=null;);/开始/final TimerTask task = new TimerTask() /计时器的方式显示时间动态/Override/public void run() /Window.run(outtime);/time.setText(outtime);/;/final Timer timer = new Timer(); final Thread t = new Thread(new Thread()/线程的方式实现时间动态Overridepublic void run() while(true)try Thread.sleep(10);/释放资源 catch (InterruptedException e1) e1.printStackTrace();while(waits)try Thread.sleep(1000); catch (InterruptedException e) e.printStackTrace();Window.run(outtime);time.setText(outtime);if("猜数失败!".equals(outtime)shuru.setText("别灰心,下次在努力吧!");shuru.setEnabled(false);return;);start.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) int n;final String times;if("简单".equals(jtf.getText()n = 3;times="3:00"else if("普通".equals(jtf.getText()n = 5;times="10:00"else if("困难".equals(jtf.getText()n = 8;times="20:00"elseJOptionPane.showMessageDialog(null,"请选择级别!");return;lifearray(n);/根据级别获取随机数shuru.setEnabled(true);shuru.setText("");messages.setText("");outtime = times;/Timer timer = new Timer(); /timer.schedule(task, 0,1000);waits = true;/让时间处于运行状态if(t.isAlive()elset.start(););/暂停stop.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) if("暂停".equals(stop.getLabel()waits = false;stop.setLabel("继续");elsewaits = true;stop.setLabel("暂停"););/我猜bt3.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) if(null=num)JOptionPane.showMessageDialog(null,"请先开始游戏!");return;if("".equals(shuru.getText()JOptionPane.showMessageDialog(null,"请输入数字!");return;int n;if("简单".equals(jtf.getText()n = 1;else if("普通".equals(jtf.getText()n = 2;else if("困难".equals(jtf.getText()n = 3;elseJOptionPane.showMessageDialog(null,"请选择级别!");return;String message = init(n,shuru.getText();if(!"".equals(message)/JOptionPane.showMessageDialog(null,message);messages.setText(message);if("恭喜你猜对了!".equals(message)shuru.setEnabled(false);/输入框只读waits = false;/倒计时停止num=null;);/答案bt4.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) String strs = ""for(int c: num)strs+=c;shuru.setText(strs);messages.setText("偷看答案不是好孩子哦!");waits = false;shuru.setEnabled(false);num=null;);/退出bt.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) jf.dispose(););/按钮事件endjf.add(jtf);jf.add(bt0);jf.add(bt1);jf.add(bt2);jf.add(bt3);jf.add(bt4);jf.add(bt);jf.add(start);jf.add(stop);jf.add(shuru);jf.add(messages);jf.add(time);setLables(jf);/生成随机数,不重复public static void lifearray(int s) num = new ints;/随机生成的数Random r = new Random();int a;for(int i=0;i<s;i+)a= r.nextInt(9)+1;int b = 0;for(int k=0;k<num.length;k+)if(a!=numk)b+;if(b=num.length)numi=a;elsei-;public static String init(int n,String str)String message = ""Scanner sc = new Scanner(System.in);int s;if(n = 1)s= 3;else if(n=2)s= 5;elses= 8;/int num = lifearray(s);/生成随机数/System.out.println(Arrays.toString(num);if(n=1)if(str.length()!=3)System.out.println("请输入3位数!");return "请输入3位数!"else if(n=2)if(str.length()!=5)System.out.println("请输入5位数!");return "请输入5位数"else if(n=3)if(str.length()!=8)System.out.println("请输入8位数!");return "请输入8位数!"/System.out.println(Arrays.toString(num)+":"+str);/开始猜数字int jishu = 0,sumjishu = 0;/统计有几个对的for(int i=0;i<s;i+)/位置数字都对的try if(Integer.parseInt(""+str.charAt(i)= numi)jishu+; catch (Exception e) /System.out.println("请输入数字!");return "你输入的不全是数字,请输入数字!"for(int i=0;i<s;i+)/包含的数字对了个数for(int k=0;k<s;k+)if(numi=Integer.parseInt(""+str.charAt(k) )sumjishu+;if(jishu=str.length()/System.out.println("恭喜你猜对了!");message = "恭喜你猜对了!"else/System.out.println("你共猜对了"+sumjishu+"个数字,位置对了"+jishu+"个,继续努力吧!");message = "你共猜对了"+sumjishu+"个数字,位置对了"+jishu+"个,继续努力吧!"return message;public static void run(String name)String str=name.split(":");int min = Integer.parseInt(str1);int hour = Integer.parseInt(str0);if(min!=0)min-;if(min=0&&hour!=0)hour-;min=60;if(min=0&&hour=0)outtime = "猜数失败!"elseouttime = hour+":"+min;

注意事项

本文(简单猜数字界面版源码)为本站会员(仙***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!