Java拿火柴游戏实训报告

Java 实训报告程序名:拿火柴游戏姓名: 龙宇 学号: 2010221062 班级: 计应 101 班指导教师: 郑晓东时间: 2011.12.31一、 程序功能介绍火柴游戏的功能时通过用户与计算机相互对拿火柴的游戏程序,通过与计算机的对拿来训练人脑的逻辑思维能力。游戏简单,便于操作二、 运行效果及玩法该程序(火柴游戏)的功能用户与计算机相互对拿火柴的游戏程序,游戏的玩法是用系统产生的随机函数产生火柴数量(大约在 20—50 之间),每次每一方最多拿三根,最少拿一根,谁拿到最后一根,即为胜者。游戏的运行效果如下图图 1 所示,电脑随机产生了若干根火柴棍,图画面上按左边“Computer First”那个按钮,就是电脑先拿,如果点击的是右边的“TAKE ”按钮,就是人先拿。图 1具体步骤如下图所示1、如果是电脑先拿先单击 Computer First 按钮,电脑随机拿走一根火柴,并在电脑按钮下方显示“Computer takes 1 matches this time”提示信息,单击之后电脑拿走的按钮被禁用,直到用户单击自己的按钮之后才能再拿,具体情况如图 2 所示:图 22、之后用户单击自己的 Take 按钮,根据自己的情况拿相应的火柴数,比如说用户那个三根火柴如图 3 所示:图 33、可以看到用户根据自己的需要拿了三根火柴,之后电脑又拿了一根,如此循环,直到哪一方赢得比赛的胜利。从图 4,图 5 中可以看到用户赢得了比赛的胜利。图 4三、 设计主要内容:该游戏程序设计的主要内容是使用 java 中的各种组件与容器互相搭配来完成的一个小游戏。游戏设计中的主要的知识要点包括 java 的 awt 包中的颜色类,图形类,图像类,事件监听器类,和 util 包中的 stack 类,timer 类,和 timertask 类的使用方法,以及 swing 包中的窗口类,按钮类,标签类,面板类,复选框类等一些常用组件的用法。通过这些组件来掌握事件监听器的用法,java 中栈的用法,以及实现了 Runnable 类的TimerTask 类的用法,通过这个类实现线程技术,还有 Graphics 类中的主要方法的使用,学会运用这些方法来来绘制火柴,绘制图片的目的。四、 源程序import java.awt.Color;//引入颜色类import java.awt.Component;//引入组件类import java.awt.Dimension;//引入封装单个对象中组件的宽度和高度(精确到整数)的类import java.awt.Graphics;//引入图形类import java.awt.Graphics2D;//引入二维图形类import java.awt.event.ActionEvent;//引入事件类import java.awt.event.ActionListener;//引入事件监听器类import java.awt.image.BufferedImage;//引入缓冲图像类import java.util.Stack;//引入栈类import java.util.Timer;//引入计时器类import java.util.TimerTask;//引入了实现Runnable接口的类,并具有了线程的功能import javax.swing.JButton;//引入按钮类import javax.swing.JComboBox;//引入下拉列表框类import javax.swing.JFrame;//引入主框架主窗口类import javax.swing.JLabel;//引入标签类import javax.swing.JOptionPane;//引入选项面板类import javax.swing.JPanel;//引入面板类public class Test//定义一个公共的主类Test{public static void main(String[] args)//定义主方法main{new Test();//调用Test 类的构造方法Test()}private static final int MIN_CNT = 20;//定义一个常量,设置为最小火柴棍数量为20private static final int MAX_CNT = 50;//定义一个常量,设置为最大火柴棍数量为50private static final int MAX_TAKE = 3;//定义一个常量,设置为最大拿火柴数量为3private static final int DELAY = 1000;//定义一个常量,设置为延迟时间为1000private JFrame mainFrame;//定义主框架变量private MyPaintPanel[] paints;//定义我自己画的面板数组变量private JButton userBtn;//定义我的按钮属性private JComboBox userNum;//定义我的下拉列表private JButton compBtn;//定义电脑按钮属性private JLabel compTxt;//定义电脑标签private Timer timer;//定义计时器的变量private Test()//定义一个私有的构造方法,来完成游戏的初始化动作{mainFrame = new JFrame();//实例化一个主窗口mainFrame.setResizable(false);//设置窗体大小不可调整mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认的关闭操作为关闭窗口JPanel mainPanel = new JPanel();//实例化一个主面板对象mainPanel.setLayout(null);//设置布局为空,即没有任何布局mainPanel.setPreferredSize(new Dimension(600, 400));//将组件的首选大小设置为常量值mainFrame.add(mainPanel);//将主面板添加到框架(窗口)中JLabel lab11 = new JLabel(“电脑“);//创建并设置标签按钮的内容为电脑lab11.setHorizontalAlignment(JLabel.CENTER);//设置标签内容沿 X 轴的对齐方式lab11.setBounds(0, 10, 200, 20);//设置该标签显示位置为坐标(0,10 ),宽200,高20mainPanel.add(lab11);//将标签加入主面板JButton btn11 = new JButton(“Reset“);//定义一个重新来的按钮btn11.addActionListener(new ActionListener()//为“Reset” 添加行为事件监听器,采用匿名类的方式{@Overridepublic void actionPered(ActionEvent e)//实现监听器中的方法{init(

