文档库 最新最全的文档下载
当前位置:文档库 › JAVA拼图论文

JAVA拼图论文

2012届本科毕业设计(论文)

基于JAVA的手机游戏开发Based on JA V A mobile phone game

development

学院:工学院

专业:计算机科学与技术0801

姓名:刘洋

学号:080102060004

指导教师:高文玲

完成时间:2012年4月18日

二〇一二年四月

基于JAVA的手机游戏开发

摘要

本拼图游戏前期是基于J2SE平台开发的,是一个Application,它的实现过程是将一张大图切割成N张小图,然后在其中任意挑出N-1张小图,使它们随机出现在N个位置。通过鼠标或键盘的方向键移动已经切割的N-1张小图,让其复原成原来的顺序,玩家就胜利,游戏就结束了。在游戏结束之后,会自动将游戏得分及时间计算出来。让有些玩家可以查看自己的成绩。游戏可以设置多个等级,所拼的图片也可以进行选择,让游戏玩家可以根据自己的喜好进行选择。

关键词:JAVA语言;应用程序;游戏

Based on JA V A mobile phone game

development

Abstract

This puzzle is based on the J2SE platform,it is one the Application of the rules of the game and jigsaw puzzle Noah.This game will cut to a picture N Zhang diagram, then any single out N-1Zhang diagram,so that they appear randomly in the N position.By mouse or keyboard direction keys to move the N-1has been cut Zhang diagram,allowed to recover to their original order,the players on the victory,the game ended.After the end of the game,the game score calculated.The game can set up multiple levels,you can play complex,you can play simple,and so on

Keywords:Java language;application;game

随着计算机技术的不断发展,网络技术的普及范围也越来越广,网络能够提供的服务多样、便捷,已经成为人们生产生活中不可缺少的重要组成部分。特别是当今手机用户队伍的不断壮大,人们在使用手机进行交流的同时,也对手机的娱乐功能有了要求。智能机的出现,使得人们可以从网上下载各种游戏,在空闲的时间进行娱乐。人们对手机游戏种类、画面的流畅,丰富的颜色也有了一定的要求。手机游戏发展迅速,它凭借健康、方便、互动性强、益智等诸多优点,已经成为大部分现代人休闲娱乐的首选。

该课题所设计实现的拼图游戏是使用Java语言开发的一款游戏。这款游戏是一个小巧、益智的游戏。无论是服务器还是客户端的实现都相对容易。通过对该游戏软件的编写,还可以巩固学生对以上各种知识的掌握和理解。

第一章概述 (1)

1.1项目开发的背景 (1)

1.2项目开发的目的 (1)

1.3开发环境介绍 (1)

1.3.1.java语言 (2)

1.3.2myeclipse介绍 (2)

第二章可行性分析及总体设计原则 (4)

2.1可行性分析 (4)

2.1.1技术可行性 (4)

2.1.2经济可行性 (4)

2.1.3社会可行性 (4)

2.2总体设计原则 (4)

第三章系统分析 (6)

业务流程分析 (6)

第四章系统设计 (7)

模块流程图 (7)

第五章系统演示 (8)

5.1程序主界面 (8)

5.2等级设置 (12)

5.3图片选择 (19)

5.4拼图画面 (20)

5.5显示原图 (21)

5.6拼图成功 (22)

5.7打破拼图记录界面 (23)

5.8拼图成功后排名情况 (24)

结论 (25)

致谢 (26)

参考文献 (27)

西安外事学院工学院毕业论文

第一章概述

1.1项目开发的背景

随着科技的发展,现在手机的功能越来越多,越来越强大,手机游戏开发行业也应运而生。手机游戏画面也日趋细腻、流畅,规则复杂,具有很强的娱乐性和交互性。加之手机携带方便,人们可以随时随地可以沉浸在自己喜欢的游戏中,成为人们消遣时间的首选。庞大的用户群使得手机游戏的发展具有潜在的前景。由于大多数的手机都内置了Java的运行环境,加上Java语言自身的跨平台特性,Java成为了编写手机游戏时最常使用的语言之一。

拼图游戏很多人都玩过,它的游戏规则是将图片进行分割,然后将顺序打乱,要求游戏玩家从左至右的顺序进行移动分割好的图片,把打乱顺序的小图片拼成一个完整的图。前提要求是,每次只可以移动一个小图。这个程序实现了拼图游戏中的基本功能。首先你可以载入自己喜欢的图片,然后进行难易程度的选择,在打乱顺序的图片右侧有排列正确的原图,可以对比进行排列。在你点击开始的时候,同时开始计时,如果你成功地拼好,此时时间停止,同时给出成功提示信息,要求输入游戏玩家的姓名,并按照时间的长短进行比较、排名,每个等级只保留用时最少的游戏玩家的资料。如果发现自己完成不了,可以放弃当前正在进行的游戏,重新开始新游戏。

1.2项目开发的目的

1)实现程序GUI图形界面;

2)实现游戏开始、重来、退出功能;

3)设计实现游戏主要算法;

4)实现鼠标或键盘事件响应模块;

5)实现用户可选难度等级功能;

6)实现输赢自动判别功能。

7)查看原图功能

8)图片选择功能

9)关于游戏

1.3开发环境介绍

由于手机游戏开发普遍采用java语言,该游戏采用的开发环境为:JDK1.6,Myeclipse

集成开发环境。下面简要介绍一下开发语言及开发工具。

