文档库 最新最全的文档下载
当前位置:文档库 › JAVA拼图大作业实验报告课案

JAVA拼图大作业实验报告课案

JAVA拼图大作业实验报告课案
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(过关所用步数);实现了游戏的账号注册和登录功能,以及每个账号成绩的记录和储存,并可以再推行界面中显示每个用户的游戏

记录

3.通过Timer类实现了拼图游戏计时功能

4.图片存储在项目文件夹下image文件夹中,通过名字的巧妙设置实现了打乱图片顺序,切换图片,判断拼图是否完成。

3系统分析与设计

3.1项目需求分析说明

立足于用户的角度,首先,我们实现了个性化的服务,即账号的注册和登录功能,不同的用户可以进行使用,使游戏具备了最重要的竞技性,只有这样才不会让用户感到无聊,并且我们实现了4X4拼图游戏的基本功能,而且配有游戏的时间的所用步骤,可以实时地反映给游戏用户,让用户清楚地了解到自己的分数,同时还可以记录游戏过关的时间和步数,满足了用户的冲击记录的心理需求,调高了游戏的可玩性,不会被用户快速地玩腻。

3.2系统设计方案

从用户的角度,我们需要有以下数据类型

数据库user

数据表user_info

列名称类型长度数据

username varchar 255 JAVA2016

password varchar 255 Java2016

score varchar 255 01:30

count int 11 56

username和password是用户的必有属性,可以进行登录和注册score和count 即用户所用的时间和步骤,双重分数完美呈现了每个人的实力

从系统设计角度

首先,

最主要的是实现最最基本的游戏功能,即设计拼图游戏的核心程序

1.拼图表格式的布局,容易让我想到使用按钮进行网格式布局

2.为每个按钮添加背景图片(这些背景图片需要经过事先的裁剪),

3.需要进行按钮背景图片的打乱,容易想到使用随机数RANDOM()

函数,然后会想到在背景图片的名字上做文章来进行背景图片的随机设置

4.我们把16个按钮存储在数组中,便于操作,然而数组最大的方便

之处在于他的随机存储,我们可以通过下标访问任意一个按钮,于是想到把图片的名字与下标联系在一起,解决了图片的随机排列

5.如何设置背景图片?我们需要有图片的路径,而图片的路径仅仅

是图片名字的不同,所以我们将固定的图片存储路径存放到字符串数组中,然后通过循环进行图片的设置,SetIcon()函数可以做到

这一切.

6.切换下一张,实质还是背景图片的变化,所以我们继续在图片名

字上做文章,设置一个表示数字代表是第几张的图片,把他设置到图片名字里面。然后切换下一张被简化为改变一个数字(编程思路要清晰),数字变即路径变,也就是背景图发生变化

总结:拼图-》背景图片的变化-》背景图片路径的变化-》图片名字的变化

接下来,

实现一个项目的登录和注册,我们需要数据库,而游戏的记录也需要数据库来存放,所以我么必须首先确立自己的数据库体系,如上所示,然后就是实现注册,将数据写入数据库和登录,在数据库中进行匹配,游戏记录的写入和读取。在游戏成功时,获取当时的时间和步数,写入对应的用户的数据表中,然后另一个界面中设置表格,从数据库中读取信息,然后写入到表格里面进行展示

最后,

我考虑了游戏的一些具体实现,游戏界面的设计,如何才能让用户看得舒心,玩的自在,和暂停等实用小功能,无限满足用户的需求。

以上,就是我在设计拼图游戏是系统设计方案,以后还会不断地完善自己的程序!

4系统源代码

4.1系统源代码文件说明

拼图游戏源代码结构

-分为4个窗口介绍

1.Frame1 主登录窗口

(属性)包括3个标签组件,4个按钮组件,2个文本域组件和1个布局,4个按钮的鼠标点击监听事件

(方法)包括1个函数来进行组件的添加和布局的设置,1个函数进行数据库的连接和读取,4个监听类进行事件的编写

2.Frame2 注册窗口

(属性)包括2个按钮,4个标签和3个文本域以及2个按钮的点击事件

(方法)包括1个函数进行组件的添加和布局的设置,1个函数进行数据库的连接和写入,2个监听类进行点击事件的编写

3.Frame3历史记录窗口

(属性)包括1个表格

(方法)包括1个函数进行表格的属性设置和数据库数据的读取并写入到表格中

4.Frame4 游戏窗口

(属性)包括4个按钮,3个标签,16个按钮和85张图片

(方法)包括1个函数进行组件的添加和布局的设置,4个按钮的点击事件函数,1个计时器的计时事件

其他:还有每个窗口中的字体的设置,面板位置的设置,等

4.2源代码

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.*;

import javax.swing.*;

