辽宁工业大学JAVA课程设计坦克大战

辽宁工业大学JAVA课程设计坦克大战
辽宁工业大学JAVA课程设计坦克大战

辽宁工业大学

《Java语言程序设计》课程设计(论文)

题目:坦克游戏

院(系):软件学院

专业班级:软件工程133班

学号:

学生姓名:

指导教师:翟宝峰

参考网址 : https://www.360docs.net/doc/e13972067.html,

教师职称:副教授

起止时间:2014.6.9——2014.6.20

课程设计(论文)任务及评语

院(系):软件学院教研室:软件教研室

目录

第1章课程设计目的与要求 (1)

1.1设计目的 (1)

1.2实验环境 (1)

1.3预备知识 (1)

1.4设计要求 (1)

第2章课程设计内容 (2)

2.1 课题描述 (2)

2.2 系统设计 (3)

2.2.1功能分析 (3)

2.2.2面向对象设计 (4)

2.2.2类成员描述 (5)

2.3程序实现 (6)

2.3.1源码分析 (6)

2.3.2运行结果 (13)

第3章总结 (15)

参考文献 (16)

第1章课程设计目的与要求

1.1设计目的

将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:

(1)进一步巩固、加深学生所学专业课程《JAVA语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用JAVA语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

(5)掌握面向对象程序设计的方法。

(6)熟练掌握JAVA语言的基本语法,灵活运用各种数据类型。

(7)进一步掌握在集成环境下如何调试程序和修改程序。

1.2实验环境

硬件要求能运行Windows 操作系统的微机系统。JAVA语言应用程序开发软件使用:VJAVA 系统,或其他JAVA语言应用程序开发软件。

1.3预备知识

熟悉JAVA语言程序设计的基本知识及VJAVA编辑器的使用方法。

1.4设计要求

1.仔细分析设计题目,画出程序流程图,编写程序源代码。

2.积极上机调试源程序,增强编程技巧与调程能力。

3.认真书写课程设计预习报告,课程设计说明书。

4.遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成课程设计内容。

第2章课程设计内容

2.1 课题描述

随着手机的日益普及,java功能在移动设备上的实现及java应用程序产生的影响力,对丰富人们的生活内容,提供便捷的咨询起着不可忽视的作用。本项目介绍了坦克大战的基本构建方法、java的相关技术及本程序的结构分析和具体功能的实现。游戏是在Eclipse环境下编程。本项目重点运用了图形化用户界面GUI,Thread多线程的有关知识,其中涉及了绘图工具的运用,事件处理操作以及图形的碰撞检测等知识点。通过此课程设计,使学生巩固所学知识、培养学生动手能力,了解Java的面向对象的体系结构。学生用Java语言设计一个完整的应用程序,综合应用所学知识完成软件的分析、设计、调试和总结,提高学生对Java语言的综合应用能力和解决问题的能力。

人类进入21世纪,全球一体化,互联网就起到重要的作用,而且随着互联网的不断发展,信息技术逐渐发展壮大,将成为网络经济的核心。其中计算机、网络通信的发展最为迅速。在现今电子信息高速发展的时代,网络游戏已经深入到人们的日常生活中,成为老少皆宜的娱乐方式。

游戏是全球最大的娱乐经济项目之一,已经被命名为“第九艺术”。而由“游戏”派生出来的职业,除了软件开发外,游戏包装宣传推广、攻略指导、网络游戏管理员和职业游戏玩家等,已成为了一系列专门的岗位。面对游戏产业如此巨大的市场空间,国内各大城市纷纷加大了这方面的人才培养,中国的游戏人才培训已随着游戏行业的总体发展开始逐步迈入了正轨。

虽然说中国的游戏行业开始逐步的迈入了正轨,但是现今,游戏人才出现严重的瓶颈时期,高校的扩招、金融危机的侵袭直接影响着我们最关心的就业问题,但是另一方面游戏人才的缺乏又直接制约着行业的发展,这就更加严格了对社会培训机构的稳定性和正规性的要求。在我国,游戏人才培养体系还未健全,部分开设了相关专业的高校,游由于理论和实践的脱离无法完全满足网游公司对人才的需求。

所以,就中国目前的市场分析来看,加强游戏产业必须在多渠道人才培养体系上加快突破,尽快建立起多渠道人才培养体系,来满足社会对游戏人才的需求。

此课程设计是一个小游戏(坦克大战)的实现,主要运用了用户图形界面,程序接口和基本函数绘制来实现,事件监听(包括鼠标事件,键盘事件,响应时间)也是这个程序的特色。总之,本游戏在用户界面的可操作性、游戏的美观度、计分计时存储结果方便都基本完善,有一定的可玩性。

2.2 系统设计

2.2.1功能分析

坦克大战游戏是在Eclipse环境下编程的游戏,其中包括对主战坦克的编写、坦克的初始位置的编写、坦克的移动方向的编写、坦克的速度的编写、坦克的子弹速度的编写、敌军的子弹速度的编写、设置游戏难度的编写、子弹的编写、敌军坦克的编写、构造函数的编写,初始化敌军坦克的位置和状态的编写、键盘控制坦克的移动的编写、发弹的编写、判断是否被击中的编写、判断是否击中敌军的编写等。通过上下左右键进行对坦克的移动,通过空格发射子弹,其它坦克可以随机移动。构造主窗口中所需要的类,并将坦克加到窗口中,实现坦克的四个方向的移动并创建炮弹类,并让屏幕中的坦克能发射炮弹,让坦克可以朝对方开火,并将对方击毙。

一、游戏基本元素:

坦克,炮管,子弹,墙壁,地雷

二、它的主要功能:

(1)能够朝四个方向移动:上、下、左、右键。

(2) 按下鼠标左键发射普通子弹;按下鼠标右键发射散弹;子弹爆炸的效果,普通子弹和炮弹的效果

(3)敌人能够移动

(4)能够模拟爆炸

(5)能够产生障碍

(6)能够增长生命

玩家控制主坦克(上方有血条的)的移动以及炮弹的发射。若玩家将敌方坦克全部打掉则玩家胜;若期间由玩家控制的主坦克被打掉则视为玩家失败。游戏中只有普通墙作为障碍物,玩家无法穿越它们并且普通子弹不能将墙打穿;但是玩家可以用炮弹将普通墙打掉。桃心可以将坦克的血加满。

玩家在使用此程序时更加能体验到乐趣。当玩家死亡以后,可以原地复活是本游戏的特色,可以激发玩家的游戏兴趣。