第一章概述

1.3.1.java语言

(1)简单性

Java与C++语言非常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。Java实现了自动的垃圾收集,简化了内存管理的工作。

(2)面向对象

Java吸收了C++面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。

(3)多线程

多线程使应用程序可以同时进行不同的操作,处理不同的事件。在多线程机制中,不同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样容易实现网络上的实时交互操作。

(4)分布性

Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便的访问其他对象。

(5)体系结构中立

Java是一种网络语言,为使Java程序能在网络的任何地方运行,Java解释器生成与体系结构无关的字节码结构的文件格式。为了使Java的应用程序能不依赖于具体的系统,Java语言环境还提供了用于访问底层操作系统功能的类组成的包,当程序使用这些包时,可以确保它能运行在各种支持Java的平台上。

(6)安全性

用于网络、分布环境下的Java必须要防止病毒的入侵,Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。

1.3.2myeclipse介绍

MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE 的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,Hibernate。

在结构上,MyEclipse的特征可以被分为7类:

1.J2EE模型

2.WEB开发工具

3.EJB开发工具

西安外事学院工学院毕业论文

4.应用程序服务器的连接器

5.J2EE项目部署服务

6.数据库服务

7.MyEclipse整合帮助

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集。

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。

MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。

第二章可行性分析及总体设计原则

第二章可行性分析及总体设计原则

2.1可行性分析

为避免开发失误,保证新系统的成功开发和运行,从技术、经济和社会三方面对本系统的可行性进行了分析和研究。

2.1.1技术可行性

本系统的开发基于Swing技术的拼图游戏开发。Swing可以轻松开发功能丰富的应用程序。现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,利用现有技术条件可以达到该系统的功能目标。本人在学校期间已经掌握Java设计思想和代码编写。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。

因此,java拼图游戏具有技术可行性。

2.1.2经济可行性

具有信息化的处理设施,并且拥有支持本系统的应用平台。因此无需再投入资金购买其他设施。系统的开发基于本人对程序开发的实践学习而来,无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。

游戏开发成功后可以提供娱乐、休闲等。

因此,java拼图游戏开发也具有经济可行性。

2.1.3社会可行性

本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。

(1)法律因素

系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。

(2)用户使用可行性

本系统对用户的要求,除了需要具备在Microsoft Windows平台上使用个人电脑的知识外,并不需要特别的技术能力。在投入使用前,无需对操作系统的人员进行培训。这样既减少投入成本又简化了操作环节。

因此,java拼图游戏也具有社会可行性。

2.2总体设计原则

本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则。其主要设计原则有:

简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。

针对性:本系统设计是针对java拼图游戏的需求定向开发设计,所以具有

西安外事学院工学院毕业论文

专业突出和很强的针对性。

实用性:要求本系统能够满足java拼图游戏的需要,因此具有良好的实用性。

一致性:页面整体设计风格以及命名规则的一致性:整体框架和用图用色风格及变量、类名和其他元素的命名规则保持一致。

功能一致性:完成同样的功能应该尽量使用同样的元素。

元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。

变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。

先进性:本系统采用Myeclipse做为开发工具,使用swing技术开发,软件具有良好的兼容性和系统稳定性。因此本设计具有良好的先进性。

第三章系统分析

第三章系统分析

业务流程分析

在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态。

业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。

java拼图游戏的具体的业务流程图,流程如图3.1所示。

图3-1

程序启动后,玩家进行难度的选择,再进行图片选择。

然后就可以点击开始游戏,游戏中移动分割后的小块,使其成为一幅完整的图片。拼图成功后会显示玩家的用时和步骤数,同时还会要求玩家输入姓名并查看排名。

西安外事学院工学院毕业论文

第四章系统设计

模块流程图

图4-1

主程序运行后,进行难度选择,难度分为高级、中级、初级三种等级,等级越高,图片被分割的块数越多,拼接的难度也越大。然后再进行图片的选择,本游戏中已经预先载入了三张图片可供玩家选择。最后点击开始游戏。

第五章系统演示

第五章系统演示

5.1程序主界面

运行程序得到如下主界面,界面中有游戏操作菜单栏和操作提示。菜单栏中有三个选项:开始,设置,关于。

主界面上还有操作提示,有助于我们快速了解该游戏的如何使用。

图5-1

主要代码:

import java.awt.image.BufferedImage;

import javax.swing.JButton;

import javax.swing.ImageIcon;

import javax.swing.JOptionPane;

import javax.swing.JRadioButtonMenuItem;

public class MainPinTu extends CardFrame

