计算机专业实习报告.docx
《计算机专业实习报告.docx》由会员分享,可在线阅读,更多相关《计算机专业实习报告.docx(31页珍藏版)》请在冰点文库上搜索。
计算机专业实习报告
附件26
成绩
信息与电气工程学院
实习报告
实习名称
生产实习
实习时间
2013.12.18~2013.12.26
实习地点
北京达内公司
学生姓名
...
学生学号
11021012x
专业班级
计算机1101班
指导教师
...
二○一三年十二月三十日
生产实习报告
一、实习目的
个人认为这个生产实习是对一个本科生在校期间所学知识的一种检验,也是学以致用的一个尝试,更是通向社会的敲门砖。
在这样一个过程中,让学生亲自感受社会的需求,高强度与社会接轨。
同时不得不提的是,毕业实习锤炼了一个本科生的素质,不仅是知识上的一个锤炼,更是人生价值观、社会经验观的提前导入,所以这一过程必不可少,同时也是受益匪浅。
生产实习是教学计划中最后一个综合性实践性教学环节,是学生在从事相关专业的人员指导下,独立从事软件设计工作的初步尝试,其基本目的是培养学生综合运用所学的基础理论、专业知识、基本技能应对和处理问题的能力。
是学生对四年来所学专业理论知识和技能进行系统化、综合化运用、总结和深化的过程。
通过在实习单位的考察、学习、参与软件设计、等过程,检查学生的思维能力、创造能力、实践能力和掌握知识的深度,从而提高学生从业的素质,给毕业之后能够更快的进入工作状态打下了良好的基础。
通过在实习单位实际从事软件设计和结束时的毕业答辩,来考核实习学的质量,对深化教学改革,提高人才培养工作水平具有重要的意义。
二、实习内容
用Java语言设计打飞机游戏
(1)建立游戏背景,游戏面板以及插入相应的图片;
(2)编写添加飞机,boss的代码;
(3)分别使飞机,boss实现发出子弹的效果;
(4)编写子弹与飞机(boss)碰撞时,飞机(boss)移除的功能;
(5)优化界面及程序(代码见附录)
三、参考资料
[1].张桂珠刘丽陈爱国Java面向对象程序设计(第2版)北京邮电大学出版社
[2]毕广吉.Java程序设计实例教程[M].北京:
冶金工业出版社,2007年
[3].王保罗.Java面向对象程序设计[M].北京:
清华大学出版社,2003年
[4].刘腾红,孙细明.信息系统分析与设计[M].北京:
科学出版社,2003年[6].林邦杰,彻底研究java.北京:
电子工业出版社,2002年
四、实习总结
通过近十天的实习,其中的酸甜苦辣我会在今后的日子里不断地去咀嚼,去回味,去探索。
实习单位的老师也给了我很多机会参与他们的设计是我懂得了很多以前难以解决的问题。
从学习中也让我更深刻的了解设计行业的个性和潜力。
由于实习的时间有限,我认识到了很多在书本上或老师讲课中自己忽略了的或有些疑惑的地方,从实际观察和同事之间指导中得到了更多的宝贵的经验。
通过这次实习,在设计方面我感觉自己有了一定的收获。
这次实习主要是为了我今后在工作及业务上能力的提高起到了促进的作用,增强了我今后的竞争力,为我能在以后立足增添了一块基石。
如:
前期的策划和后期的制作等等。
这次实习丰富了我在这方面的知识,使我向更深的层次迈进,对我在今后的社会当中立足有一定的促进作用,但我也认识到,要想做好这方面的工作单靠这这几天的实习是不行的,还需要我在平时的学习和工作中一点一点的积累,不断丰富自己的经验才行。
我面前的路还是很漫长的,需要不断的努力和奋斗才能真正地走好。
附录:
(1)BackGround
packagecom.tarena.day05;
importjava.awt.*;
importjavax.swing.ImageIcon;
publicclassBackGround{
privateinty1,y2;//两张图片的y坐标
privateintspeed;//移动速度
privateImageimage;//图片
privateGamePanelpanel;//游戏面板
publicBackGround(GamePanelpanel){
y1=0;y2=-848;speed=10;
image=newImageIcon("back.png").getImage();
this.panel=panel;
}
publicvoiddraw(Graphicsg){
g.drawImage(image,0,y1,panel);
g.drawImage(image,0,y2,panel);
g.setColor(Color.blue);
}
publicvoidmove(){
y1+=speed;
y2+=speed;
if(y1>700)
y1=-848;
if(y2>700)
y2=-848;
}
}
(2)BossBomb
packagecom.tarena.day05;
importjava.awt.Graphics;
importjava.awt.Image;
importjavax.swing.ImageIcon;
publicclassBossBomb{
privateintx,y;
publicintindex;
privateImageimage;
privateGamePanelpanel;
privatestaticImageimage1=newImageIcon("boss5.png").getImage();
privatestaticImageimage2=newImageIcon("boss6.png").getImage();
privatestaticImageimage3=newImageIcon("boss7.png").getImage();
privatestaticImageimage4=newImageIcon("boss8.png").getImage();
publicBossBomb(intx,inty,GamePanelpanel){
super();
this.x=x;
this.y=y;
this.panel=panel;
this.index=0;
this.image=image1;
}
publicvoiddraw(Graphicsg){
switch(index){
case0:
image=image1;
break;
case1:
image=image2;
break;
case2:
image=image3;
break;
case3:
image=image4;
break;
}
index++;
g.drawImage(image,x,y,panel);
}
}
(3)Enemy
packagecom.tarena.day05;
importjava.awt.Graphics;
importjava.awt.Image;
importjava.util.ArrayList;
importjavax.swing.ImageIcon;
publicclassEnemy{
publicstaticfinalintTYPE_D_UP=1;
publicstaticfinalintTYPE_LEFT=2;
publicstaticfinalintTYPE_RIGHT=3;
privateintx,y;
privateintspeed;
privateImageimage;
privateGamePanelpanel;
privateinttype;
privatestaticImageimage1=newImageIcon
("ep2.png").getImage();
privatestaticImageimage2=newImageIcon
("enemyPlane.png").getImage();
publicEnemy(inttype,intx,inty,GamePanelpanel){
super();
this.x=x;
this.y=y;
this.panel=panel;
this.type=type;
switch(type){
caseTYPE_D_UP:
speed=40;image=image1;break;
caseTYPE_LEFT:
caseTYPE_RIGHT:
speed=10;image=image2;break;
}
}
publicvoiddraw(Graphicsg){
g.drawImage(image,x,y,panel);
}
//小怪子弹容器
ArrayListallEBs;
publicvoidsetEnemyBullets(ArrayListallEBs){
this.allEBs=allEBs;
}
intcount=0;
publicvoidmove(){
count++;
if(count%10==0){EnemyBulleteb=newEnemyBullet(
EnemyBullet.TYPE_DOWN,
x+image.getWidth(panel)/2,
y+image.getHeight(panel)+5,
panel);
allEBs.add(eb);
}
switch(type){
caseTYPE_D_UP:
speed-=2;break;
caseTYPE_LEFT:
x-=2;break;
caseTYPE_RIGHT:
x+=2;break;
}
y+=speed;
}
publicbooleanisDead(){
if(y<-30){
returntrue;
}
if(y>810){
returntrue;
}
if(x<-70){
returntrue;
}
if(x>410){
returntrue;
}
returnfalse;
}
//检测与飞机的碰撞
publicbooleanisCollection(PlayPlaneplane){
intx1=plane.getX();
inty1=plane.getY();
intx2=x1+plane.getImage().getWidth(panel);
inty2=y1+plane.getImage().getHeight(panel);
//小怪左边
if(x+image.getWidth(panel)returnfalse;
//小怪右边
if(x2returnfalse;
//小怪上边
if(y+image.getHeight(panel)returnfalse;
//小怪下边
if(y2returnfalse;
returntrue;
}
//碰撞检测与子弹的碰撞
publicbooleanisCollection(PlaneBulletbu){
intx1=bu.getX();
inty1=bu.getY();
intx2=x1+bu.getImage().getWidth(panel);
inty2=y1+bu.getImage().getHeight(panel);
//小怪左边
if(x+image.getWidth(panel)returnfalse;
//小怪右边
if(x2returnfalse;
//小怪上边
if(y+image.getHeight(panel)returnfalse;
//小怪下边
if(y2returnfalse;
returntrue;
}
publicImagegetImage(){
returnimage;
}
publicvoidsetImage(Imageimage){
this.image=image;
}
publicintgetX(){
returnx;
}
publicvoidsetX(intx){
this.x=x;
}
publicintgetY(){
returny;
}
publicvoidsetY(inty){
this.y=y;
}
publicintgetType(){
returntype;
}
publicvoidsetType(inttype){
this.type=type;
}
}
(4)EnemyBomb
packagecom.tarena.day05;
importjava.awt.Graphics;
importjava.awt.Image;
importjavax.swing.ImageIcon;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
publicclassEnemyBomb{
publicstaticfinalintTYPE_D_UP=1;
publicstaticfinalintTYPE_LEFT=2;
publicstaticfinalintTYPE_RIGHT=3;
privateintx,y;
privateImageimage;
privateinttype;
privateGamePanelpanel;
privateintindex;//爆炸效果的第几张图片
publicstaticImagee1image1=newImageIcon
("ep3.png").getImage();
publicstaticImagee1image2=newImageIcon
("ep4.png").getImage();
publicstaticImagee2image1=newImageIcon
("bomb_1.png").getImage();
publicstaticImagee2image2=newImageIcon
("bomb_2.png").getImage();
publicstaticImagee2image3=newImageIcon
("bomb_3.png").getImage();
publicEnemyBomb(inttype,intx,inty,GamePanelpanel){
this.type=type;
this.x=x;
this.y=y;
this.panel=panel;
}
publicvoiddraw(Graphicsg){
switch(type){
caseTYPE_D_UP:
switch(index){
case0:
image=e1image1;
break;
case1:
case2:
image=e1image2;
break;
}
break;
caseTYPE_LEFT:
caseTYPE_RIGHT:
switch(index){
case0:
image=e2image1;
break;
case1:
image=e2image2;
break;
case2:
image=e2image3;
break;
}
break;
}
//画出爆炸效果
g.drawImage(image,x,y,panel);
index++;
}
publicintgetIndex(){
returnindex;
}
publicvoidsetIndex(intindex){
this.index=index;
}
}
(5)EnemyBullet
packagecom.tarena.day05;
importjava.awt.Graphics;
importjava.awt.Image;
importjavax.swing.ImageIcon;
publicclassEnemyBullet{
publicstaticfinalintTYPE_DOWN=1;
privateinttype;
privateintx,y;
privateImageimage;
privateGamePanelpanel;
privateintspeed;
privatestaticImageicon=newImageIcon
("efire.png").getImage();
publicEnemyBullet(inttype,intx,inty,GamePanelpanel){
super();
this.type=type;
this.x=x;
this.y=y;
this.panel=panel;
speed=20;
image=icon;
}
publicvoiddraw(Graphicsg){
g.drawImage(image,x,y,panel);
}
publicvoidmove(){
switch(type){
caseTYPE_DOWN:
y+=speed;
break;
}
}
publicbooleanisDead(){
//左边
if(x<-20)
returntrue;
if(x>410)
returntrue;
if(y>720)
returntrue;
returnfalse;
}
//检测与玩家飞机碰撞
publicbooleanisCollection(PlayPlaneplane){
intx1=plane.getX();
inty1=plane.getY();
intx2=x1+plane.getImage().getWidth(panel);
inty2=y1+plane.getImage().getHeight(panel);
//左边
if(x+image.getWidth(panel)returnfalse;
//右边
if(x2returnfalse;
//上边
if(y+image.getHeight(panel)returnfalse;
//下边
if(y2returnfalse;
returntrue;
}
}
(6)GamePanel
packagecom.tarena.day05;
importjava.awt.Graphics;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
importjava.awt.event.MouseMotionListener;
importjava.util.ArrayList;
importjavax.swing.JPanel;
publicclassGamePanelextendsJPanelimplementsMouseMotionListener,
MouseListener{
//游戏背景
BackGroundbackground;
publicvoidsetBackGround(BackGroundbackground){
this.background=background;
}
//游戏玩家
PlayPlaneplayplane;
publicvoidsetPlayPlane(PlayPlaneplayplane){
this.playplane=playplane;
}
//玩家发出的子弹
ArrayListallPBs;
publicvoidsetPlaneBullets(ArrayListallPBs){
this.allPBs=allPBs;
}
//小怪容器
ArrayListallEys;
publicvoidsetEnemys(ArrayListallEys){
this.allEys=allEys;
}
//小怪爆炸小怪容器
ArrayListallBombs;
publicvoidsetEnemyBombs(ArrayListallBombs){
this.allBombs=allBombs;
//TODOAuto-generatedmethodstub
}
ArrayListallEBs;
publicvoidsetEnemyBullets(ArrayListallEBs){
//TODOAuto-generatedmethodstub
this.allEBs=allEBs;
}
//Boss
Bossboss;
publicvoidsetBoss(