虽然游戏在功能和界面上不能算的上很棒,但是麻雀虽小,五脏俱全,游戏具备了坦克大战这个经典游戏锁应该具有的基本雏形。通过这一章,我们对这个游戏应该有了比较宏观的了解,我们将在这一基础上探究游戏更完美的改变。

2.2.2面向对象设计

图2.1坦克游戏流程图

此图表示了坦克游戏所含有的功能,粗略的展示了游戏运行的大致过程。使用户一眼就能看见游戏的大概的流程。系统共有7个类:Tank类、TankClient主类、Shot类、Item类、Hitpoint类、Bomb类、Wall类。

图2.2继承情况下派生、关联、依赖关系UML图

2.2.2类成员描述

1.类的数据成员

本程序我声明了7个类,坦克大战,在类中我定义了构造函数,构造函数定义了初始化变量。构造函数是一种特殊的方法主要用来在创建对象时初始化对象即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中特别的一个类可以有多个构造函数可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载。Java语言为类提供的构造函数可自动完成对象的初始化任务,全局对象和静态对象的构造函数在main()函数执行之前就被调用,局部静态对象的构造函数是当程序第一次执行到相应语句时才被调用。

2.函数成员描述

1)构建游戏主类

在主类中构造一个主Frame框架,设置它的大小和位置,并将其显示。在主类中编写一段代码,构造一个窗口。并添加窗口关闭的处理事件,将窗口设置成打小不可变。

2)构建坦克类Tank

构造主窗口中所需要的Tank类,并将坦克加到窗口中,实现坦克的四个方向的移动创建一个坦克类,用画图工具构造出简单的图形代表坦克,并将坦克加入到主窗口当中。

3)添加炮弹Shot类

在Shot类当中添加x,y,dir等属性以及常量。在Shot类当中添加构造方法,draw 方法等必要方法。根据不同的方向,子弹要进行不同的运动。在TankClient当中new 一颗子弹出来。

4)实现坦克的互相攻击

让主战坦克打出炮弹在Tank类当中增加对空格键的处理,使每按下空格键的时候,坦克打出一发炮弹。根据“坦克打出炮弹”这句话,确定Tank当中的fire方法。)为了解决坦克停下来也能开火的问题——给坦克加一炮筒,根据炮筒方向和位置设定子弹的方向和位置并new出来,然后返回。每次move之后根据Tank的新方向确定炮筒的方向。

5)创建Item类

创建HitPointerItem子类,作为为tank加血的道具,构造函数eat(Tank tk)加血。创建ShotsItem子类,作为涨炮弹的道具。

6)添加障碍物

添加普通墙,普通子弹可以穿墙。

图2.3函数流程图

2.3程序实现

2.3.1源码分析

package cn.hnist.Joshua;

//download by https://www.360docs.net/doc/e13972067.html,

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import java.util.List;

public class TankClient extends Frame

{

public static final int WIN_WIDTH=800;

public static final int WIN_HEIGHT=600;

boolean repaintFlag=true; //控制重画线程的结束

Image bkImage=null; //用于双缓冲的缓存图片

Point mousePoint=new Point(600,500);

UserTank ut=new UserTank(600,520,Tank.TANK_DIR.L,true,this); //玩家控制的Tank List shotsList=Collections.synchronizedList(new ArrayList());//

存储界面上的子弹

List tanksList=Collections.synchronizedList(new ArrayList());//存储界面上的Tank

List wallList=Collections.synchronizedList(new ArrayList());//界面上的障碍物

List itemList=Collections.synchronizedList(new ArrayList());//界面上的道具

public static void main(String[] args)

{

TankClient tc=new TankClient();

tc.lunchFrame();}

void lunchFrame() //界面初始化{

tanksList.add(ut);

this.wallList.add(new Wall(200,160,Wall.WALLTYPE.SEXSYMBOL,this));

//this.wallList.add(new Wall(200,200,2,25,this)); //添加障碍物

//this.wallList.add(new Wall(20,400,2,20,this)); //添加障碍物

//this.wallList.add(new Wall(450,400,2,20,this)); //添加障碍物RobotTank.add(4,false,RobotTank.RTANKTYPE.BOSS,this); //添加机器人Tank RobotTank.add(3,true,RobotTank.RTANKTYPE.BOSS,this); //添加机器人Tank this.itemList.add(new HitPointItem(700,500,3,this));//添加一个涨血的道具this.itemList.add(new ShotsItem(700,520,1,this)); //超级炮弹的道具

this.itemList.add(new ShotsItem(700,550,0,this)); //特殊炮弹的道具

this.setLocation(200,100);

this.setSize(WIN_WIDTH,WIN_HEIGHT);

this.setTitle("TankWar");

this.setResizable(false); //不能改变窗口大小

this.setBackground(Color.black);

this.addWindowListener(new FrameClose());

this.addKeyListener(new TankMoveLis());

this.addMouseMotionListener(new MouseMoveLis());

this.addMouseListener(new MouseCleckLis()); //Tank开火监听者

new Thread(new RepaintThread()).start(); //定时重画的线程

new Thread(new RobotTanksThread(this)).start();

this.setVisible(true);

}

class FrameClose extends WindowAdapter //窗口关闭事件监听者{

public void windowClosing(WindowEvent e){

Frame f=(Frame)e.getWindow();

repaintFlag=false;

f.dispose();}}

public void paint(Graphics g) //synchronized{

//if(!ut.isLive) { ut.isLive=true; ut.tankHitPoint.number=5; }

//else{

Wall tcWall=null;

for(int i=0;i

tcWall=wallList.get(i);

tcWall.draw(g);}

Tank tcTanks=null;

for(int i=tanksList.size()-1;i>=0;i--){

tcTanks=tanksList.get(i);

tcTanks.draw(g);}

Item tcItems=null;

for(int i=0;i

tcItems=itemList.get(i);

tcItems.draw(g);}

Shot tcShots=null;

for(int i=0;i

tcShots=shotsList.get(i);

tcShots.draw(g);}}}

public void update(Graphics g){

if(null==bkImage) { bkImage=this.createImage(WIN_WIDTH,WIN_HEIGHT); }

g.drawImage(bkImage,0,0,null); //把虚拟图片的内容画到当前窗口

Graphics gBkImg=bkImage.getGraphics();

gBkImg.clearRect(0,0,WIN_WIDTH,WIN_HEIGHT); //先清空图片

this.paint(gBkImg); //将图像先画到虚拟图片上

} class RepaintThread implements Runnable //画面重画线程