{

private boolean start;

private int fWidth=this.getWidth();

private int fHeight=this.getHeight();

西安外事学院工学院毕业论文private GameOver gOver;

private boolean index=true;

public MainPinTu()

{

start=false;

ImageIcon icon=new ImageIcon("icon/ico.png");

this.setSize(200+fWidth,200+fHeight);

this.setIconImage(icon.getImage());

this.setVisible(true);

}

private void startGame()

{

if(start)

return;

start=true;

updateMenuBegin();

}

public void endGame()

{

updateMenuBegin();

initMenuBackground();

start=false;

JOptionPane.showMessageDialog(null,

"时间:"+gOver.getTime()+"s\n"+

"步骤:"+gOver.getStep()

);

Grades g=new Grades(this);

g.set((int)gOver.getTime(),gOver.getStep());

}

protected void FrameLostFocus()

{

if(start&&index)

{

nextCard();

if(gOver!=null)gOver.pause();

index=false;

}

}

protected void FrameGetFocus()

第五章系统演示

{

nextCard();

if(gOver!=null)gOver.pause();

index=true;

}

public void menuNewClick()

{

Split sp=Split.get();

BufferedImage[][]image;

if(!sp.set(getFilename())||(image=sp.divid(getType()))==null)

{

JOptionPane.showMessageDialog(null,"文件"+getFilename()+"不存在!\n请选择~");

return;

}

startGame();

this.setSize(fWidth,fHeight);

this.setVisible(true);

int len=Split.level[getType()];

int row=image.length;

int cal=image[0].length;

gOver=new GameOver(this);

JButton[][]button=new JButton[row][cal];

Matrix matrix=new Matrix(button,panel[0],len,gOver);

matrix.init(image);

this.setSize(cal*len+fWidth,row*len+fHeight);

this.setVisible(true);

}

public void menuGradesClick()

{

Grades g=new Grades(this);

g.show();

}

public void menuShowClick()

{

new ShowImage(getFilename());

}

西安外事学院工学院毕业论文

public void menuExitClick()

{

System.exit(0);

}

public void menuHelpClick()

{

String help0="移动小图片,使其成为原始图像。\n\n";

String help1="触摸周围的空白块小图片,使其走向空白块移动。";

JOptionPane.showMessageDialog(null,help0+help1);

}

public void menuAboutClick()

{

String version="名称:java拼图游戏\n";

String author="作者:文之秀创意工作室\n";

String email="E-mail:295199087@https://www.wendangku.net/doc/ff1038976.html,";

JOptionPane.showMessageDialog(null,version+author+email);

}

public static void main(String[]argv)

{

MainPinTu app=new MainPinTu();

app.setSize(400,300);

}

}

第五章系统演示

5.2等级设置

在设置菜单中有等级选择项,等级分为Hard,Normal,Easy。难度不同,对图片所分割的块数就不同,等级越高,分块数越多,拼图的难度也就相应的增加。

图5-2

代码如下:

import java.io.File;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JRadioButtonMenuItem;

import javax.swing.ButtonGroup;

import javax.swing.KeyStroke;

public abstract class MenuFrame extends JFrame