public class Test {

MyListenner1 myListenner1=new MyListenner1();

MyListenner2 myListenner2=new MyListenner2();

MyListenner3 myListenner3=new MyListenner3();

MyListenner4 myListenner4=new MyListenner4();

MyListenner5 myListenner5=new MyListenner5();

MyListennerFanHui myListenner18=new MyListennerFanHui();

JFrame frame=new JFrame();//登录主窗口JFrame frame2=new JFrame();//注册窗口JFrame frame5=new JFrame();//注册窗口

JPanel pane00=new JPanel();//历史记录

JPanel pane0=new JPanel();

JPanel pane1=new JPanel();

JPanel pane2=new JPanel();

JPanel pane3=new JPanel();

JPanel pane4=new JPanel();

JPanel pane5=new JPanel();//注册界面JPanel pane6=new JPanel();//注册界面JPanel pane7=new JPanel();//注册界面JPanel pane8=new JPanel();//返回按钮JButton button7=new JButton("返回");

JLabel lab=new JLabel("☆简易拼图游戏☆"); //注册界面

JLabel lab1=new JLabel("游戏开始");

//登录界面/注册

JLabel lab7=new JLabel("☆账号注册界面☆");

JLabel lab2=new JLabel("账号:");//注册

JLabel lab3=new JLabel("密码:");//zhuce

JLabel lab4=new JLabel("确认密码:");

JTextField text1=new JTextField(10);//注册账号JPasswordField text2=new JPasswordField(10);//注册密码JPasswordField text3=new JPasswordField(10);

JButton button6=new JButton("注册");

JLabel lab5=new JLabel("账号");//登录

JLabel lab6=new JLabel("密码");//denglu

JButton button2=new JButton("进入游戏");

JButton button1=new JButton("注册账号");

JButton button3=new JButton("游戏记录");

JButton button5=new JButton("退出游戏");

JTextField text4=new JTextField(10);//登录账号JPasswordField text5=new JPasswordField(10);//登录密码

GridLayout lay1=new GridLayout(2,2,5,3);

GridLayout lay2=new GridLayout(4,2);

FlowLayout lay3=new FlowLayout(FlowLayout.LEFT,15,20);

Font font1=new Font("楷体",Font.BOLD,25);

Font font0=new Font("楷体",Font.BOLD,30);

int num=0;

int Count=0;

int a=0,b=0,c=0,d=0;

JFrame frame4=new JFrame();

MyListenner1_1 mylistenner11=new MyListenner1_1();

MyListenner2_1 mylistenner12=new MyListenner2_1();

MyListenner3_1 mylistenner13=new MyListenner3_1();

MyListenner4_1 mylistenner14=new MyListenner4_1();

MyListenner5_1 mylistenner15=new MyListenner5_1();

MyTimerlisterner mytimerlisterner=new MyTimerlisterner(frame4);

MyListennerJilu mylistenner16=new MyListennerJilu();

JPanel pane1_1=new JPanel();

JPanel pane1_2=new JPanel();

JPanel pane1_3=new JPanel();

JPanel pane1_4=new JPanel();

JPanel pane1_5=new JPanel();

JPanel pane1_6=new JPanel();

Timer timer;//计时器

//游戏界面按钮

JButton button1_1=new JButton("开始");

JButton button1_2=new JButton("下一张");

JButton button1_3=new JButton("暂停");

JButton button1_4=new JButton("返回");

JButton EmptyButton=new JButton();

JButton button_1[][]=new JButton[4][4];

//游戏界面标签

JLabel YuanTu=new JLabel();

JLabel BuShu=new JLabel();

JLabel ShiJian=new JLabel();

JLabel BuShu_num=new JLabel("步数:"+Count);

JLabel ShiJian_num=new JLabel();

JLabel label_time=new JLabel("时间:"+"00:00");

GridLayout TuLay=new GridLayout(4,4,0,0);

FlowLayout LeftLay=new FlowLayout(FlowLayout.LEFT,0,15);

void jiLu(){

int number=0;

String[] colname = {"编号","账号","时间","步数","日期"};

String[][] data=new String[10][5];

Connection conn=ConnectSql();

String sql="select username,score,count from user_info";

try {

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery(sql);

while(rs.next()){

String username=rs.getString(1);

String score=rs.getString(2);

int count =rs.getInt(3);

String num=""+number;

String count1=""+count;

if(count!=0){

data[number][0] =num;

data[number][1] =username;

data[number][2] =score;

data[number][3] =count1;

data[number][4] ="";

number++;

}

}

} catch (SQLException e1) {

// TODO 自动生成的 catch 块

e1.printStackTrace();

}

JTable table = new JTable(data,colname);

table.setEnabled(false);

JScrollPane jsPane = new JScrollPane(table);

pane00.add(jsPane,BorderLayout.CENTER);

frame5.add(pane00);

}

private String[][] order() {

String[][] exactnessOrder = new String[4][4];

for (int i=0; i<4; i++) {

for (int j=0; j<4; j++) {

exactnessOrder[i][j] = "image/"+ num+ i+j+ ".jpg";

}

}

return exactnessOrder;

}

//随机生成无序的图片给每个按钮

private String[][] reorder() {

String[][] exactnessOrder = new String[4][4];

for (int i=0; i<4; i++) {

for (int j=0; j<4; j++) {

exactnessOrder[i][j] = "image/"+ num+ i+ j+ ".jpg";

}

}

String[][] stochasticOrder = new String[4][4];

for (int i=0; i<4; i++) {

for (int j=0; j<4; j++) {

while (stochasticOrder[i][j]==null) {

int r = (int) (Math.random()*4);

int c = (int) (Math.random()*4);

if (exactnessOrder[r][c] != null) {

stochasticOrder[i][j] =

exactnessOrder[r][c];

exactnessOrder[r][c] = null;

}

}

}

}

return stochasticOrder;

}

//判断游戏是否完成

public Boolean isSuccess(){

int flag=1;

String[][] exactnessOrder = order();

for(int i=0;i<4;i++){

for(int j=0;j<4;j++){

if(!button_1[i][j].getIcon().equals(exactnessOrder[i][j] )){

flag=0;

}

}

}

if(flag==0){

return false;

}else{

return true;

}

}

//数据库连接函数

Connection ConnectSql(){

String url = "jdbc:mysql://127.0.0.1/user?useUnicode=true&characterEncod ing=utf-8&useSSL=false";

String username = "root";

String password = "153478"; // 加载驱动程序以连接数据库

try {

Class.forName("com.mysql.jdbc.Driver" );

return

DriverManager.getConnection( url,username, password );

}

//捕获加载驱动程序异常

catch ( ClassNotFoundException cnfex ) {

System.err.println(

"装载 JDBC/ODBC 驱动程序失败。" );

cnfex.printStackTrace();

} catch (SQLException e) {

System.err.println(

"无法连接到数据库。" );

e.printStackTrace();

}

return null;

}

void CreateTable(){

Connection conn=ConnectSql();

String sql="create table user_info(username varchar(255),password varchar(255),score int);";

Statement stmt;

try {

stmt = conn.createStatement();

stmt.execute(sql);

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

C#面向对象课程设计--拼图游戏

《C#程序设计》课程设计 题目:拼图游戏 专业:计算机科学与技术 学号: 姓名: 指导老师: 完成日期: 2012/12/26

《C#课程设计》评分标准 题目:拼图游戏专业:计算机科学与技术学号:姓名:

目录 1 前言 (4) 2 需求分析 (4) 要求 (4) 任务 (4) 运行环境 (4) 开发工具 (4) 3 概要设计与详细设计 (5) 系统流程图 (5) 结构功能图 (5) 4 编码与实现 (6) 编码分析 (6) 具体代码实现(附源代码) (9) 5 课程设计总结 (18) 参考文献 (19)

1.前言 拼图游戏一款非常经典的小游戏,因为它比较简单有趣,无论老少都比较适合。拼图的设计对每一个C#语言设计者进行语言提高和进阶都是一个很好的锻炼机会。拼图游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,如何设计和开发好这个拼图游戏,对于提高C#开发水平和系统的设计能力有极大的帮助。在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。一个3×3的魔板,有一个格子是空的,其他格子内随机放置1-8共8个编号的方块,通过单击任意一个与空格子相邻的方块可以把该方块移入空格子,不断的移动方块,直到方块按照图片的原来的顺序排好。 2 需求分析 要求 (1)用C#语言实现程序设计; (2)利用PictureBox控件来实现图片的移动 (3)超过200步提示重新来 (4)界面友好(良好的人机互交),程序要有注释。 任务 (1)制作流程图 (2)编写代码; (3)程序分析与调试。 运行环境 (1)WINDOWS2000/XP/win7系统 (2)编译环境 开发工具

vb大作业 实验报告

软件技术实验报告 学号2009300186 姓名赵佶男班级010109卓 越 大作业机房管理系统 课题基本目标要求: 1)可在系统中由系统管理员按班级指定时间进行上机课时安排,安排上机不得与其他已安排机时冲突。 2)在指定上机课时段,除了上机班级学生可以登录外,其余无关学生一律不得登录,除非系统管理员授权。预定上机时间结束时,自动 提前5分钟提示,待真正结束时即自动锁屏。 3)除上机课时安排以外,可以在机动时间段接受学生凭个人一卡通上机,且上机实施计时自动收费(即扣除学生一卡通上因上机而应缴 纳的上机服务费) 4)在接受零散学生付费上机时,可自动为其分配空闲机器并授权使用,在分配机器时应考虑机器的使用情况分布均匀,即每次分配机器是 前一时段未曾使用的机器,当学生一卡通上的余额,不足以支付1 小时上机服务费时,应提示其下机充值,并实施锁屏。 实验步骤: 首先,根据大作业的要求,我建立了机器表,流水表,学生基本情况表,上课表,以及一卡通表五个数据库表。机器表用来按照使用情况,选择空闲时间最长的机器。流水表用来记录现在机器以及人员使用的情况,是个