{

public void run()

{

while(repaintFlag)

{

try

{

repaint();

ut.move(); //Tank定时移动

Shot tcShots=null;

for(int i=0;i

{

tcShots=shotsList.get(i);

tcShots.move();

}

Thread.sleep(33);

}

catch (InterruptedException e)

{

e.printStackTrace();

System.exit(-1);

}

}

}

}

class RobotTanksThread implements Runnable //机器人Tank的行动线程{

TankClient tc;

public RobotTanksThread(TankClient tc)

{

this.tc=tc;

}

public void run()

{

Tank tcTanks=null;

int count=-1;

while(repaintFlag)

{

if(0==count) //电脑Tank全灭后重新加几辆

{

//RobotTank.add(1,false,RobotTank.RTANKTYPE.BOSS,tc);

RobotTank.add(2,false,RobotTank.RTANKTYPE.SPE,tc);

}

try

{

count=0;

for(int i=0;i

{

tcTanks=tanksList.get(i);

if(!tcTanks.camp) { count++; }

if(!tcTanks.isNPC||!tcTanks.isLive) { continue; } //不控制玩家的Tank ((RobotTank)tcTanks).autoAction(); //自主行动

}

Thread.sleep(38);

}

catch (InterruptedException e)

{

e.printStackTrace();

System.exit(-1);

}

}

}

}

class TankMoveLis extends KeyAdapter //玩家Tank按键监听者

{

public void keyPressed(KeyEvent e)

{

if(ut.isLive)

{

ut.keyDispose(e.getKeyCode(),true);

}

}

public void keyReleased(KeyEvent e)

if(ut.isLive)

{

ut.keyDispose(e.getKeyCode(),false);

}

else

{

if(e.getKeyCode()==KeyEvent.VK_F2)

{

ut.rebirth(); //复活

}

}

}

}

class MouseMoveLis extends MouseMotionAdapter //鼠标移动监听者

{

public void mouseMoved(MouseEvent e)

{

if(ut.isLive)

{

mousePoint=e.getPoint();

ut.setTurretDir(mousePoint); //根据鼠标位置更新炮筒方向

}

}

}

class MouseCleckLis extends MouseAdapter //点击鼠标,玩家Tank发射炮弹{

public void mouseClicked(MouseEvent e)

{

if(ut.isLive)

{

ut.fire(MouseEvent.BUTTON3==e.getButton()); //按鼠标右键会发射特殊子弹}

}

}

package cn.hnist.Joshua;

//download by https://www.360docs.net/doc/e13972067.html,

import java.awt.*;

abstract class Item{

public static Toolkit TLK=Toolkit.getDefaultToolkit();

int x,y;

int width,height;

TankClient tc;

public Item(int x,int y,TankClient tc){

this.x=x;

this.y=y;

this.tc=tc;}

abstract void draw(Graphics g);

abstract void eat(Tank tk);

public Rectangle getRect(){

return new Rectangle(x,y,width,height);}}

class HitPointItem extends Item //涨血的道具{

int raisesNum;

static final Image hpimg=TLK.getImage(Item.class.getClassLoader().getResource("Image/Item/hp.pn g"));

public HitPointItem(int x,int y,int raisesNum,TankClient tc){

super(x,y,tc);

this.raisesNum=raisesNum;

this.width=34;

this.height=30;}

void draw(Graphics g){

g.drawImage(hpimg,x-width/2,y-height/2,null);}

void eat(Tank tk){

tk.tankHitPoint.raisesHitPoint(raisesNum); //Tank涨血

tc.itemList.remove(this);}}

class ShotsItem extends Item //涨炮弹的道具{

int type; //涨的炮弹类型

public ShotsItem(int x,int y,int type,TankClient tc)

{super(x,y,tc);

this.type=type;

this.width=10;

this.height=10;}

void draw(Graphics g){

Color c=g.getColor();

g.setColor(Color.orange);

g.fillOval(x,y,width,height);

g.setColor(c);}

void eat(Tank tk){

if(!tk.isNPC) //玩家才可以吃{

switch(type)

{case 0:{((UserTank)tk).addHydraShots();}break;

case 1:{((UserTank)tk).addSuperShots();}break;

default:break;

}tc.itemList.remove(this);}}}

2.3.2运行结果

编译完相关的代码后,在eclipse中运行,会显示游戏开始界面图。具体效果如图所示:

图2.4游戏开始界面图

通过上下左右键来移动坦克并躲避子弹,通过按鼠标左键来发射子弹,其中还可以显示所剩的生命值。玩家可以用炮弹将普通墙打掉。桃心可以将坦克的血加满。具体效果如图所示:

图2.5游戏运行界面图

此界面显示坦克消灭以后的界面图,剩下的是红(蓝)方坦克,表示该方胜利,反之另一方失败。即为游戏结束界面图。具体效果如图所示:

图2.6游戏结束界面图

第3章总结

在Internet流行的今天,对传统的计算模型提出了新的挑战。由于Java语言具有能独立于平台而运行、面向对象、可对动态画面进行设计与操作、坚固性等特点,又具有多线程、内置校验器用来防止病毒入侵等功能,所以用来在Internet上研制与开发软件时,特别受到用户的欢迎。现在,许许多多的原C++程序员已经转向了Java编程,同时Java程序的应用也由简单的Applet(一种小应用程序)逐步向大型化应用转变,为了迎接将来Internet和信息化世界的挑战,我认为学习Java高级语言是很有必要的。Java是一种简单、面向对象、分布式、解释、健壮、安全、结构中立、可移植、高效能、多线程、动态的语言,Java语言提供一种强有力的工具支援程序设计员,同时由于Java属于面向对象语言,Java程序设计很容易学习,同时Java还提供了自动的内存垃圾收集功能。再者,由于Java码具备结构中立性,因此其应用程序成为非同质性运算环境(例如Internet)的理想方案。Eclipse是一种通用的工具平台,普通适用的开放式扩展IDE。它提供了功能丰富的开发环境,可以让开发者高效地创建一些能够无缝集成到Eclipse平台中的工具。

坦克大战是一个传统的游戏,这个游戏是考验玩家反应的灵敏度,这个游戏规则很简单,玩家使用上下左右键控制坦克的移动,空格键来发射子弹,下面介绍编写的游戏过程。首先创建一个HsTank2类,然后定义坦克大战的版本为:坦克大战(版本1.0),构造主窗口中所需要的MyTank类,并将坦克加到窗口中,实现坦克的四个方向的移动,创建炮弹类,并让屏幕中的坦克能发射炮弹,接下来构造方法,让坦克可以朝对方开火,并将对方击毙。接着编写主战坦克、子弹、敌军坦克、构造函数,初始化敌军坦克的位置和状态、键盘控制坦克的移动,发弹、判断是否被击中、判断是否击中敌军、坦克的随机移动。然后把代码在eclipse中运行,运行中有些错误经过调试,才可以在Eclipse中运行出来并将运行时的效果图截取下来。

