layout | title |
---|---|
default |
Homework 09 - OOProgramming |
- 游戏中涉及哪些类?请列表说明
Class | Example |
---|---|
人 | 三位白衣服的人 |
船 | 河上面的船 |
恶魔 | 三位红色的恶魔 |
背景 | 天空,草地 |
文字 | Time Left |
按钮 | Go,Try Again |
-
游戏中有哪些对象,各几个?
- Class 人 有 3 个实例
- Class 船 有 1 个实例
- Class 恶魔 有 3 个实例
- Class 背景 有 2 个实例
- Class 文字 有 2 个以上实例(Time Left/倒计时/Failed 等)
- Class 按钮 有 1 个以上实例(Go/Try Again 等)
-
类和实例的区别是什么?
类可以派生出实例,实例继承类拥有的属性/方法,并且可以增加/修改/删除。但是对于类而言,它并不具有具体的属性/方法;而实例有。 e.g. Class 人派生出 3 个实例 A/B/C,它们都具有属性(如身高/体重等),但是对于 Class 人来说,它没有具体的身高/体重,因为它只是一类;而对于具体的实例 A/B/C 而言,每个实例都有自己具体的身高/体重。
-
游戏中的魔鬼,有哪些属性和方法?
-
Property 位置(X/Y)
-
Property 外观(Image/Color...)
-
Property 状态(在岸上/在船上/在岸上到船上的过程中/在船上到岸上的过程中)
-
Function 吃人
-
Function 上船
-
Function 下船
-
-
假设魔鬼被鼠标点中,会执行onclick事件,请用文字(伪代码)描述这个事件中魔鬼与其他对象沟通的过程。
魔鬼.onclick = function() { if(魔鬼.状态 == 在岸上 && 船.位置 near 魔鬼.位置 && 船.人数 <= 2) { 魔鬼.上船() } else if(魔鬼.状态 == 在船上 && 船.位置 near 岸.位置 && 岸.人数 <= 3) { 魔鬼.下船() }) }
-
类或对象会是动词吗?
不会。