动态表,用来方便的取用和修改数据。学生基本情况表用来存放学生的学号,密码,班级等基本情况,以实现学生上课登录和自由登录。上课表存放各个班级的上课下课时间,以实现排课功能。一卡通表记录了每个学生一卡通内的金额,用来帮助实现上下机的扣费,以及余额不够支付一小时时间情况下得强制下机。 然后,我进行了窗体的设计。经过筛选优化,我设计了五个窗体,分别是主选择窗体,注册窗体,登录窗体,上课安排窗体,实时计费和下机窗体。 主选择窗体可以用来进行上课登录、学生自由登录、管理员登录和机器的推荐。注册窗体是用来进行学生登录密码的注册。登录窗体限制学生的学号和密码必须匹配才能登录。上课安排窗体可以输入班号、上下课时间并选择星期值。实时计费和下机窗体用来扣费并方便学生随时下机。 接下来,要按照要求进行代码的编写。 A)可在系统中由系统管理员按班级指定时间进行上机课时安排,安排上机不得与其他已安排机时冲突。 此功能我在排课窗体下用select选择出全体班级的上下课以及星期值,并将管理员希望的上下课时间转换为时间类型数值,进行循环比较,用do until 语句逐个比较,使得上下课时间点都不得在其他班级的上课时间段内。如果时间不冲突,就实施修改数据库的功能,并更新保存。 B)在指定上机课时段,除了上机班级学生可以登录外,其余无关学生一律不得登录,除非系统管理员授权。预定上机时间结束时,自动提前5分钟提示,待真正结束时即自动锁屏。 在主选择窗体内有上课登录按钮和自由登录按钮。点击上课登录,输入学

基于Android 益智拼图游戏设计毕业论文