通过启用多线程机制,不断调用java.awt.*中的paint(Graphics g)方法,将画面构造出来。其中要使用双缓冲消除闪烁现象。程序中还使用了键盘监听器类KeyMonitor 实现坦克的控制操作。碰撞检测的辅助类Rectangle可以完成坦克之间,以及坦克与障碍物之间的碰撞检测。初步了解反射,知道对于classloader, 每一个.class实际就是一个Class对象。学会使用Toolkit类,并使用该类加载得到图片。学会使用Random 类,并使用其中的nextInt()方法得到随机数。利用了容器类往里添加对象。

在本次课设中,给我印象最为深刻的是程序的编译。最后我们的课程设计结束了,但是它留给我的印象是不可磨灭的。以前上课时有许多的问题并没有真正的认识到,但通过这次试验的制作,使我掌握了许多更重要的知识点。可谓是受益匪浅。

参考文献

[1].耿祥义张跃平编著《JAVA2实用教程》(第4版)北京:清华大学出版社2011

[2].张跃平耿祥义编著《JAVA 2实用教程(第4版)实验指导与习题解答》北京:清华大学出版社2011

[3].陈刚《Eclipse从入门到精通[M]》北京:清华大学出版社2011

[4].钱能《JAVA程序设计教程(第2版)》北京:清华大学出版社2011

[5]. Bjarne Stroustrup 《C++程序设计原理与实践》北京:机械工业出版社2011

[6].杨三成《JSP与JDBC应用详解[M]》北京:中国铁道出版社2011

[7].孙卫琴《JAVA开发技术详解》北京:电子工业出版社2011

[8].Metsker S J 《JAVA设计模式[M]》北京:电子工业出版社2011

[9].刘京华《JAVA Web整合开发王者归来》北京:电子工业出版社2011

[10].毕建信《基于MVC设计模式的Web应用研究与实现》武汉:武汉理工大学2011

[11].李安渝《JAVA技术与实现》北京:国防工业出版社2011

[12]IT教视汇 https://www.360docs.net/doc/e13972067.html, 更多IT资源免费下载学习

桥梁工程课程设计

辽宁工业大学 《桥梁工程》课程设计计算书 开课单位:土木建筑工程学院 2014年12月

目录 第一章设计基本资料 (1) 1.1跨度和桥面宽度 (1) 1.2主要材料 (1) 1.3箱型梁构造形式及相关参数 (1) 1.4设计依据与设计规范 (3) 第二章主梁的几何特性计算 (4) 2.1计算截面几何特性 (4) 2.2检验截面效率指标ρ (6) 第三章桥面板计算 (7) 3.1横隔梁设置 (7) 3.2 每延米恒载计算 (7) 3.3恒载内力计算 (7) 3.4车辆荷载产生的内力 (7) 第四章主梁内力计算 (9) 第五章荷载横向分布计算 (11) 5.1 支点截面横向分布系数计算 (11) 5.2跨中截面横向分布系数计算 (13) 第六章活载影响下主梁内力计算 (15) 6.1活载内力计算 (15) 6.2荷载内力组合 (16) 第七章横隔梁内力计算 (18) 7.1作用在横梁上的计算荷载 (18) 7.2绘制横隔梁的内力影响线 (18) 第八章主梁挠度计算 (20) 8.1验算主梁变形 (20) 8.2判断是否设置预拱度 (20) 8.3 计算预拱度最大值 (20) 第九章支座计算 (21) 9.1板式橡胶支座的选择 (21) 9.2确定支座的厚度 (21) 9.3确定橡胶片总厚度 (21)

9.3支座偏移验算 (22) 9.4验算支座滑移稳定性 (22)

第一章 设计基本资料 1.1跨度和桥面宽度 1) 标准跨径:30m (墩中心距) 2) 计算跨径:29.55m 3) 主梁全长:29.96m 4) 桥面宽度:净9+2×1.0m 人行道 5) 人群荷载:23.5/m KN 6) 每侧栏杆及人行道的重量:4.5/m KN 1.2主要材料 1) 混凝土:箱梁为50C 号,铰缝采用40C SCM 灌浆料以加强铰缝;桥面铺装为12cm 厚40 C 防水砼(S6)+10cm 沥青砼;栏杆采用25C 号混凝土。 2) 预应力钢绞线:符合国际通用标准ASTMA416-92规定。单根钢绞线直径为φ 15.24mm ,面积A=140mm 2,标准强度1860b y R MPa =,弹性模量51.9510E MPa =?。 3) 选用R235及HRB335钢筋,其技术标准应符合国家标准(GB1499-1998)及 (GB13013-1991)的规定。 4) 锚具:采用《公路桥梁预应力钢绞线用锚具、连接器规格系列》产品,管道成孔采 用金属波纹管。 5) 支座:采用板式橡胶支座。 6) 其他材料:砂、石、水的质量要求均按《公路桥梁施工技术规范》有关条文办理。 1.3箱型梁构造形式及相关参数 ⑴ 本箱型梁按全预应力混凝土构件设计,施工工艺为后张法。 ⑵ 主梁尺寸拟定: 梁高:根据设计经验,梁高跨比通常为1/14-1/25,本设计初步尺寸定为1.3m , 跨中:预制箱型梁顶板厚0.2m ,底板厚0.2m 腹板厚0.2m. 端部:预制箱型梁顶板厚0.2m ,底板厚0.30m 横隔梁:横向共计五片箱型梁,中间设四个横隔梁。高1.1m,上部宽0.5m,下部宽 0.5m 。 ⑶ 预应力管道采用金属波纹管成形,波纹管内径为60mm ,外径为67mm ,管道摩擦系数μ=0.2,管道偏差系数k=0.0015,锚具变形和钢束回缩量为6mm(单端)。 ⑷ 沥青混凝土重度按23KN/m 3计,预应力混凝土结构重度按26 KN/m 3计,混凝土重度按25 KN/m 3计,单侧防撞栏线荷载为4.5KN/m 。

java记事本课程设计论文附源码

设计题目:记事本课程设计 专业:电子信息科学与技术 班级:电子1202班 学号:20121210606 姓名:王鹏 2015 年7月

