20170816 - 今日技能封装 - A

1 涉及到对文件的处理,必须?

做异常处理。

 

2 消敌机游戏编写过程记录

分别建8个类,并初始化(主类构造为测试用)

 

画窗口,使用swing中的Jframe等。

//项目分析

①分析项目内有什么对象

敌机,蜜蜂,子弹,英雄机

②抽取共同特征到父类中

敌机,蜜蜂,子弹,英雄机皆有

x,y坐标,宽,高,图片属性→FlyObject

③抽取部分子类共有行为

蜜蜂有奖励行为,抽取奖励接口

敌机有扣分行为,抽取惩罚接口

子弹无

英雄机亦无

 

思维漏洞:

① 新建项目后,新建包类命名方式为 域名反写+项目名 ,漏了后者

② 新建构造,方法公开化,属性私有化,在前面加public,应第一时间加上

③ 在主类中新建对象后直接赋值提示报错——不可直接在类体内赋值,可以赋初始值,但具体的必须到构造中赋值

private FlyObject[] fo = new FlyObject[2];

fo[0] = new Bee();//就立刻下面赋值了!?

fo[1] = new Enemy();

④private FlyObject[] fo = new FlyObject[2];→private FlyObject[] fo = {};

width = image.getWidth();

eight = image.getHeight();

image = ShootGame.bee;

public void paintBullet(Graphics g){

for(int i = 0;i < bullets.length;i++){

Bullet f = bullets[i];

g.drawImage(f.image,f.x,f.y,null);

}

 

}

 

public void paintBee(Graphics g){

g.drawImage(fo[0].image,0,0,null);

}

⑦(复制粘贴注意)蜜蜂,敌机一直显示在下方→height写在x下面,于是默认便是0

⑧x = rand.nextInt(654-this.width);  → rand.nextInt(ShootGame.WIDTH-this.width);

⑨思路要一直都极其清晰,每一步应该做什么,应该怎么做脑中的概念都要非常清楚(try...catch...直接放在了外面)

⑩使用random方法获取整数时,必须用nextInt

 

image = ShootGame.bee;

width = image.getWidth();

eight = image.getHeight();

 

思维记录

① 写到英雄机图片属性时,想到需要建主类,通过静态区调英雄机图片

② Bee重写获得奖励方法——返回一个奖励类型的数字,因此需要定义typeNum

 

3 提示需要 insert ; 有可能是什么原因?

变量没有声明类型

posted @ 2017-08-16 23:20  清及  阅读(90)  评论(0编辑  收藏  举报