




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
技能实训(课程设计)总结报告实训项目 Java项目实训 系 部 软件工程系 指导老师 学 号 学 生 日 期 2011.6.29 实训报告撰写注意事项1、 报告内容至少应包括以下项目:1、 具体实训内容;2、 本次实训主要目的;3、 具体日程、实训地点、同组同学、指导老师等;4、 实验操作或技能训练步骤,课程设计还应包括设计任务书、原始参数、计算说明、图纸图表、程序清单等;5、 本次实训的主要收获与体会。2、 其余如报告的具体格式、篇幅等要求,视实训课程的区别由实训任课老师或课程设计指导教师按实训大纲,用实训指导书或课程设计指导书的形式具体规定。教务处 实训中心 制一、实训名称连连看小游戏二、实训项目的目的和功能本次实训是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JAVA的应用系统综合实例,来掌握Java语言编程技巧。 具体要求有以下几点:1.问题的描述与程序将要实现的具体功能。2.程序功能实现的具体设计思路或框架,并检查流程设计。3.代码实现。4.程序测试(如程序代码、功能测试、可靠性测试和效率测试等)。5.设计小结。三、实训项目的开发环境和所使用的技术使用Java核心API技术,利用Eclipse或NetBeans、JBuilder集成开发环境完成实训项目,界面友好,代码的可维护性好,有必要的注释和相应的文档。四、实训地点、日程、分组情况实训地点: 分组情况: 日 程:第一阶段:1.班级分组,选定课题,查阅相关资料 半天2.划分模块、小组成员分工 半天3利用CASE工具进行系统设计和分析,并编制源程序 3天第二阶段:上机调试,修改、调试、完善系统 1天第三阶段:撰写、上交课程设计报告,上交课程设计作品源程序(每人一份) 1天实训成绩评语一选题与分工选题:连连看小游戏分工: 姓名所做工作 查阅相关的书籍,搜集资料 编写文档 程序编码 课程设计总结二问题描述及设计思路1. 问题描述:连连看小游戏。设计JDK界面的连连看小游戏,用户可以通过点击鼠标消除相同数字来结束游戏。2. 设计思路:本程序功能不是太复杂,主要工作是界面的设计。为减少通信接口设计,所有功能均在一个类中实现。程序中主要函数列表如下:函数名称函数功能简介public class lianliankan implements ActionListener()构建主面板public void init()程序入口public void randomBuild()随机数的建立public void fraction()实现计分public void reload()实现游戏重置private void initTimer()实现计时三具体设计1.程序代码import javax.swing.*;import java.awt.*;import java.awt.event.*;public class lianliankan implements ActionListener JFrame mainFrame; / 主面板Container thisContainer;static long startTime, endTime;static Timer timer = null;int maxTime;int time = 0;JPanel centerPanel, southPanel, northPanel; / 子面板JButton diamondsButton = new JButton65;/ 游戏按钮数组JButton exitButton, resetButton, setButton, newlyButton; / 退出,重列,设置,重新开始按钮JLabel fractionLable = new JLabel(0); / 分数标签JLabel timeLable = new JLabel(0);/ 时间标签JButton firstButton, secondButton; / 分别记录两次被选中的按钮int grid = new int87;/ 储存游戏按钮位置static boolean pressInformation = false; / 判断是否有按钮被选中int x0 = 0, y0 = 0, x = 0, y = 0, fristMsg = 0, secondMsg = 0, validateLV; / 游戏按钮的位置坐标int i, j, k, n;/ 消除方法控制public void init() mainFrame = new JFrame(JKJ连连看);thisContainer = mainFrame.getContentPane();thisContainer.setLayout(new BorderLayout();centerPanel = new JPanel();southPanel = new JPanel();northPanel = new JPanel();thisContainer.add(centerPanel, Center);thisContainer.add(southPanel, South);thisContainer.add(northPanel, North);centerPanel.setLayout(new GridLayout(6, 5);for (int cols = 0; cols 6; cols+) for (int rows = 0; rows 5; rows+) diamondsButtoncolsrows = new JButton(String.valueOf(gridcols + 1rows + 1);diamondsButtoncolsrows.addActionListener(this);centerPanel.add(diamondsButtoncolsrows);exitButton = new JButton(退出);exitButton.addActionListener(this);resetButton = new JButton(重列);resetButton.addActionListener(this);setButton = new JButton(设置);setButton.addActionListener(this);newlyButton = new JButton(再来一局);newlyButton.addActionListener(this);southPanel.add(exitButton);southPanel.add(resetButton);southPanel.add(setButton);southPanel.add(newlyButton);fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText();northPanel.add(fractionLable);timeLable.setText(String.valueOf(Integer.parseInt(timeLable.getText();northPanel.add(timeLable);mainFrame.setBounds(280, 100, 500, 450);mainFrame.setVisible(true);private void repaint() / TODO Auto-generated method stubpublic void fraction() fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText() + 100);public void time() timeLable.setText(String.valueOf(Integer.parseInt(timeLable.getText() + 100);public void reload() initTimer();startTime = System.currentTimeMillis()/1000;int save = new int30;int n = 0, cols, rows;int grid = new int87;for (int i = 0; i = 6; i+) for (int j = 0; j = 0) cols = (int) (Math.random() * 6 + 1);rows = (int) (Math.random() * 5 + 1);while (gridcolsrows != 0) cols = (int) (Math.random() * 6 + 1);rows = (int) (Math.random() * 5 + 1);this.gridcolsrows = saven;n-;mainFrame.setVisible(false);pressInformation = false; / 这里一定要将按钮点击信息归为初始init();for (int i = 0; i 6; i+) for (int j = 0; j 5; j+) if (gridi + 1j + 1 = 0)diamondsButtonij.setVisible(false);public void estimateEven(int placeX, int placeY, JButton bz) public void xiao() / 相同的情况下能不能消去。if (x0 = x & (y0 = y + 1 | y0 = y - 1)| (x0 = x + 1 | x0 = x - 1) & (y0 = y) / 判断是否相邻remove(); else for (j = 0; j j) / 如果第二个按钮的Y坐标大于空按钮的Y坐标说明第一按钮在第二按钮左边for (i = y - 1; i = j; i-) / 判断第二按钮左侧直到第一按钮中间有没有按钮if (gridxi != 0) k = 0;break; else k = 1; / K=1说明通过了第一次验证if (k = 1) linePassOne();if (y j) / 如果第二个按钮的Y坐标小于空按钮的Y坐标说明第一按钮在第二按钮右边for (i = y + 1; i = j; i+) / 判断第二按钮左侧直到第一按钮中间有没有按钮if (gridxi != 0) k = 0;break; else k = 1;if (k = 1) linePassOne();if (y = j) linePassOne();if (k = 2) if (x0 = x) remove();if (x0 x) for (n = x0; n x) for (n = x0; n = x + 1; n-) if (gridnj != 0) k = 0;break;if (gridnj = 0 & n = x + 1) remove();for (i = 0; i i) for (j = x - 1; j = i; j-) if (gridjy != 0) k = 0;break; else k = 1;if (k = 1) rowPassOne();if (x i) for (j = x + 1; j = i; j+) if (gridjy != 0) k = 0;break; else k = 1;if (k = 1) rowPassOne();if (x = i) rowPassOne();if (k = 2) if (y0 = y) remove();if (y0 y) for (n = y0; n y) for (n = y0; n = y + 1; n-) if (gridin != 0) k = 0;break;if (gridin = 0 & n = y + 1) remove();public void linePassOne() if (y0 j) / 第一按钮同行空按钮在左边for (i = y0 - 1; i = j; i-) / 判断第一按钮同左侧空按钮之间有没按钮if (gridx0i != 0) k = 0;break; else k = 2; / K=2说明通过了第二次验证if (y0 j) / 第一按钮同行空按钮在与第二按钮之间for (i = y0 + 1; i 100) int result=JOptionPane.showConfirmDialog(thisContainer,时间到了!是否重新开始?,提醒 ,JOptionPane.YES_NO_OPTION);timer.stop();timer=null;if (result = JOptionPane.YES_OPTION) reload(); else thisContainer.setVisible(false);timer.stop();timeLable.setText(String.valueOf(100-(endTime-startTime);timer = new javax.swing.Timer(1000, actionListener);timer.start();public static void main(String args) lianliankan llk = new lianliankan();llk.randomBuild();llk.init();2.程序运行运用jar命令打包后如下:主界面如下:游戏主界面游戏进行游戏时间结束四课程设计总结经过一周的实训,虽然实训的时间不长,但是总体上还是受益多多。在以前,学习java的时候,虽然也经常上机操作,但是更多的是对于理论的理解。正是这次实训,它让我明白,java并不是一次简单的上机操作,它是一门语言,一门不是很复杂但却并不简单的计算机语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学法学的考试题及答案
- 成龙数学考试题目及答案
- 新质生产力与鸿蒙系统融合
- 民族风的课件
- 新质生产力的未来发展趋势研判
- 新质生产力赋能专业成长
- 教学工作方案幼儿园大班
- 新质生产力的关键发展领域
- 新质生产力与和谐共生关系
- 什么是新质生产力
- 2025年农村应急广播系统使用与维护培训模拟题集及解析答案
- 班级日常管理规范及实施方案
- 田径短跑教学课件
- 2026年高考政治一轮复习:必修+选必修共7册主观题背诵考点汇编
- 2025年《数字孪生与虚拟调试技术应用》课程标准
- TCCEAS001-2022建设项目工程总承包计价规范
- 人教版小学三年级数学(上册)全册教案
- 2024-2025学年人教版(2024)七年级英语上册 教学计划
- 米亚基点焊机MDA-4000B全中文说明书
- 年产xxx套劳保用品项目营销策划方案_范文
- U型桥台通用计算
评论
0/150
提交评论