基于Android 益智拼图游戏设计毕业论文 目录 摘要........................................................... I I Abstract....................................................... I II 1 绪论. (1) 1.1 课题开发的背景 (1) 1.2 课题意义 (1) 2 Android架构与开发平台搭建 (2) 2.1 Android的系统架构 (2) 2.2 Window下Android开发环境的搭建 (4) 3 流程介绍与概要设计 (5) 3.1 游戏流程介绍 (5) 3.2 系统概要设计 (6) 3.2.1 界面布局模块 (6) 3.2.2 难度选择模块 (6) 3.2.3 图片选择模块 (7) 3.2.4 步数和时间模块 (7) 3.2.5 游戏实现模块 (7) 4 系统详细设计与实现 (8) 4.1 界面布局实现 (8) 4.1.1 选择界面布局 (8) 4.1.2 游戏界面布局 (9) 4.2 游戏功能实现 (11) 4.2.1 难度选择 (11) 4.2.2 图片选择 (12) 4.2.3 步数和时间设置 (13) 4.2.4 拼图的实现 (14)

5 系统测试 (17) 5.1 Android仿真器介绍 (17) 5.2 功能模块测试 (17) 5.3 出现的错误及解决方案 (20) 6 总结与展望 (21) 参考文献 (22) 附录 (23) 致谢 (33)

基于Android益智拼图游戏设计 摘要 随着移动设备的日益普及,使用Android技术开发手机软件受到越来越多人的青睐。在此背景下,本课题开发了一款Android平台下的手机游戏——益智拼图。 本文首先对Android的研究背景,系统架构以及开发环境进行介绍,然后就玩家对游戏的需求进行一定的分析,最后运用Android技术实现拼图游戏的开发,并合理布局游戏界面,使游戏界面更加美观和人性化,实现了游戏的基本功能,最终可以让玩家享受拼图游戏的乐趣。 关键词:Android;拼图游戏;Activity;架构

数字拼图游戏

安徽新华学院计科软件测试方法和技术 课程设计任务书 一、设计题目:数字拼图游戏(出题人:於世芳) 说明:一个拼图游戏。 二、目的与要求 1.目的 培养学生综合利用JAVA语言进行程序设计的能力,主要是培养学生利用JAVA的标准控件进行应用程序设计的技能。 2.基本要求 ?能够实现拼图功能。 ?可以通过初始化任意次的重新游戏。 ?游戏完成后做出相应提示. 3.创新要求 在基本要求达到后,可以参考其他拼图游戏,进行创新设计,创新方向提示如下: ★将数字换成图片。 ★可以记录游戏者成绩并排行 ★增加暂停功能或窗口最小化时暂停计时。 三、设计方法和基本原理 1.问题描述 程序界面见题图。 2.问题的解决方案 ①设计程序界面 因为用的全是基本控件,界面设计没有什么难度,这里涉及到动态添加控件数组,可参见课本控件数组一节内容。 ②编写代码 代码包括事件处理过程和功能函数,还有必要的声明。变量声明部分声明本程序所需要的变量和数组。

事件处理包括下面的主要事件: Form_Load() 作一些初始化的工作。主要是设定初始等级,动态添加控件数组。 Private Static Sub cmdButton_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) 游戏运行。 cmd_Click( ) 游戏初始化 其它功能的处理不再一一描述了 四、主要技术问题的描述 虽然界面操作有些复杂,但难点显然并不在于此。下面是初始化设置中的一段程序:package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.events.Event; import flash.text.TextField; //import mx.controls.Alert; public class Main extends Sprite{ var arr:Array=new Array(1,2,3,4,5,6,7,8); var ditu:Array=new Array(new Array(3),new Array(3),new Array(3)); var pailie:Array=new Array(new Array(0,0),new Array(40,0),new Array(80,0), new Array(0,40),new Array(40,40),new Array(80,40), new Array(0,80),new Array(40,80),new Array(80,80));

C大作业图书管理系统实验报告

附件1: 学号:00126 《面向对象程序设计》 大作业 题目学生成绩管理系统 学院文法学院 专业教育学 班级教育学1201 姓名杨欣 指导教师鄢红国 2013 年12 月20 日

目录 一设计目的 (1) 二大作业的内容 (2) 三大作业的要求与数据 (3) 四大作业应完成的工作 (4) 五总体设计(包含几大功能模块) (5) 六详细设计(各功能模块的具体实现算法——流程图) (6) 七调试分析(包含各模块的测试用例,及测试结果) (7) 八总结 (8) 十参考资料 (9)

一大作业的目的 《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。 二大作业的内容 对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数等)进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出.将图书的信息进行记录,信息内容包含:(1)图书的编号(2)图书的书名(3)图书的库存量。假设,现收集到了一个图书馆的所有图书信息,要求用C语言编写一个简单的图书管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三大作业的要求与数据 1、用C语言实现系统; 2、对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数)进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出. 3、图书信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能: (1) 每一条记录包括一本图书的编号、书名、库存量 (2) 图书信息录入功能:(图书信息用文件保存,可以一次完成若干条记录 的输入。) (3) 图书信息显示浏览功能:完成全部图书记录的显示。 (4) 查询功能:完成按书名查找图书记录,并显示。 (5) 图书信息的删除:按编号进行图书某图书的库存量. (6) 借书登记系统:可以输入读者编号和所借书号来借书。 (7) 还书管理系统:可以输入读者编号和所借书号来还书。 (8)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

JAVA学生管理系统期末大作业

JA V A学生管理系统大作业 课程名称:JA V A编程基础 题目:学生信息管理系统 专业:计算机软件 班级:计算机软件121班 学号:8000612030 学生姓名:李俊楠 完成人数:1人 起讫日期:第十六周至第十八周 任课教师:龚根华职称:副教授 部分管主任: 完成时间:2015-1-2