java拿火柴游戏流程图_Java拿火柴游戏实训报告相关推荐

  1. java与数据库综合实训_JAVA数据库学生管理系统实训报告

    <JAVA数据库学生管理系统实训报告>由会员分享,可在线阅读,更多相关<JAVA数据库学生管理系统实训报告(43页珍藏版)>请在人人文库网上搜索. 1.实训报告实训名称:学生成 ...

  2. 【源码+图片素材+详细教程】Java游戏开发_Java开发经典游戏飞翔的小鸟_飞扬的小鸟_Java游戏项目Flappy Bird像素鸟游戏_Java课程设计项目

    课程目标: 1.通过本课程的学习巩固Java的相关基础知识,例如循环判断,数组和集合的使用,对象的继承,接口的实现,窗口的创建,事件监听,图形绘制. 2.完成小鸟的移动,管道自动生成.碰撞死亡,计分系 ...

  3. java小游戏实训报告心得_Java实训报告-扫雷.doc

    Java实训报告-扫雷 实训报告书 实训名称: JAVA程序设计实训 系 (部): 信息工程系 专业班级: 计算机科学与技术08-1 学生姓名: 学 号: 指导教师: 完成日期: 山东科技大学泰山科技 ...

  4. java迷宫实训报告_Java综合实训报告-迷宫.doc

    Java综合实训报告-迷宫 目 录 1.需求分析2 2.概要设计2 2.1功能图3 2.2系统流程图4 3.详细设计4 3.1类关系图5 3.2类设计图5 类Maze5 类MazeGrid6 3.3主 ...

  5. java技术的综合应用实训报告_java实训报告--高.doc

    java实训报告--高 <Java实训>设计报告 五子棋游戏 专业:软件技术班级:09-23 学号:090123030姓名:高丛凡 石家庄科技信息职业学院 信息工程系 2011年10月15 ...

  6. 大专java实训报告_java实训报告

    <java实训报告>由会员分享,可在线阅读,更多相关<java实训报告(13页珍藏版)>请在人人文库网上搜索. 1.北京联合大学管理学院实 训 报 告专业 信息管理与信息系统班 ...

  7. java类与对象实验报告心得体会_java实习实训报告心得【三篇】

    [导语]Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.而学习Java的同学java实习实训是必经的过程.以下是无忧考网整理的java实习实训报告心得,欢迎阅读! java实习实训报告心 ...

  8. java聊天系统总结报告_java聊天系统实训报告

    java聊天系统实训报告 郑州轻工业学院实 训 报 告实训名称: 即时聊天系统 姓 名: 王路超 院 (系): 软件学院 专业班级: java01 学 号: 621313530123 指导教师: 刘育 ...

  9. java mysql实训报告_java数据库实训总结.doc

    java数据库实训总结 java数据库实训总结 篇一:JAVA数据库学生管理系统实训报告 实训报告 实训名称: 学生成绩管理系统实训 系 (部):专业班级:网络L1301学生姓名:刘鑫 学 号指导教师 ...

最新文章

  1. 86岁还在录网课:MIT教授Gilbert Strang最新「线性代数」课程上线
  2. LeakCanary——消除Android中的内存泄露
  3. 【Bapi】客户主数据快捷修改
  4. debian linux系统下载工具,Debian For Linux
  5. 状态码301 302
  6. 【02】koala编译中文出错(已放弃不用)
  7. 折线图_R语言画折线图?
  8. java gc 随记
  9. 社交App系统架构--自己亲手写的App系统(含github源码)
  10. JQuery-表单验证
  11. [渝粤教育] 中山大学 健康评估 参考 资料
  12. 2022NISCTF--web
  13. EasyCVR接入华为视频云系统查询集群编码和查询网关
  14. 常识之外:全表扫描为何产生大量 db file sequential read 单块读?
  15. 修改Win10系统文件夹C:\Users\下用户名为中文方法
  16. 7个最佳博客名称生成器,可帮助您找到好的博客名称提示
  17. SQL 语句多表联查
  18. HK1box硬改天线
  19. 安徽科技学院 信网学院网络文化节 房辉
  20. 温室大棚控制系统C语言代码,{新}温室大棚控制系统设计.doc

热门文章

  1. ubuntu20.04安装tensorflow2.4,安装过程中出现了ERROR: Could not find a version that satisfies the requirement...
  2. cmd中无法运行svn命令
  3. 我的Java代码::简单篇
  4. AI将带我们走向何方?
  5. 基于asp.net 校园快递管理系统的设计与实现
  6. 完美集成原生微信登录以及非常规问题解决(白屏,闪退假象,注册失败,刷新access_token)
  7. Android的WebView退出后flash视频播放器无法退出的问题
  8. 计算机数据库基础知识笔记,2012年计算机二级Access数据库基础知识笔记(8)
  9. 匀速圆周运动向心加速度推导
  10. 简单介绍如何调用第三方API