{

public final static int heightTitle=30;

public final static int widthTitle=6;

public final static int heightMenu=27;

西安外事学院工学院毕业论文

private JMenu[]m={

new JMenu("开始(B)"),

new JMenu("设置(O)"),

new JMenu("关于(A)")

};

private JMenu[]mm={

new JMenu("等级(L)"),

new JMenu("图片(B)")

};

private boolean update;

private int type;

private String filename;

protected ButtonGroup bgrp=new ButtonGroup();

protected ButtonGroup fgrp=new ButtonGroup();

public MenuFrame()

{

super("Java拼图游戏");

addMenu();

this.setResizable(false);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setSize(widthTitle,heightTitle+heightMenu);

this.setLocation(

this.getToolkit().getScreenSize().width/3-this.getWidth()/3,

this.getToolkit().getScreenSize().height/3-this.getHeight()/3 );

}

private void addMenu()

{

JMenuBar mBar=new JMenuBar();

this.setJMenuBar(mBar);

mBar.add(m[0]);

mBar.add(m[1]);

mBar.add(m[2]);

m[0].setMnemonic('B');

m[1].setMnemonic('O');

m[2].setMnemonic('A');

第五章系统演示initMenuBegin();

initMenuOption();

initMenuAbout();

update=false;

}

public abstract void menuNewClick(); public abstract void menuGradesClick(); public abstract void menuShowClick(); public abstract void menuExitClick();

private void menuLevelClick(String nm)

{

type=3;

if(nm.equals("Hard"))

type=0;

else if(nm.equals("Normal"))

type=1;

else if(nm.equals("Easy"))

type=2;

}

private void menuBackgroundClick(String nm) {

filename=nm;

}

public abstract void menuHelpClick(); public abstract void menuAboutClick();

public int getType()

{

return type;

}

public String getFilename()

{

return filename;

}

private void initMenuBegin()

{

JMenuItem[]mI={

new JMenuItem("新建(N)"),

Java课程设计——拼图游戏

拼图游戏 1.游戏规则介绍 (1)本游戏中有一个格子是空的,其他格子内随机放置由要拿来拼图切割成的8个小图片。在开始游戏之前,会出现一张完整的图片,点击“菜单”里面的“开始”, 进行拼图游戏,通过将空格旁边的小图片与空格交换位置(不断的移动方块), 来实线拼图,直到方块一行一行的按图片的原始样子拼好即可完成该游戏。在 移动过程中,窗口右边会显示移动的步数。 (2)游戏拼完后,会弹出一个信息框,询问是否再玩一局,点击“Yes”将再打开一个游戏开始的界面,可以继续新的一局游戏,点击“No”将结束游戏,关闭所有窗 口。 2.游戏实现的功能 (1)点击运行程序,将弹出一个窗口,显示一张完整的图片。 (2)菜单栏的菜单,会出现3个菜单项:“开始”、“重新开始”、“结束”。 点击“开始”,即开始一局游戏;“在游戏的任何时候点击”重新开始“,即结束 当前游戏,重新开始一局新的游戏;点击“退出“,立即退出游戏,关闭窗口。 (3)在游戏过程中,游戏界面右边会同步显示当前的步数。 游戏的一些界面: (1)主界面: (2)菜单项:

(3)帮助--->关于 (4)点击开始 (5)游戏过程 (6)游戏成功

(7)破纪录 3.程序实现 Pt类: (1)建立一个类Pt,public class Pt extends JFrame implements KeyListener{}。该类继承父类JFrame,实现KeyListener接口。 (2)Pt类的构造函数Pt()。定义窗口参数,添加菜单栏和多个标签;调用读文件函数read (),读取该游戏的最高记录,并将该记录输出到标签上;为各个菜单添加事件,鼠标点击“开

java课程设计-拼图游戏代码

package love; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.*; public class Games extends JFrame implements ActionListener { private JButton buttons[][];// 存储按键的数组 private Container container;// 一个容器 private GridLayout layout;// 布局方式为GridLayout private int count = 0, is[] = new int[8];// count的作用是计算按键移动的次数,is[]储存一个随机产生的1到8数字数组 public Games() { super("拼图游戏");// 设置标题 layout = new GridLayout(3, 3);// 3行3列 container = getContentPane();// 该容器的布局方式,及其重要,否则产生空引用异常 container.setLayout(layout);// 将该布局方式作用于容器 buttons = new JButton[3][3];// 给按键数组分配储存空间 int locate1, locate2;// locate1用来指示当前产生的元素 locate2用来指示locate1之前的元素 for (locate1 = 0; locate1 < 8; locate1++) {// 该方法作用是产生1到8这8个数,随机分配给数组,即无序排列 int g = new Random().nextInt(8) + 1;// 随机产生一个空白按键,即不显示的那个 is[locate1] = g; for (locate2 = locate1 - 1; 0 <= locate2; locate2--) { if (is[locate1] == is[locate2]) break; } if (locate2 != -1) locate1--; } int temp = 0; int r = new Random().nextInt(3);// 随机产生一个0到3的数,代表空白按键的行 int l = new Random().nextInt(3);// 随机产生一个0到3的数,代表空白按键的列 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) {

java拼图游戏面向对象课程设计报告

姓名Name 学号 Student No. 20137045 班级 Class 代码总行数Code Lines 222 项目名称 Item 1.实验目的 本次课程设计旨在通过一个完整项目的开发,巩固面向对象程序设计、软件工程、数据库技术等课程的相关知识,加深学生对Java语言的理解,尤其是对面向对象思想、Java编码规范、JDBC访问数据库的理解,使学生进一步掌握环境构建、代码编写、文档阅读与理解、文档编写、软件测试、发行与部署等技能,进一步提高学生的学习能力、理解能力、表达能力及沟通能力。 2.实验内容 本次课程设计选定的实验项目是使用JAVA语言编写一个拼图游戏并实现其基本功能。不用自己手动切割图片,再进行加载。而是应用类方法在内存中进行图片切割和加载,方便了用户的使用。 利用了Graphics中的public abstract boolean drawImage()方法把img 中由(sx1, sy1)(sx2, sy2)指定的矩形区域画到observer 中由(dx1, dy1)(dx2, dy2)指定的矩形区域内进行构思拼图游戏的具体实现。 导入了一个可播放背景音乐的jar包,在玩游戏时可以欣赏背景音乐。 3.类图

4.运行界面

图1、游戏初始界面 图2、游戏运行界面

图3、拼图成功界面 5.关键代码(要求在类的定义以及方法定义的前面给出相关描述信息)//定义一个Pintu类 public class Jpgsaw extends JFrame{

private Image image, buff; //原始图片,缓存图片 private int[][] map = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8} }; //定义数组map,给分割后的图片标号 private Point point = new Point(2, 2); //记录第九块图片位置 private int sx; //分割后每一个图片的宽度 private int sy; //分割后每一个图片的高度 private Canvas canvas; //加载图片容器,定义可以显式定位子元素使用坐标是相对 Canvas 区域的区域,绘制图形 private Graphics gs; //gs画出Canvas图片坐标 private Graphics gb; //gb画出buff图像 private boolean isRunning = false; //游戏是否正在进行 private JButton start = new JButton("开始新的游戏"); // 按钮1 private JButton show = new JButton("显示正确图片"); //按钮2 private JTextArea showStep = new JTextArea("显示步骤");//设置步骤显示 private JPanel panel = new JPanel(); //一般轻量级面板容器,装在上面2个按钮 private int steps = 0; // 记录移动的步骤 public Jpgsaw(String title) { //构造方法,初始化变量 super(title);//调用了当前类Jpgsaw的父类JFrame的构造方法 try { //异常抛出 image = ImageIO.read(new File("gg.jpg")); //装载图片 } catch (IOException e) {//捕获自定义的异常 e.printStackTrace(); } initScreen(); //用此方法来初始化canvas,由于canvas 初始化较复杂,所以单独写一个方法 buff = new BufferedImage(715, 381, BufferedImage.TYPE_INT_BGR);//Image的一个子类,BufferedImage生成的图片在内存里有一个图像缓冲区,利用这个缓冲区我们可以很方便的操作这个图片 gb = buff.getGraphics();//存在于Image类中,存在于缓冲器中的图片,设置坐标 sx = image.getWidth(this) / 3;//图片分割后每一个图片的宽度 sy = image.getHeight(this) / 3;//图片分割后每一个图片的高度 setLayout(new BorderLayout());//设置此布局方法,加入控件 add(panel, BorderLayout.SOUTH);//布置容器的边框布局,它可以对容器组件进行安排,并调整其大小 add(canvas, BorderLayout.CENTER); panel.setLayout(new GridLayout(1, 4));//把组件按指定的几行几列分开,添加其他组件时,会按添加的顺序挨个添加到该组件上 panel.add(start); panel.add(show); panel.add(showStep); showStep.setEditable(false);//步骤默认false,使调用这个函数的控件不能被编辑 showStep.setFont(new Font("黑体", Font.PLAIN, 16));//设置字体

Java语言实现拼图游戏源代码

Java语言实现拼图游戏源代码 /* * JA V A小游戏-拼图我做的第一个小游戏 * Cell类是继承的按钮类,并加上相应图形,形成方格 *MyCanvas是一个面板,加载Cell类的对象(方格),是这三个类中的核心*/ import java.awt.Rectangle; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JOptionPane; import javax.swing.JPanel; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Choice; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.Icon; import javax.swing.JButton; public class MyMainFrame extends JFrame implements ActionListener { MyCanvas myCanvas; JPanel panelNorth,panelPreview;//定义上方的面板,及预览所需的面板Button start,preview,set;//定义开始,预览,设定按钮 Container container;//容器,得到内容面板 public MyMainFrame() {//初使化 container=this.getContentPane(); start=new Button("开始"); start.addActionListener(this); preview=new Button("预览");

java拼图游戏图片插入与分割

public static void cut(String srcImageFile, String descDir, int destWidth, int destHeight) { try { Image img; ImageFilter cropFilter; // 读取源图像 BufferedImage bi = ImageIO.read(new File(srcImageFile)); int srcWidth = bi.getHeight(); // 源图宽度 int srcHeight = bi.getWidth(); // 源图高度 if (srcWidth > destWidth && srcHeight > destHeight) { Image image = bi.getScaledInstance(srcWidth, srcHeight, Image.SCALE_DEFAULT); destWidth = 200; // 切片宽度 destHeight = 150; // 切片高度 int cols = 0; // 切片横向数量 int rows = 0; // 切片纵向数量 // 计算切片的横向和纵向数量 if (srcWidth % destWidth == 0) { cols = srcWidth / destWidth; } else { cols = (int) Math.floor(srcWidth / destWidth) + 1; } if (srcHeight % destHeight == 0) { rows = srcHeight / destHeight; } else { rows = (int) Math.floor(srcHeight / destHeight) + 1; } // 循环建立切片 // 改进的想法:是否可用多线程加快切割速度 for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { // 四个参数分别为图像起点坐标和宽高 // 即: CropImageFilter(int x,int y,int width,int height) cropFilter = new CropImageFilter(j * 200, i * 150, destWidth, destHeight); img = Toolkit.getDefaultToolkit().createImage( new FilteredImageSource(image.getSource(), cropFilter)); BufferedImage tag = new BufferedImage(destWidth, destHeight, BufferedImage.TYPE_INT_RGB); Graphics g = tag.getGraphics(); g.drawImage(img, 0, 0, null); // 绘制缩小后的图 g.dispose(); // 输出为文件

java拼图游戏代码

Puzzle类: package com.eavan; public class Puzzle { public static void main(String[] args) { // TODO Auto-generated method stub new PuzzleWin(); } } PuzzleWin类: /** * 可以为游戏添加一个计时的功能,让时间成为一个判定标准* 可以分析一下为什么图片不清楚 * 可以向怎么能够让选择图片和选择难度没有顺序性(较容易)* */ package com.eavan; import java.awt.Color; import java.awt.FileDialog; import java.awt.Graphics; import java.awt.GraphicsConfiguration; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.GridLayout; import java.awt.HeadlessException; import java.awt.Image; import java.awt.Transparency; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.Random; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel;

java拼图游戏设计报告

《Web程序开发》课程 大作业 拼图游戏 3011212046 张杰 2014.11

一、题目说明 拼图游戏不仅可以帮助人们打发时间,还可以用于锻炼儿童脑力,帮助少儿开发大脑思维,拼图游戏结合了许多元素,可以图片切割,游戏拼图,游戏成功时和打破记录时的判断,同时还有游戏时间和步数的记录,并以文档形式进行保存。在拼图时首先把图片添加到background目录下,程序会自动获取该目录下的所有文件,并加载到游戏中,进行切割后,显示在拼图按钮上。 本游戏使用Java语言设计,开发平台为JDK。开发工具Eclipse。JDK是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。 二、题意分析 因为要制作拼图游戏,所以首先要实现图片的导入。这是通过getImage()函数来实现的,该函数有两个参数,第一个参数指明图片的路径,第二个参数指明图片的名称。然后,因为要实现图片摆放的随意性,所以要通过initgame()函数来实现。Initgame()函数是自写函数,在函数体内,通过调用Math.random()函数产生随机数,用来达到图片位置摆放的随意性和随机性。最后,因为要实现人机交互.,所以首先要通过一系列函数来实现对鼠标事件的监听和响应,这是通过函数addMouseListener(this) 和addMouseMotionListener(this)来完成的。这样程序会区分用户对鼠标不同的操作,正确执行相应的功能。 游戏操作流程: 开始游戏 操作游戏 游戏完成

java语言实现拼图游戏源代码

java语言实现拼图游戏源代码 Java语言实现拼图游戏源代码 /* * JAVA小游戏,拼图我做的第一个小游戏 * Cell类是继承的按钮类,并加上相应图形,形成方格 *MyCanvas是一个面板,加载Cell类的对象(方格),是这三个类中的核心 */ import java.awt.Rectangle; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JOptionPane; import javax.swing.JPanel; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Choice; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.Icon; import javax.swing.JButton; public class MyMainFrame extends JFrame implements ActionListener { MyCanvas myCanvas; JPanel panelNorth,panelPreview;//定义上方的面板,及预览所需的面板 Button start,preview,set;//定义开始,预览,设定按钮

java拼图游戏完整代码

// Cell.java package cn.itcast.picture.ui; import javax.swing.Icon; import javax.swing.JButton; /* * 图片小方格类 */ public class Cell extends JButton { //带有图片的小方格 public Cell(Icon icon) { super(icon); //设置小方格大小 this.setSize(150, 150); } //带有图片和文字的小方格 public Cell(String text, Icon icon) { super(text, icon); //设置小方格大小 this.setSize(150, 150); this.setHorizontalTextPosition(CENTER);//设置文字水平居中显示 this.setVerticalTextPosition(CENTER);//设置文字垂直居中显示 } // public void move(String direction) { switch (direction) { case "UP": this.setLocation(this.getBounds().x,this.getBounds().y-150); break; case "DOWN": this.setLocation(this.getBounds().x,this.getBounds().y+150); break; case "LEFT": this.setLocation(this.getBounds().x-150,this.getBounds().y); break; case "RIGHT": this.setLocation(this.getBounds().x+150,this.getBounds().y);

java_课程设计报告_拼图游戏

目录 一、题目介绍、、、、 (3) 1、题目、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、3 2、任务、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、3 3、要求、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、3 二、需求分析、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、3 三、概要设计、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、4 1、功能分析、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、4

2、界面初始化、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、4 3、事件处理(1)鼠标事件、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、4 4、事件处理(2)键盘事件、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、5 5、状态判断、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、5 6、程序流程图、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、5 四、详细设计、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、6 1、、html代码设计、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、6

JAVA拼图大作业实验报告

2016秋季学期《Java语言》大作业 系统说明报告

目录 1项目目的与意义 (3) 1.1项目背景说明 (3) 1.2项目目的与意义 (3) 2 软件开发环境与技术说明 (4) 2.1软件开发环境 (4) 2.2软件开发技术描述 (4) 3系统分析与设计 (5) 3.1项目需求分析说明 (5) 3.2系统设计方案 (5) 4系统源代码 (8) 4.1系统源代码文件说明 (8) 4.2源代码 (8) 5系统使用说明书 (41) 6参考资料 (49) 7附件说明 (49)

1项目目的与意义 1.1项目背景说明 JAVA语言2016年学期期末大作业-44拼图游戏的设置 1.2项目目的与意义 目的:实现简单的4X4JAVA拼图游戏的简单功能,可以进行用户的登录和拼图游戏的完成,给用户以良好的游戏体验,再加入更多个性化的内容 意义: 从用户角度,设计一个简单但是十分考验人的小型拼图游戏,让人们在简单方便的操作中舒缓自己一天的疲惫,和朋友一起进行挑战,不断地突破,展现游戏的美丽,实现游戏的价值 从开发者角度,这是对我半年JAVA语言学习的检测,同时我也自学了许多东西,比如数据库的链接,SQL语句和JAVA的各种函数,让我可以真正的体会到开发一个项目的过程和需要付出的不懈努力,也让我享受到了自己尽全力完成一个项目的过程和完成后的喜悦。

2 软件开发环境与技术说明 2.1软件开发环境 JAVA开发环境-Eclipse JAVA支持包:import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.*; import javax.swing.*; mysql-connector-java-5.1.40-bin.jar(MySql驱动jar 包) 数据库环境:MySql数据库(使用的是Navicat图形界面) 2.2软件开发技术描述 1.拼图游戏界面设计主要使用了JAVA的GUI图形界面,主登录界面和账号注册界面使用的是流式FlowLayOut布局进行登录框和按钮的设置,而拼图游戏界面则是使用的网格式GridFlowOut布局. 2.通过连接MySql数据库,(名称:user),创建数据表user_info 列名称为:username(账号),password(密码),score(过关时间), Count(过关所用步数);实现了游戏的账号注册和登录功能,以及每个账号成绩的记录和储存,并可以再推行界面中显示每个用户的游戏

基于Java的拼图游戏设计

目录 1 开发环境及相关技术的介绍 (1) 1.1 开发环境 (1) 1.2 Java语言特点 (1) 2 游戏实现功能解析及界面 (1) 2.1游戏规则介绍 (1) 2.2游戏实现功能 (2) 2.2.1主窗口界面 (2) 2.2.2主窗口菜单 (3) 2.2.3 游戏过程中的出现的相关窗体 (6) 3 游戏程序实现 (8) 3.1 程序类主要功能介绍 (8) 3.2 程序源代码 (9) 4 小结 (27)

基于Java的拼图游戏设计 1 开发环境及相关技术的介绍 1.1 开发环境 操作系统:Microsoft Windows XP 程序语言:Java 开发环境:JDK-6u6-windows-i586-P 1.2 Java语言特点 1). 平台无关性 Java引进虚拟机原理,并运行于虚拟机,实现不同平台之间的Java接口。Java的数据类型与机器无关。 2). 安全性 Java的编程类似C++,但舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针入侵系统。它提供了安全管理器,防止程序的非法访问。 3). 面向对象 Java吸收了C++面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。 4). 分布式 Java建立在TCP/IP网络平台上,提供了用HTTP和FTP协议传送和接收信息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。 5). 健壮性 Java致力与检查程序在编译和运行时的错误,并自动回收内存,减少了内存出错的可能性。Java取消了C语言的结构、指针、#define语句、多重继承、goto语句、操作符、重载等不易被掌握的特性,提供垃圾收集器自动回收不用的内存空间。 2 游戏实现功能解析及界面 2.1游戏规则介绍 1)本游戏是一个Java语言的拼图游戏,有一个格子是空的,其他格子内随

Java课程设计拼图报告

Java应用技术实训报告 题目多功能拼图游戏软件 起讫日期2008 年6月20日至2008年7月4日所在院系软件学院 学生姓名雪碧专业成型 班级05-1 学号0508020102 指导教师赵旭宝职称讲师 所在单位软件教研室 2008年7 月4 日

一.总体设计 本系统共包括11个java源文件和2文件。这是个功能比较齐全的拼图游戏,最关键的不用自己手动切割图片,再进行加载。而是应用类方法在内存中进行图片切割和加载,方便了用户的使用。另外,该程序会根据图片的大小自动生成窗口大小,不会造成切割图片错误和切割错位。程序最后以*.rc格式的文件来保存游戏记录。 1.类之间的关系如图1所示。 2.java源文件及其功能如表1所示。

二、详细设计 该拼图游戏结合了许多元素,可以图片切割,游戏拼图,游戏成功时和打破记录时的判断,同时还有游戏时间和步数的记录,并以文档形式进行保存。在拼图时首先把图片添加到background目录下,程序会自动获取该目录下的所有文件,并加载到游戏中,进行切割后,显示在拼图按钮上。在游戏开始后会更新“开始“菜单,增加“显示图片”菜单项。拼图结束时可以显示游戏成绩和记录的存档。 1.主类Puzzle (1)成员变量见表2

(2)方法见表2-1 (3)源代码见文件Puzzle.java 2.类CardFrame (1)成员变量见表3

(2)方法见表3-1 表3-1 (3)源代码见文件CardFrame.java 3.类MenuFrame (1)成员变量见表4 (2)方法见表4-1 表4-1

(3)源代码见文件MenuFrame.java 4类ShowImage (1)成员变量见表5 (2)方法见表5-1 (3)源代码见文件ShowImage.java 5类Split (1)成员变量见表6 表6

人机交互--拼图游戏实验报告

人机交互 实验报告 题目趣味拼图游戏界面的设计与 实现 学院 专业 姓名 学号 班级 二O一三年一月四日

1.设计内容 1.1趣味拼图: 趣味拼图 1.2面向对象: 儿童 1.3主要功能描述 该系统用Java语言实现,小朋友通过控制鼠标,实现方格的移动。 1.4人机交互设计: 考虑该系统面向小朋友,拼图的难度做的很低,而且操作简单,图片是采用卡通动画上的人物,简单并且能吸引小朋友。考虑到一直点击鼠标会有点枯燥,该系统增加了各种好玩的音效,当点击鼠标,系统会根据不同的情况配有不同的声音,增加了拼图游戏的趣味性。并且小朋友可以选择自己喜欢的模式进行拼图,考虑到面向对象为小朋友,界面很友好,图片的颜色采用了比较鲜艳的颜色,主角卡通,线条清晰,各部分特点明显,也降低了拼图的难度,又不失趣味性,界面的按钮也进行了卡通形象装点。 2. 系统结构 2.1系统主界面: 系统刚开始进去是没有打乱顺序的拼图状态。 2.2系统开始界面: 该界面为打乱谁许后的状态。 2.3系统预览界面: 该界面是为方便小朋友拼图过程中没有记清楚样子设计的,能随时查看。 2.4系统设置: 该功能可以实现选取图片,小朋友可以选择自己喜爱的图片进行拼图。 2.5编码: 后台编码用了Java语言,总共设计了4个类,没有用数据库。 3界面设计 3.1拼图界面

3.1.1界面功能: 拼图主界面,总览全图。 3.1.2截图: 3.1.3操作: 小朋友可以通过点击鼠标实现方块的移动。 3.1.4界面设计的交互思想及交互原则: 为方便拼图,刚开始进入界面是一个没有乱序的图片,小图片大小为 100*100的正方形,看上去比较舒服。考虑到面向对象为小朋友,图片的颜色采用了比较鲜艳的颜色,主角卡通,线条清晰,各部分特点明显。体现了交互性原则。 3.1.5主要代码: private void init(){ container = this.getContentPane(); //按钮 start = new JButton("开始"); start.setBackground(Color.getHSBColor(0,111,1213)); start.setIcon(new ImageIcon("pictrue/start.png")); start.addActionListener(this); preview = new JButton("预览"); preview.setBackground(Color.getHSBColor(321, 102, 002));

9宫格拼图游戏

import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.*; public class Games extends JFrame implements ActionListener { private JButton buttons[][];// 存储按键的数组 private Container container;// 一个容器 private GridLayout layout;// 布局方式为GridLayout private int count = 0, is[] = new int[8];// count的作用是计算按键移动的次数,is[]储存一个随机产生的1到8数字数组 public Games() { super("拼图游戏");// 设置标题 layout = new GridLayout(3, 3);// 3行3列 container = getContentPane();// 该容器的布局方式,及其重要,否则产生空引用异常container.setLayout(layout);// 将该布局方式作用于容器 buttons = new JButton[3][3];// 给按键数组分配储存空间 int locate1, locate2;// locate1用来指示当前产生的元素locate2用来指示locate1之前的元素 for (locate1 = 0; locate1 < 8; locate1++) {// 该方法作用是产生1到8这8个数,随机分配给数组,即无序排列 int g = new Random().nextInt(8) + 1;// 随机产生一个空白按键,即不显示的那个 is[locate1] = g; for (locate2 = locate1 - 1; 0 <= locate2; locate2--) { if (is[locate1] == is[locate2]) break; } if (locate2 != -1) locate1--; } int temp = 0; int r = new Random().nextInt(3);// 随机产生一个0到3的数,代表空白按键的行 int l = new Random().nextInt(3);// 随机产生一个0到3的数,代表空白按键的列 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (r == i && l == j) {// 空白按键设置为9,不显示 buttons[i][j] = new JButton("9"); container.add(buttons[i][j]); buttons[i][j].setV isible(false); } else { buttons[i][j] = new JButton("" + is[temp++]);// 将数组数组的值作为显示的8个按键的名字 container.add(buttons[i][j]); }

JAVA拼图游戏论文

四川师范大学成都学院高级语言程序课程设计基于JAVA的拼图软件的设计 学生姓名彭长龙 学号2011101046 所在学院通信工程学院 专业名称通信工程 班级2011级1班 指导教师王敏 成绩 四川师范大学成都学院 二○一三年五月

课程设计任务书 学生姓名彭长龙学生学号2011101046 学生专业通信工程学生班级2011级1班 指导教师王敏职称助教 发题日期2013年03月15日完成日期2013年06月10日 设计题目基于JAVA的拼图软件的设计 设计目的: (1)通过课程设计,学会使用java系统,包括对程序的调试、运行、保存等知识的运用。(2)通过课程设计,开发一个小游戏,并掌握研发全程。 (3)通过课程设计,培养发现问题、分析问题、解决问题的能力。 具体任务及要求: 设计任务: ①任务:设计一个简单的拼图游戏 功能要求:能够实现基本的拼图功能,以及退出,记录数据等功能;界面简洁。 ②设计任务要完成设计、编码、测试等过程,给出设计思路、设计说明书、主要的代码的说明、使用说明书。源代码以及可运行的拼图程序。 具体要求: ①设计任务与要求 ②总体方案与说明 ③面向对象的设计(主要类的设计) ④源程序清单与注释 ⑤小结与体会。 课程设计进度安排: 序号内容安排时间 1 选定课程设计题目03.15-3.20 2 构思程序结构03.21-04.20 3 编写并调试运行程序04.21-05.10 4 写课程设计论文05.11-05.25 5 修改并提交05.25-06.10 课程设计参考文献: [1]唐大仕:Java程序设计[M],北方交通大学出版社,2007.05:P56-P62 [2]郑莉:Java语言程序设计[M],清华大学出版社,2007.01:P67-P75 [3]朱站立:Java程序设计实用教程[M],电子工业出版社,2006.10:P58-P70 [4]耿祥义:java2实用教程[M],清华大学出版社,2007.3:P81-P92 指导教师签字院长审核签字

java课程设计-拼图小游戏

苏州市职业大学 课程设计说明书 名称《计算机语言java课程设计》 ____《拼图小游戏》________ 2011年月 6日 22 至 2011 年 6月25日共 1周 院系____计算机工程系__________ 班级___10软件技术(服务外包)2 姓名______徐华军 _____________ 系主任_______李金祥_____________ 教研室主任________叶良______________ 指导教师____孙赢李璐_____

目录 目录 (2) 一、课程设计的目的与要求 (3) 二、题目说明 (3) 2.1开发工具介绍 (3) 三、总体设计 (4) 3.1.系统开发平台 (4) 3.2.系统流程图 (4) 3.3.功能结构图 (5) 四、详细说明 (5) 4.1图形界面 (5) 4.2游戏开始界面和游戏进行界面 (7) 4.3游戏完成界面 (8) 4.4显示成绩界面 (9) 五、遇到的问题和解决方法 (9) 六、课程设计总结 (10) 七、参考文献 (11) 附录源代码 (11)

一、课程设计的目的与要求 (1)通过课程设计,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。 (2)通过课程设计,学会使用java系统,其中包括对程序的调试、运行、保存等知识的运用。 (3)通过课程设计,提高程序开发功能,能运用合理的方法简化java程序的操作。 (4)通过课程设计,开发一个小游戏,掌握研发全程。 (5)通过课程设计,培养分析问题、解决问题的能力。 二、题目说明 拼图游戏一款非常经典的小游戏,因为它比较简单有趣,无论老少都比较适合。拼图的设计对每一个Java语言设计者进行语言提高和进阶都是一个很好的锻炼机会。 拼图游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,如何设计和开发好这个拼图游戏,对于提高Java开发水平和系统的设计能力有极大的帮助。在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。 2.1开发工具介绍 Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse 工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。

相关文档
相关文档 最新文档