目录 ------------------------------2 课题设计内容------------------------------3 程序功能简介 需求分析--------------------------------------------------3 总体设计---------------------------------------------------3 模块详细设计---------------------------------------------------4 数据库设计 ------------------------------5 主体内容 ------------------------------6 心得体会 -----------------------------11 参考书籍 -----------------------------12

一:课题设计内容 学生管理系统 学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。随着在校大学生人数的不断增加,教务系统的数量也不断的上涨。学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。 二:程序功能简介 2.1 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2.2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 2.3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所

sql大作业实验报告

目录 第一章、需求分析 (2) 1 、需求概述 (2) 2 、功能简介 (2) 第二章、概念结构设计 (3) 1、在员工实体内的E-R图 (3) 2、部门实体内的E-R图 (3) 3、在工资实体内的E-R图 (3) 第三章、逻辑结构设计 (4) 第四章、物理结构设计 (4) 第五章、数据库的实施和维护 (5) 一、数据库的创建 (5) 二、表格的建立 (5) 1、建立Employsse表插入数据并设计相关的完整性约束 (5) 2、建立departments表插入数据并设计相关的完整性约束 (7) 3、建立 salary表插入数据并设计相关的完整性约束 (8) 三、建立视图 (9) 四、建立触发器 (10) 五、建立自定义函数 (12) 六、建立存储过程 (13) 第六章、总结 (14)

第一章、需求分析 1 、需求概述 针对现代化公司管理情况,员工管理工作是公司运行中的一个重环节,是整个公司管理的核心和基础。它的内容对于公司的决策者和管理者来说都至关重要,所以公司管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件工籍,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 公司员工管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。 能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。 具体功能包括:系统应该提供员工数据的插入、删除、更新、查询;员工基本信息查询的功能。 2 、功能简介 员工管理系统它可以有效的管理员工信息情况。具体功能有以下几个方面。基本信息的添加,修改,删除和查询。学生信息管理包括添加、查看学生列表等功能。

MFC课程设计之拼图游戏设计报告

拼图游戏 实验报告 一、实验目的

