计算机专业实习报告Word文件下载.docx
- 文档编号:15711614
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:15
- 大小:844.55KB
计算机专业实习报告Word文件下载.docx
《计算机专业实习报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机专业实习报告Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
2.1系统分析
设计实现一个角色,使他能够在屏幕中上下左右移动,然后在屏幕中添加需要的地图,完善地图信息,使角色能够在地图中移动,移动小规则:
向左、上和下地图不移动,角色只能在规定的地图区域移动,不可以越位。
为角色添加武器,实现角色的发射子弹。
然后在地图中添加敌人,敌人的移动,移动小规则:
敌人自动追杀角色。
为敌人添加子弹,使他能够发射子弹。
最后,实现角色发射子弹,敌人一接触子弹,然后就中弹身亡,再等几秒,敌人尸体消失,子弹一出屏幕就消失,游戏继续进行。
2.2概要设计
1、主窗体的实现,人物角色移动,地图的添加,主窗体中人物地图的显示。
2、创建一个子弹类,为人物角色添加子弹。
3、创建一个敌人类,为游戏添加敌人。
4、创建一个敌子弹类,为敌人添加子弹。
5、创建一个接口,为其他类提供一些全局需要的数据。
2.3详细设计
源代码:
主类:
//类中需要引入的包
importjava.awt.Color;
importjava.awt.Graphics;
importjava.awt.Image;
importjava.awt.event.KeyEvent;
importjava.awt.event.KeyListener;
importjava.util.ArrayList;
importjavax.swing.ImageIcon;
importjavax.swing.JFrame;
publicclassmcextendsJFrame{
Imageim=null;
//定义装子弹的篮子,实现多发子弹
ArrayList<
zidan>
zidans=newArrayList<
();
Imagezd;
Imagedr;
direndiren1;
intkaihuo=shuju.TING;
intt=0;
intbx=0,by=0;
intrx=75,ry=390;
intyidong=0;
intbsu=500;
intbyisu=10;
intrun=shuju.TING;
booleanhd=true;
intsj=0;
Graphicsgs;
privateImagexiaoren;
Imagebg;
publicstaticvoidmain(String[]args){
newmc();
}
//窗体设置,并初始化
publicmc(){
setBounds(200,200,500,500);
setTitle("
小人"
);
setDefaultCloseOperation(EXIT_ON_CLOSE);
//按键监听
addKeyListener(newKeyListener(){
@Override
publicvoidkeyTyped(KeyEvente){
//TODOAuto-generatedmethodstub
}
//按键释放
publicvoidkeyReleased(KeyEvente){
switch(e.getKeyCode()){
case37:
yidong=shuju.ZUO;
case38:
yidong=shuju.SHANG;
case39:
yidong=shuju.YOU;
case40:
yidong=shuju.XIA;
yidong=shuju.TING;
break;
case32:
kaihuo=shuju.TING;
}
if(yidong!
=shuju.TING){
}
//按键接受
publicvoidkeyPressed(KeyEvente){
if(e.getKeyCode()==37){
run=shuju.PAO;
}elseif(e.getKeyCode()==39){
}elseif(e.getKeyCode()==38){
}elseif(e.getKeyCode()==40){
}elseif(e.getKeyCode()==32){
kaihuo=shuju.KAIHUO;
});
setVisible(true);
//设置画布
publicvoidpaint(Graphicsg){
if(im==null){
im=createImage(500,500);
gs=im.getGraphics();
xiaoren=getImage("
stayRun"
bg=getImage("
back1"
zd=getImage("
ew0"
dr=getImage("
e1"
diren1=newdiren(460,390,dr,zd);
}
gs.setColor(Color.white);
gs.fillRect(0,0,500,500);
gs.drawImage(bg,bx%500,by,500,500,null);
gs.drawImage(bg,bx%500+bsu,by,500,500,null);
bx-=byisu;
gs.setClip(rx,ry,30,32);
gs.drawImage(xiaoren,rx-30*t,ry,null);
gs.setClip(0,0,500,500);
if(hd){
hd=diren1.draw(gs);
diren1.run(ry);
diren1.kaihuo(gs);
//发射子弹
switch(kaihuo){
caseshuju.KAIHUO:
if(sj%4==0){
zidans.add(newzidan(rx+30,ry+16,zd));
}
sj++;
for(inti=0;
i<
zidans.size();
i++){
zidans.get(i).draw(gs);
if(!
zidans.get(i).yidong()){
zidans.remove(i);
if(zidans.size()>
0&
&
!
zidans.get(i).peng(diren1)){
//人物移动
switch(yidong){
caseshuju.ZUO:
if(rx>
10){
rx-=5;
byisu=5;
byisu=0;
break;
caseshuju.YOU:
if(rx<
460){
rx+=5;
bx-=10;
byisu=10;
caseshuju.SHANG:
if(ry>
360){
ry-=5;
caseshuju.XIA:
if(ry<
420){
ry+=5;
caseshuju.TING:
if(run==shuju.PAO){
t++;
if(t>
=5){
t=0;
}else{
t=0;
g.drawImage(im,0,0,null);
//设置线程,进行刷新
try{
Thread.sleep(50);
}catch(InterruptedExceptione){
e.printStackTrace();
repaint();
//获取图片
publicImagegetImage(Stringname){
returnnewImageIcon(getClass().getResource("
/"
+name+"
.png"
)).getImage();
}
敌人类:
publicclassdiren{
intx,y;
Imageimg;
intysud=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机专业 实习 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)