XXX学院本科学生课程设计任务书

摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此次课程设计主要通过编写一个简单的记事本程序使我们深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等内容。此简易记事本程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能。该程序主要用到了Java swing和事件监听等。 关键词记事本程序,java语言,Java swing

目录 摘要 (1) 1 需求分析 (3) 1.1需求分析 (3) 1.2功能设计 (3) 2 概要分析 (4) 2.1概要设计思想 (4) 2.2程序运行界面 (4) 2.3程序模块说明 (4) 2.4流程图 (5) 2.5程序相关说明 (6) 3 程序详细设计与分析 (8) 3.1构建菜单栏及其下拉菜单 (8) 3.2“文件”菜单操作的事件监听 (8) 3.3“编辑”、“格式”等菜单的事件监听 (10) 3.4异常处理 (11) 4 测试分析 (12) 5 源程序清单 (15) 结论 (22) 参考文献 (23)

1 需求分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 1.2功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 1、菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。 2、“文件”有“新建”“打开”“保存”“另存为”“退出”五个子菜单:分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。 3、“编辑”中有“撤销”“剪切”“复制”“粘贴”“全选”“时间/日期”六个字菜单:用于撤销操作,剪切文字,复制文字,粘贴文字。全部选择,插入日期、时间。 4、“格式”菜单中有“自动换行”和“字体”两个子菜单。 5、“查看”菜单只是显示状态栏。 6、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

职工管理系统java课程设计简单实现

目录 一、绪论 (1) 1.1关键技术介绍 (1) 1.1.1JAVA技术 (1) 1.1.2SQL数据库 (1) 二、需求分析 (2) 三、系统概要设计: (3) 3.1问题描述 (3) 3.2要求 (3) 3.3数据库设计 (3) 四、系统详细设计 (5) 4.1新员工信息录入 (5) 4.2显示员工信息 (7) 4.3修改员工信息 (8) 4.4查询员工信息 (10) 4.5删除员工信息 (13) 4.6员工信息排序 (15) 4.7员工信息统计 (16) 4.8注销 (17) 五、系统测试 (18) 5.1系统登录 (18) 5.2系统主界面.................................. 错误!未定义书签。 5.3新员工信息录入.............................. 错误!未定义书签。 5.4显示员工信息................................ 错误!未定义书签。 5.5修改员工信息................................ 错误!未定义书签。 5.6查询员工信息................................ 错误!未定义书签。 5.7删除员工信息................................ 错误!未定义书签。 5.8排列系统.................................... 错误!未定义书签。 5.9统计界面.................................... 错误!未定义书签。

5.10注销....................................... 错误!未定义书签。 六、总结 (19) 八、附录.......................................... 错误!未定义书签。

项目坦克大战设计报告

《JA V A程序开发课程设计》项目设计 项目名称:TankWar 软件 专业:软件工程班级:13软工1班姓名:毛晨光学号:24 一、需求分析: 基本功能: 1.玩家控制的坦克能够四处移动并且打击敌方坦克; 2.敌方坦克能够随机四处移动并且打击玩家控制的坦克; 3.玩家控制的坦克拥有血量,而敌方坦克没有; 4.坦克受到攻击时血条会缩短; 5.敌方坦克被消灭完之后,提示游戏胜利; 6.用户方坦克被消灭后提示游戏结束; 特色功能: 1.坦克具有图片,不单单只是个圈圈。 2.增加了血包功能,地图上会随机出现一个血包,我方坦克开过会增加 血量。 二、系统设计: 类:实现游戏界面地图的初始化。 类:绘制和重绘功能。 :监听用户的键盘输入。 类:实现坦克的初始化,绘制,移动,发射等功能。 :实现敌方坦克的初始化,绘制,移动,发射等功能。 类:实现炮弹的初始化,绘制,移动,攻击功能。 类:实现爆炸的初始化。绘制功能,爆炸效果由绘制半径从小到大再到小的圆实现。 类:包含枚举。 类:用于实现血包的功能。 三、功能实现。 一.绘制地图功能: public class TankMap extends Frame{ tart(); }

制坦克功能:public class Tank { 方坦克的绘制方法 public class EnemyTank extends Tank{ 弹绘制方法public class Shell { ntersects())){

ntersects())){ "hittanks"); (false); =false; Explor ex=new Explor(x-3,y-3,; return true; } } return true; } }

有线电视课程设计

辽宁工业大学有线电视技术实训报告(论文)题目:辽宁工业大学有线电视系统设计报告 院(系):软件学院 专业班级:楼宇智能化工程技术101班 学号: 101407029 学生姓名:郭琳 指导教师:任国臣 起止时间: 2012.10.29

课程设计(论文)任务及评语 院(系):软件学院教研室: 学号101407029 学生姓名郭琳专业班级楼宇101班 实训报告 (论文)题 目 辽宁工业大学有线电视系统设计报告 课程设计(论文)任务第一章:系统网络结构规划 第二章:设备统计 第三章:施工方案 第四章:工作量计算及人工工时第五章:总体费用计算 第六章:工程计划进度安排 指 导 教 师 评 语 及 成 绩平时考核:设计质量:论文格式: 总成绩:指导教师签字: 年月日

目录 第一章、系统网络结构规划 (4) 第二章、设备统计 (7) 第三章、施工方案 (8) 第四章、工作量计算及人工工时 (11) 第五章、总体费用计算 (14) 第六章、工程计划进度安排 (15)