1、通过实践加强对程序设计语言课程知识点的理解和掌握,培养对课程知识综合运用能力、实际分析问题能力及编程能力,养成良好的编程习惯。 2、通过实践进一步领会程序设计的特点和应用,提高运用C++ 以及面向对象知识解决实际问题的能力,初步掌握MFC变成的基本功能。 3、通过实践掌握用C++ 编写面向对象的实用程序的设计方法,对面向对象方法和思想增加感性的认识;学会利用C++程序设计语言编写出一些短小、可靠的Windows实用程序,切实提高面向对象的程序设计能力,为后续的相关课程的学习打下基础。 二、小组分工 为了发挥组内同学的各自特长,我们小组分工如下: 1、苏嘉彬——前期进行系统需求分析,系统结构设计,完成拼图界面的设计工作, 后期完成课程设计报告 2、嵇鹏飞(组长)——完成主要程序的编写工作(图形分割、存储、拼图) 3、依代吐力·艾尼——搜集资料,完成计时器的设计工作,软件接口的设计及测 试 三、程序设计思路 1、初步方案讨论 拼图游戏是同学们喜欢的益智游戏之一,带着浓厚的兴趣,我们选择拼图游戏设计 作为我们小组本次MFC课程设计的课题。在讨论中,有的同学希望用单文档(SDI) 的形式完成本次设计,有的同学则偏向于用对话框(Dialogue)的形式,最终我们小组 讨论决定最终的设计采用对话框形式实现拼图功能。 2、方案变更、疑难解决 (1)最初我们决定采用对话框形式来实现拼图的基本功能,但是在实施过程中出 现了几次很严重的错误:Debug Assertion Failed,缺少ivewers.dll文件等等,在最后的 尝试中我们发现如果采用单文档(SDI)形式写拼图的话,可以实现最基本的功能,因 此我们最终决定使用单文档来完成该课程设计。 (2)一开始我们讨论决定采用的方式是将位图读入后再进行图片的分割,而在实 际的操作过程中由于图片的分割有一定的困难,因此我们最后采用的方式是将位图进行 分割完毕后再逐个用Brush在指定位置上进行绘画,实现图形的分割。 3、系统需求分析 (1)系统功能 简单的拼图游戏应该有拼图、计时、判断拼图成功、游戏者用时统计排名等功能, 拼图内部还应该有难度选择、相邻拼图块自动拼图等功能。图1所示是拼图游戏的用例 图,表明拼图游戏的主要功能。 图1 (

Java大作业_学生成绩管理

Java大作业_学生成绩管理本科学生综合性实验报告 课程名称:Java开发技术 项目名称:学生成绩治理系统 学生姓名学号 指导教师 开课学期2011 至2012学年第一学期 完成时刻2011 年1 月 3 日

名目 摘要 2 1 项目研究开发的背景及意义2 1.1 本课题设计学术价值、理论意义和实践意义 2 1.2 本课题设计拟研究的要紧咨询题2 1.3重点和难点3 1.4 研究方法、预期效益3 1.5 本项目创新点和特色3 2 需求分析3 2.1 开发背景 3 2.2 项目目标 4 2.3 运行环境 5 2.4任务讲明书5 3 技术路线及关键技术7 3.1系统总体功能图7 3.2学生成绩治理系统的功能模块简介:8 3.3 系统运用的要紧技术: 29 3.4数据库设计29 3.5连接数据库32 4 测试报告及系统评判33 4.1 系统简介:33 4.2 系统特色及缺点:34 5 系统使用讲明34 5.1 用户操作指南: 34 6 个人感受及收成36 7大作业总结 37 感谢37 8 参考文献:38

摘要 人类已进入21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,专门是信息技术和网络技术的讯速进展和广泛应用,对社会的政治,经济,军事,文化等领域产生越来越深刻.学生成绩治理系统是一个教育单位不可缺 少的部分,它的内容关于学校的决策者和治理者来讲都至关重要。此次大作业的学生成绩治理系统是用java编程+SQL server 2000数据库+SQL查询语言实现的.重点介绍了学生成绩治理系统的实现过程:包括系统需求分析、功能设计、数据库设计、系统实现、系统测试和调试等。 关键字:成绩治理统计信息治理数据库 1 项目研究开发的背景及意义 1.1 本课题设计学术价值、理论意义和实践意义 现在的社会知识经济在世界经济进展的地位越来越高,国家综合国力和国际竞争能力越来越取决于教育进展,科学技术和知识创新的水平,教育在经济和社会进展过程中将出现出越来越突出的重要作用。学生成绩治理系统是一个教育单位不可缺少的部分,它的内容关于学校的决策者和治理者来讲都至关重要,因此学生成绩治理系统应该能够为用户提供充足的信息和快捷的查询手段。然而有些学校依旧使用传统人工的方式治理学生成绩,填写各种表格,这种治理方式存在着许多缺点,如:效率低,保密性差,另外所用其时刻长,产生大量的文件和数据,这关于查找,更新和爱护都带来了许多的困难。在此次大作业中,我综合java编程、SQL数据库和SQL查询语言来实现一个简单的学生成绩治理系统。 1.2 本课题设计拟研究的要紧咨询题 一个完整的学生治理系统包括四个功能模板: (1)差不多信息治理:包括对学生、教师、课程、成绩信息进行查找、删除、修改和添加。 (2)课表查询:学生和教师都能够对自身的课表进行查询。 (3)统计功能:对学生单科成绩、总成绩、所有学生成绩的平均分进行统计,并作出相应的排名。

Java程序设计大作业实验报告

目录 一、前言 (2) 二、需求分析 (3) 三、系统总体设计 (3) 3.1系统总体设计系统思路 (3) 3.2数据库设计 (4) 3.2.1 login1表的设计和数据 (4) 3.2.2 student表的设计和数据 (5) 3.2.3 course表的设计和数据 (5) 3.2.4 score表的设计和数据 (6) 3.3系统功能模块设计 (6) 四、系统详细设计 (7) 4.1登录模块 (7) 4.2 学生模块 (7) 4.3 教师模块 (8) 4.4 管理员模块 (8) 五、系统测试及运行结果 (9) 5.1 主界面 (9) 5.2 学生管理中心界面 (9) 5.3 教师管理中心界面 (10) 5.4 管理员管理中心界面 (10) 5.5 查询课表界面 (11) 5.6 查询成绩界面 (11) 5.7 查询教学情况界面 (11) 5.8 查询所有学生成绩界面 (12) 5.9 学生信息管理界面 (12) 5.10 学生成绩管理界面 (13) 5.11 用户管理界面 (13) 六、实验总结 (14) 七、参考文献 (14)

一、前言 随着计算机在人们生活中的普及和网络时代的来临,对信息的要求日益增加,学生信息管理业务受到了较为强烈的冲击,传统的手工管理方式传统的手工管理方式已不能适应现在的信息化社会。如何利用现有的先进计算机技术来解决学生信息管理成为当下的一个重要问题,学生信息管理系统是典型的信息管理系统,其开发主要就是针对前台的页面展示以及后台数据的管理。对于前者,要求应用程序功能完备,易于使用,界面简单;而对于后者,则要求数据库具有一致性、完整性,并能够依据前台的操作来对应操作后台数据库达到一定的安全性。 本学生信息管理系统主要采用的纯JAVA代码实现图形界面系统的开发,以及数据库知识进行数据的查询,删除,插入和更新。本系统主要分为三个部分:学生模块、教师模块、管理员模块。其中学生模块实现的功能:查询课表信息和查询成绩。教师模块实现的功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。管理员模块实现的功能:课表信息的管理、学生信息管理、学生成绩管理和用户信息管理。

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程序设计实验报告

Java 程序设计实验报告

实验一 JDK开发环境和结构化程序设计 实验学时:2 实验类型:综合性 一、实验目的 1.熟悉JDK开发环境。 2.熟悉UltraEdit/NotePad等编辑器编写、编译、运行Java程序。 3.掌握Java Application的程序结构和开发过程。 4.掌握Eclipse工具的使用。 5.结构化程序设计 二、实验内容 1.JDK开发环境 (1)J2sdk开发环境安装。假设JDK的安装路径为C:\JDK; (2)设置环境变量PATH和CLASSPATH(如果在autoexec.bat中没有进行设置)。如 SET PATH=C:\JDK\BIN;%PATH% SET CLASSPATH=.; %CLASSPATH%;d:\test_java (自己的工作目录) 2.UltraEdit/Notepad编辑器 练习使用Ultraedit/Notepad创建Java源程序的方法。

3.掌握Java Application程序开发过程 (1)编辑源程序,如下程序: import java.io.*; public class HelloWorld1{ public static void main(String arg[]){ System.out.println("Hello World!"); } } (2)保存文件,(注意大小写)。可将文件保存在“D:\test_java\”目录中,注意文件名为HelloWorld1.java。 (3)进入命令行(MS-DOS)方式,设定当前目录为“D:\test_java\”,运行Java 编译器: D:\test_java>javac HelloWorld1.java (4)如果输出错误信息,则根据错误信息提示的错误所在行返回EditPlus编辑器进行修改。常见错误是类名与文件名不一致、当前目录中没有所需源程序、标点符号全角等。 如果没有输出任何信息或者出现“deprecation”警告,则认为编译成功,此时会在当前目录中生成HelloWorld1.class文件。 (5)利用Java解释器运行这个Java Application程序,并查看运行结果。 D:\test_java>java HelloWorld1 4.Eclipse开发环境的使用 练习使用Eclipse实现第3步中Java HelloWorld程序的方法。

虚拟仪器大作业实验报告

东南大学生物科学与医学工程学院 虚拟仪器实验报告 大作业 实验名称:基于MIT-BIH心率失常数据库的心电信号系统的设计专业:生物医学工程 姓名:学号: 同组人员:学号: 实验室: 综合楼716 实验时间:2013/11/28 评定成绩:审阅教师:

目录 一.实验目的 二.实验内容 基于MIT-BIH心率失常数据库的心电信号系统的设计 1.实验要求和说明 2.程序设计流程图 3.程序各版块介绍说明 4.前面板的设计 5.调试过程 6.结果及分析 三.实验收获及小结 四.参考文献

一.实验目的 现代医学表明,心电信号(ECG)含有临床诊断心血管疾病的大量信息,ECG的检测与分析在临床诊断中具有重要价值,是了解心脏的功能与状况、辅助诊断心血管疾病、评估各种治疗方法有效性的重要手段。 本次大作业利用具有直观图形化编程和强大数字信号处理功能的虚拟仪器编程语言LabVIEW作为开发平台,设计一个基于虚拟仪器的简单心电信号分析系统,该系统具有心电信号的读取,处理分析,波形显示、心率显示及报警,波形存储和回放等功能。 二.实验内容 1.实验内容及要求 基于MIT-BIH心率失常数据库的心电信号系统的设计 1. 本次大作业所用原始信号是从MIT-BIH(Massachusettes Institute of and Beth Israel Hospital,美国麻省理工学院和波士顿贝丝以色列医院)心率数据库(https://www.wendangku.net/doc/635563715.html,/physiobank/database/mitdb/)中选取心电信号作为实验分析的数据。设计的系统要求对原始心电信号进行读取、绘制出其时域波形,利用原始心电数据中的时间数据控制显示时间,并具有保存回放功能,同时具有心率过快或过缓报警提示功能。 2. 心电信号是微弱低频生理电信号,通常频率在0.05Hz~100Hz,幅值不超过 4mV,它通过安装在皮肤表面的电极来拾取。由于实际检测工况的非理想,在ECG 信号的采集过程中往往会受到工频噪声及电极极化等各种随机噪声的影响。噪声的存在降低了诊断的准确性。其中影响最大的是工频干扰和基线漂移噪声。因此,在ECG 信号检测过程中,如何抑制工频干扰和基线漂移等是必须解决的问题。要求选择并设计合适的滤波器,除去所给心电信号的工频干扰和基线漂移。 3. 检测心率:检测信号心电的R波,计算平均心率和实时心率(R-R波时间间隔 的倒数),并显示实时心率和平均心率。 4. 对任一路心电信号滤波前后的信号进行时域分析和频谱分析,分别显示出结 果。

JAVA-课程设计(大作业)报告

课程设计(大作业)报告 课程名称:面向对象程序设计课程设计设计题目:设计一个记事本 院系:信息技术学院 班级: 设计者: 学号: 指导教师: 设计时间: 信息技术学院

昆明学院课程设计(大作业)任务书

简单记事本程序的设计 目录 一.题目分析 (5) 1.1需求分析 (5) 1.2功能要求设计 (5) 二.总体设计 (5) 2.1设计思路 (5) 2.2运行界面 (6) 2.3模块说明图 (6) 2.4主流程图 (7) 2.5 UML图 (7) 2.6程序相关说明 (8) 三.运行环境 (8) 四.详细设计与分析 (8) 4.1.初始化组件 (8) 4.2.构建菜单栏及其下拉菜单 (8) 4.3.“文件”菜单的事件监听 (9) 4.5.异常处理 (10) 五.调试分析 (12) 六.总结 (13) 七.参考文献 (14) 附录(源代码) (14)

一.题目分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有的能改变字体,有的能改变文字颜色。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。该程序主要用到了Java swing和事件监听等。 1.2功能要求设计 设计一个记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找替换等功能,可扩展功能。本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 5)菜单中有“文件”,“编辑”,“关于”三个主菜单。 6)“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新建文件,打开文件,保存文 件,退出记事本。 7)“编辑”中有“剪切”“复制”“粘贴”“颜色”四个子菜单:用于剪切文字,复制文字,粘贴文字 增加了“颜色”子菜单来对文字的颜色进行设置。 8)“关于”菜单中有关于记事本程序的制作日期,作者等信息,功能可自行增加。 提示:用图形用户界面实现,使用文件输入输出流。 二.总体设计 2.1设计思路 在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。JTextPane主要用来输入文本。为了加入颜色的设置,所以加了一个JColorChooser组件。

《数字逻辑电路》期末大作业实验报告

大连外国语大学软件学院 1数字逻辑电路概述 数字逻辑是数字电路逻辑设计的简称,其内容是应用数字电路进行数字系统逻辑设计。电子数字计算机是由具有各种逻辑功能的逻辑部件组成的,这些逻辑部件按其结构可分为组合逻辑电路和时序逻辑电路。组合逻辑电路是由与门、或门和非门等门电路组合形成的逻辑电路;时序逻辑电路是由触发器和门电路组成的具有记忆能力的逻辑电路。有了组合逻辑电路和时序逻辑电路,再进行合理的设计和安排,就可以表示和实现布尔代数的基本运算。 数字逻辑电路有易于集成、传输质量高、有运算和逻辑推理能力等优点,因此被广泛用于计算机、自动控制、通信、测量等领域。一般家电产品中,如定时器、告警器、控制器、电子钟表、电子玩具等都要用数字逻辑电路。 (阐述数字逻辑的现状、目的、意义、功能、方法及作用)2第一种数字逻辑电路 方法原理及功能 数据选择器又称为多路开关,是一种重要的组合逻辑器件,它可以实现从多路数据中选择任何一路数据输出,选择的控制由专门的端口编码决定,称为地址码,数据选择器可以完成很多的逻辑功能,例如函数发生器、桶形移位器、并串转换器、波形产生器等。 1、与非门实现二选一数据选择器: 用一种74SL153及门电路设计实现一位全加器,输入用三个单刀双掷开关分别代表A、B、C,输出用两个指示灯分别代表L1、L1。 设计过程与结果(描述方法的操作过程和结果,配截图详细介绍) 在元件库中单击TTL,再单击74LS系列,选中74LS153D。