第一章、系统网络结构规划 1.1定义目的 电视教学是现代电化教育的重要手段,它直观灵活、声像并茂,最大可能地增强了课堂教学效果,改变了传统课堂教学呆板的灌输方式,是学生乐于接受和易于理解所学内容,充分发挥现代教学对提高教学质量的作用。因此,利用有线电视系统作为学校的教学设施,将几十套电视节目及教学节目传送到每个教室、寝室是很有意义的事情。 校园有线电视系统必须满足教学的要求,系统采用邻频传输,能任意选择和控制各种播放设备,如录像机、CVD、DVD、卫星接收机以及多媒体微机等,可接入卫星电视节目以及各种自办教学节目。为了方便将来改造成多功能交互式双向电视教学系统,系统应采用双向传输技术,需要时可迅速将所有的教室都变成多媒体教室。 有线电视系统通过有线电视网向各终端用户提供高质量的视频图像,满足师生学习、科研、生活的要求。系统可接收卫星节目、校园自办节目和锦州城市有线电视节目,提供丰富的视频资源。 用户终端主要分布在重要会议室、学生活动中心、食堂、体育馆等。 通过一套广播系统满足学校自动打铃、广播通知、背景音乐等基本需求,同时通过校园的背景音乐系统,提供新校区良好的学习氛围。 通过分区广播的编程功能,可以编程对指定区域播放铃声或音乐。扬声器主要设在教室走廊、实验室走廊、体育馆、室外公共休闲场所、学生公寓区主干道等。 本系统包括多媒体教室、多媒体计算机教室、数字式语音教室和电子监考系统。多媒体教室采用专业系统解决方案,语音教室采用数字式语音教室。 规划中每个教室留有数据接口,以满足将来大量多媒体教学的发展趋势,教室内各系统的管道预埋到位。多媒体教学的应用软件在数字化校园应用系统建设中再作进一步规划。 1.2总体设计 概述:根据辽宁工业大学学生公寓工程有线电视系统设计要点的要求及有线电视系统的发展趋势,综合考虑工程辽宁工业大学学生公寓的潜在需求和国内有线电视系统的发展现状,系统总体技术和装备应达到目前已成熟技术的先进水平,有线电视系统选用高质量广播级750MHz邻频调制前端,传输网络设计为单向750MHz邻频传输方式,最大可传输80套电视节目(DS1-DS42,Z1-Z38),本方案实际使用21个频道。

学生信息管理系统java课程设计含源代码完整版

学生信息管理系统j a v a 课程设计含源代码 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 1 2 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的

JAVA课程设计银行管理系统

大连科技学院java程序设计课程设计(B) 题目银行取款管理系统 学生姓名姚伟奇专业班级计算机(Z)13-1 指导教师李红职称讲师 所在单位信息科学系软件工程教研室 教学部主任王立娟 完成日期 2016年9月30日 课程设计报告单