仿真结果实际结果 L 1 亮单独打开开关A,B,C时; L1灯泡亮 L 2 亮任意打开两个开关; 灯泡L2亮

L 1 和 L 2 都 亮 同时打开开关A,B,C时; 灯泡L1,L2同时亮。 心得体会 经过许多次的失败,在不断尝试中选择一个适合的方式去解决问题,加强对电路的 理解。通过该实验可以培养我们的动手能力和对数字电路的理解。经检验,符合真值表, 达到数据选择的作用。74ls153为双四选一数据选择器,几多一个非门和或门可以组成 数据比较器。能更好的掌握相关芯片的知识,了解其用途。 失败电路一: 失败电路二:

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));//设置字体

数据库设计大作业

《数据库原理》课程大作业数据库设计与应用开发 课题名称:实验教学管理数据库设计 学号: 101530518 姓名:庞彪 专业年级: 10 级软工四班 成绩:

内容与要求 1. 请结合软件类专业课程实验教学环节设计数据库,实现实验教学的有效管理,具体功能应包括但不限于: (1)教师可以根据不同课程编辑和发布实验内容; (2)学生可以浏览实验内容,同时完成作品的提交; (3)学生可以在规定时间内填写、修改和提交实验报告; (4)教师可以通过应用系统批改实验报告,并提交成绩; (5)学生可以查询个人实验成绩; 2. 给出数据库设计各个阶段的详细设计报告,包括: (1)需求分析 (2)概念结构设计 (3)逻辑结构设计 (4)物理结构设计与实施 3. 写出应用系统的主要功能设计; 4. 写出收获和体会,包括已解决和尚未解决的问题,进一步完善的设想和建议; 5. 独自完成作业,有雷同的平分得分; 6. 也可以自行设计课题。

目录 1 绪论 (1) 2 应用系统功能设计 (2) 2.1 业务操作流程 (3) 2.2 系统功能设计 (3) 3 数据库设计 (4) 3.1 需求分析 (4) 3.2 概念结构设计 (7) 3.3 逻辑结构设计 (7) 3.4 物理结构设计与实施 (9) 4 结束语 (9) 4.1 收获和体会 (9) 4.2 总结与展望 (10)

1 绪论 在日常实验教学过程中,我们会遇到一些各种各样的问题,为了方便广大师生,提高教学效率,我们需要设计一种实验教学管理系统数据库软件,加强教师与学生之间的互动,实现信息化的现代化教育模式。 首先面临的问题是怎样实现教师安排学生进行实验的地点和时间。在遭遇不可预知因素时(例如:停电,教师请假,学生请假,学生设备损坏等),能够使师生交流如何解决这些特殊情况,将实验正常的进行。 其次教师可以利用该软件根据实际情况(如:不同课程等)编辑和发布实验内容,这些实验内容将保存下来,当进行教学评估时能够及时的将其任意内容调用出来。教师也能够对发布过的实验内容进行修改,但学生没有修改的权限。 第三,学生可以通过软件浏览实验当天教师发布的实验内容,也可以查找之前进行过的实验。当实验完成后,学生可以通过该系统进行作业的提交,每个学生只能提交一次作业。学生可以在规定的时间内填写、修改和提交实验报告,如果学生超过规定时间想要修改实验内容,需要向教师申请权限。 第四,教师能够通过该系统查收学生上交的实验报告,对所有的实验报告具有修改其内容的权利。对每个学生的实验成绩进行评估后,教师可以通过该系统提交各个学生的实验成绩,系统将这些内容存储到对应的学生档案数据中,如果出现提交错误的情况:如果在提交当天发现提交错误成绩,教师可以直接对成绩进行修改重新提交;否则教师与学生(成绩错误)需要向教务处申请复查成绩,核实情况后进行修改。 最后,学生可以通过该系统进行个人实验成绩的查询,当发现成绩有误时,可以通过该软件向教师申请成绩复查,教师收到成绩复查请求后,经过核实情况,如果情况属实,则向教务处提交成绩修改请求,核实情况后进行成绩的修改。 该实验教学管理系统最终目的是实现快捷的教学内容安排,方便的学生成绩查询,加强师生互动,最终达到提高教学效率和质量,构建信息化和谐教学模式。

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