综合评定: (优、良、中、及格、不及格)指导教师签字:2016年9月30日《java程序设计课程设计(B)》任务书 一、课程设计任务及要求: 任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。 要求: (1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。 (2)提交课程设计报告。 (3)指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。 二、工作量 2周(10个工作日)时间 三、计划安排 第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。 第2个工作日-第4个工作日:设计程序结构、模块图。 第5个工作日-第9个工作日:完成程序的编码,并且自己调试、测试。穿插进行课程设计报告的撰写。 第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。

指导教师签字:2016年9月19日

目录 题目:.................................................... 错误!未定义书签。 1.需求分析............................................ 错误!未定义书签。 2.概要设计............................................ 错误!未定义书签。 3.详细设计............................................ 错误!未定义书签。 4.编码................................................ 错误!未定义书签。 5.调试分析............................................ 错误!未定义书签。 6.测试结果及运行效果.................................. 错误!未定义书签。 7.系统开发所用到的技术................................ 错误!未定义书签。 8.课程设计总结........................................ 错误!未定义书签。参考文献................................................. 错误!未定义书签。5 附录全部代码............................................. 错误!未定义书签。

funcode C++课程设计坦克大战

课程设计一坦克大战 一、游戏介绍 相信大部分同学都玩过或看过“坦克大战”这款经典游戏。现在,就由我们自己动手来开发它。只要大家具备了C++语言和面向对象的基础知识,然后按照实验指南的指导一步一步进行下去,相信我们每个同学都能把这款经典游戏做出来。 二、实验目标 综合运用C++及其面向对象的知识开发一款小游戏。 三、实验内容 在一个战场上,玩家控制坦克,消灭敌方坦克,并防止敌方坦克摧毁我方基地。游戏的具体要求如下: 1、游戏有一个初始页面,如下图。 2、按下任意键开始游戏,玩家控制坦克在战场上穿梭,碰到墙时,不能通过。 3、敌方坦克自由移动,每隔2秒改变一个方向,每隔3秒发射一发子弹。 4、敌方坦克每隔5秒出现一辆,从屏幕上方的左、中、右三个位置依次出现。 5、当玩家被消灭或者我方基地被摧毁或者游戏时间大于30秒的时候,游戏结束。 游戏开始前 进入游戏

四、游戏的整体框架 五、实验指南 实验准备 打开FunCode,创建一个新的C++项目。注意:项目名称必须为英文和数字,且不能有空格。 点击“项目”→“导入地图模板”,从对话框中选取名称为TankWar的模板导入。导入成功后,界面如下: 实验一游戏开始 【实验内容】 1、设置游戏标题 2、按空格键,提示图片消失,游戏进入开始状态. 【实验运行结果】 游戏开始前 按下空格键后 【实验思路】

按下空格键是键盘按下事件,可在CSystem::OnKeyDown函数中编写响应代码。为了保证程序结构的清晰、一致,更好的办法是在CGameMain类中添加一个相应的键盘按下事件处理函数,然后在CSystem::OnMouseClick函数中进行调用。 g_GameMain是CGameMain类的对象,它是全局变量,在程序运行时最先被创建。【实验指导】 1、C++程序的执行入口是主函数。FunCode的主函数名称叫WinMain,写在Main.cpp 文件中。CSystem::SetWindowTitle是设置程序运行窗口标题的函数,修改如下:CSystem::SetWindowTitle("坦克大战"); 2、参考CSystem::OnKeyDown函数,为CGameMain类创建一个OnKeyDown函数。 CGameMain类的头文件是LessonX.h文件,实现代码写在LessonX.cpp文件中。因此,先在LessonX.h文件对函数进行声明。函数的返回值和参数列表都与 CSystem::OnKeyDown函数保持一致。访问权限应该是public。代码如下: voidOnKeyDown(constintiKey,constboolbAltPress,constboolbShiftPress,cons tboolbCtrlPress); 3、接着,在Lesson.cpp文件中对该函数进行定义: voidCGameMain::OnKeyDown(constintiKey,constboolbAltPress,constboolbShif tPress,constboolbCtrlPress) { }

工程结构课程设计计算书

辽宁工业大学 工程结构课程设计说明书 题目:工程结构课程设计(36组) 院(系):管理学院 专业班级:工程管理132班 学号:XXXXXXXXXX 学生姓名:XXXXXXXX 指导教师:XXXXXX 教师职称:教授 起止时间:2016.1. 4-2016.1.15 课程设计(论文)任务及评语 院(系):土木建筑工程学院教研室:结构教研室

目录 1.设计资料---------------------------------------------------------------1 2.楼盖的结构平面布置---------------------------------------------------1 3.板的设计-------------------------------------------------------------- 2 (1)荷载计算---------------------------------------------------------------2(2)计算简图--------------------------------------------------------------2(3)弯矩设计值------------------------------------------------------------3(4)正截面承载力计算-------------------------------------------------------3 4.次梁设计---------------------------------------------------------------4(1)荷载设计值-------------------------------------------------------------4(2)计算简图-------------------------------------------------------------- 4(3)内力计算---------------------------------------------------------------4(4)承载力计算------------------------------------------------------------5 5.主梁设计---------------------------------------------------------------6(1)荷载设计值-------------------------------------------------------------6(2)计算简图--------------------------------------------------------------6(3)内力设计值及包络图-----------------------------------------------------7

学生信息管理系统java课程设计(含源代码)

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩:

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

辽工钢结构课设

辽宁工业大学钢结构课程设计(论文) 题目:某车间21m梯形钢屋架设计 院(系):土木建筑工程学院 专业班级:建筑103 学号:100501094 学生姓名: 指导教师:徐锦生 教师职称:副教授 起止时间:2014.2.24-2014.3.7

课程设计(论文)任务及评语 院(系):土木建筑工程学院教研室:结构学号100501094 学生姓名专业班级建筑103 课程设计 (论文) 题目 梯形钢屋架设计 课程设计(论文)任务 某厂车间,跨度21m,长度90m,柱距6m,车间内设两台300/50kN中级工作制吊车,采用1.5×6m预应力混凝土大型屋面板,屋面坡度i=1/10。屋架支承在钢筋混凝土柱上,上柱截面400×400mm,混凝土强度等级为C30,钢材采用Q345钢,焊条采用E50型,手工焊。 屋架屋面做法及荷载取值(荷载标准值): 永久荷载:三毡四油防水层0.40kN/m2 水泥砂浆找平层0.40 KN/m2 保温层0.40KN/m2 一毡二油隔气层0.05 KN/m2 水泥砂浆找平层0.30KN/m2 预应力砼屋面板 1.45KN/m2 钢屋架及支撑重0.12+0.011×21=0.351KN/m2 可变荷载:施工活荷载0.50 KN/m2 雪荷载0.65KN/m2 积灰荷载0.90 KN/m2 指 导 教 师 评 语 及 成 绩 指导教师签字:学生签字: 年月日

目录 一、布置屋盖支撑 (1) 二、屋架的几何尺寸 (2) 三、屋架荷载分析及内力汇总表 (2) 1. 荷载分析 (2) 四、杆件截面设计 (5) 1.上弦杆 (5) 2.下弦杆 (6) 3. 端斜杆(3) (7) 4. 腹杆(18)和(19) (8) 5. 竖杆(13) (10) 6. 中竖杆(23) (11) 五、节点设计 (12) 1 .下弦节点4如图 (13) 2 .上弦节点3 (14) 3 .屋脊节点13 (15) 4 .下弦跨中节点12 (16) 5 .端部支座节点 (17) 参考文献 (20)

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

辽宁工业大学课设模板

辽宁工业大学 课程设计(论文)题目: 院(系):电气工程学院 专业班级: 学号: 学生姓名: 指导教师:(签字) 起止时间:

辽宁工业大学课程设计说明书(论文) 课程设计(论文)报告的内容及其文本格式 1、课程设计(论文)报告要求用A4纸排版,单面打印,并装订成册,内容包括: ①封面(包括题目、院系、专业班级、学生学号、学生姓名、指导教师姓名、、起止时间等) ②设计(论文)任务及评语 ③中文摘要(黑体小二,居中,不少于200字) ④目录 ⑤正文(设计计算说明书、研究报告、研究论文等) ⑥参考文献 2、课程设计(论文)正文参考字数:2000字周数。 3、封面格式 4、设计(论文)任务及评语格式 5、目录格式 ①标题“目录”(小二号、黑体、居中) ②章标题(四号字、黑体、居左) ③节标题(小四号字、宋体) ④页码(小四号字、宋体、居右) 6、正文格式 ①页边距:上2.5cm,下2.5cm,左3cm,右2.5cm,页眉1.5cm,页脚1.75cm,左侧装订; ②字体:一级标题,小二号字、黑体、居中;二级标题,黑体小三、居左;三级标题,黑体四号;正文文字,小四号字、宋体; ③行距:20磅行距; ④页码:底部居中,五号、黑体; 7、参考文献格式 ①标题:“参考文献”,小二,黑体,居中。 ②示例:(五号宋体) 期刊类:[序号]作者1,作者2,……作者n.文章名.期刊名(版本).出版年,卷次(期次):页次. 图书类:[序号]作者1,作者2,……作者n.书名.版本.出版地:出版社,出版年:页次.

课程设计(论文)任务及评语 院(系):电气工程学院 教研室: 注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算 学 号 学生姓名 专业班级 课程设计(论文)题目 课 程设计(论文)任务 课题完成的功能、设计任务及要求、技术参数 进度计划 指导教师评语及成绩 平时: 论文质量: 答辩: 总成绩: 指导教师签字: 年 月 日

5_Java课程设计源代码

package zhouchuan; import java.applet.*; import java.awt.*; import java.awt.event.*; import https://www.360docs.net/doc/e13972067.html,.*; public class zhouchuan extends Applet implements ActionListener { AudioClip clip; Button buttonPlay, buttonLoop, buttonStop; public void init(){ try{ URL url=new URL("file:"+"F://ding.wav"); clip=getAudioClip(url);}catch(Exception e){ } buttonPlay=new Button("开始播放"); buttonLoop=new Button("循环播放"); buttonStop=new Button("停止播放"); buttonPlay.addActionListener(this); buttonStop.addActionListener(this); buttonLoop.addActionListener(this); add(buttonPlay); add(buttonLoop); add(buttonStop); } public void stop(){ clip.stop(); } public void actionPerformed(ActionEvent e){ if(e.getSource()==buttonPlay) clip.play(); else if(e.getSource()==buttonLoop) clip.loop();

C#课程设计(打砖块)

辽宁工业大学 C#.NET程序设计课程设计(报告)题目:打砖块游戏 院(系):软件学院 专业班级:计算机信息管理101班 学号: 101403009 学生姓名:姜洪亮 指导教师:胡峰 教师职称:助教 起止时间:2011.11.21至2011.12.02

程序设计专题(报告)任务及评语

目录 第1章程序设计专题目的与要求 (1) 1.1 程序设计目的 (1) 1.2 程序设计的实验环境 (1) 1.3 程序设计的预备知识 (1) 1.4 程序设计要求 (1) 第2章程序设计内容 (2) 2.1概要设计 (2) 2.2程序整体设计说明 (2) 2.3程序部分源代码及注释 (8) 2.4测试结果 (12) 第3章程序设计总结 (13) 参考文献 (14)

第1章程序设计目的与要求 1.1 程序设计目的 《C#.Net程序设计》是计算机科学与技术专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是软件技术专业学生学习完《C#.Net程序设计》课程后,进行的一次全面的综合训练,C#.Net 程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。 1.2 程序设计的实验环境 硬件要求能运行Windows xp操作系统的微机系统。C#.Net程序设计语言及相应的集成开发环境visual https://www.360docs.net/doc/e13972067.html,。 1.3 程序设计的预备知识 熟悉c#语言及visual https://www.360docs.net/doc/e13972067.html,集成开发环境。 1.4 程序设计要求 按程序设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握c#.net2003的基本技能和面向对象的概念和方法;了解windows编程。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。

java课程设计2013级大纲以及设计报告

珠海学院课程教学大纲 课程名称:java程序课程设计 适用专业: 2013级计算机科学与技术 课程类别:专业基础课 制订时间:2014年12月 计算机科学与技术系制

目录 1java程序课程设计教学大纲 2 java程序课程设计说明书 3 java程序课程设计报告(模板) 4 java程序课程设计成绩评定表 java程序课程设计教学大纲 (2011年制订,2014年修订) 一、课程编号: 二、前修课程:java程序设计 三、学分:2学分 四、学时: 32学时 五、课程性质与任务: 1.课程性质:《java程序课程设计》是吉林大学珠海学院计算机科学与技术系为本科生各专业开设的专业实践课。计算机科学与技术系本科生在完成《java 程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《java程序设计》课程中所学的有关知识,通过课程设计增强学生的实践动手能力,提高学生独立分析和解决实际问题的能力。培养学生配合完成任务的能力,为学生毕业后的实际工作打好基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。Java语言的应用十分广泛,例如大型信息系统、通信、网络控制等。java课程设计对增强学生对基础知识的掌握和综合运用是非常必要,对后续许多专业课程的学习和实践训练都具十分重要的意义。 2.课程任务:本课程要求学生在学习了java基础编程的相关技术后,将课本中多个章节的编程技术灵活运用到一些复杂的综合例题中去,使学生了解应用问题

的分析方法和设计解决实际问题的具体过程,掌握应用java进行程序设计的基本规范和技巧,掌握面向对象编程的设计思想,重点掌握java的基本语法规则、输入输出方法、网络编程、多线程编程、小应用程序、数据库编程的综合应用。通过编程掌握调试java程序的基本技巧、模块化应用程序和测试运行复杂应用程序的基本流程。 六、课程教学基本要求提供足够多的程序设计选题,题目应覆盖面较为广泛,部分题目要具有开放性,要求每个学生根据自己的实际情况选择题目,经教师批准后即可进入实际工作阶段。 课程设计结束对每个学生进行验收,要求每个学生提交合格的课程设计报告,还要保证程序能够运行,能够讲清楚自己的工作。老师在检查过程中可针对程序提出问题,学生回答,若程序无法运行得到结果并且具有大量编译错误,而且对程序的内容无法正确解释,则实践老师可以根据实际情况给予评分为不及格,若程序可以运行,但完成的界面以及方法不够完善,则酌情扣分,若程序运行无问题,则提问回答不好的也要相应扣分。课程设计课程集中安排在第十一周。每个同学都要提交初期、中期和最后的文档,提交课程设计报告,要求在规定时间内提交文档。最后验收时,若文档不全,成绩受到一定影响。 七、学时分配表 2011年 12 月8日 java程序课程设计说明书

Java课程设计学生信息管理系统

《面向对象程序设计》课程设计报告题目:《**********》课程设计 学院:信息工程学院 姓名: *** **** ****** 学号: ** ** ** 专业:计算科学与技术 班级: ***** 指导教师: ***** 2015 年 12月

目录 目录 ................................................................... 摘要 ................................................................... 1.引言 ................................................................. 2.设计目的与任务 ........................................................ 3. 设计方案 ............................................................. 3.1总体设计...................................................... 3.2开发环境...................................................... 3.3层次图........................................................ 3.4界面预览...................................................... 3.4.1登录界面 .................................................. 3.4.2该管理员不存在( 用户名:name 用户密码:psw ) ............. 3.4.3学生信息管理界面 .......................................... 3.4.4填写学生信息 .............................................. 3.4.5录入学生信息 .............................................. 3.4.6查询学生信息 ..............................................

坦克大战课程设计论文

坦克大战游戏设计 1.课程设计的目的 随着手机的日益普及,java功能在移动设备上的实现及java 应用程序产生的影响力,对丰富人们的生活内容,提供便捷的咨询起着不可忽视的作用。本项目介绍了坦克大战的基本构建方法、java的相关技术及本程序的结构分析和具体功能的实现。游戏是在Eclipse3.2环境下编程。本项目重点运用了图形化用户界面GUI,Thread多线程的有关知识,其中涉及了绘图工具的运用,事件处理操作以及图形的碰撞检测等知识点。通过此课程设计,使学生巩固所学知识、培养学生动手能力,了解Java的面向对象的体系结构。学生用Java语言设计一个完整的应用程序,综合应用所学知识完成软件的分析、设计、调试和总结,提高学生对Java语言的综合应用能力和解决问题的能力。 2.设计方案论证 2.1设计思路 本项目介绍了坦克大战的基本构建方法、java的相关技术及本程序的结构分析和具体功能的实现。游戏是在Eclipse3.2环境下编程。 一、游戏基本元素:坦克,炮管,子弹,墙壁,地雷 二、它的主要功能: (1)能够朝四个方向移动:上、下、左、右键。 (2) 按下鼠标左键发射普通子弹;按下鼠标右键发射散弹;子 弹爆炸的效果,普通子弹和炮弹的效果 (3)敌人能够移动

(4)能够模拟爆炸 (5)能够产生障碍 (6)能够增长生命 玩家控制主坦克(上方有血条的)的移动以及炮弹的发射。若玩家将敌方坦克全部打掉则玩家胜;若期间由玩家控制的主坦克被打掉则视为玩家失败。游戏中只有普通墙作为障碍物,玩家无法穿越它们并且普通子弹不能将墙打穿 ;但是玩家可以用炮弹将普通墙打掉。桃心可以将坦克的血加满。 2.2简要的设计流程: 键盘监听器 2.2设计方法 2.2.1构建游戏主类

相关文档
最新文档