Skip to content
This repository was archived by the owner on Nov 12, 2021. It is now read-only.

Latest commit

 

History

History
57 lines (43 loc) · 1.98 KB

hw09.md

File metadata and controls

57 lines (43 loc) · 1.98 KB
layout title
default
Homework 09 - OOProgramming

Part 1 - Game & Class

  1. 游戏中涉及哪些类?请列表说明
Class Example
三位白衣服的人
河上面的船
恶魔 三位红色的恶魔
背景 天空,草地
文字 Time Left
按钮 Go,Try Again
  1. 游戏中有哪些对象,各几个?

    • Class 人 有 3 个实例
    • Class 船 有 1 个实例
    • Class 恶魔 有 3 个实例
    • Class 背景 有 2 个实例
    • Class 文字 有 2 个以上实例(Time Left/倒计时/Failed 等)
    • Class 按钮 有 1 个以上实例(Go/Try Again 等)
  2. 类和实例的区别是什么?

    类可以派生出实例,实例继承类拥有的属性/方法,并且可以增加/修改/删除。但是对于类而言,它并不具有具体的属性/方法;而实例有。 e.g. Class 人派生出 3 个实例 A/B/C,它们都具有属性(如身高/体重等),但是对于 Class 人来说,它没有具体的身高/体重,因为它只是一类;而对于具体的实例 A/B/C 而言,每个实例都有自己具体的身高/体重。

  3. 游戏中的魔鬼,有哪些属性和方法?

    • Property 位置(X/Y)

    • Property 外观(Image/Color...)

    • Property 状态(在岸上/在船上/在岸上到船上的过程中/在船上到岸上的过程中)

    • Function 吃人

    • Function 上船

    • Function 下船

  4. 假设魔鬼被鼠标点中,会执行onclick事件,请用文字(伪代码)描述这个事件中魔鬼与其他对象沟通的过程。

    魔鬼.onclick = function() {
        if(魔鬼.状态 == 在岸上 && 船.位置 near 魔鬼.位置 && 船.人数 <= 2) {
            魔鬼.上船()
        } else if(魔鬼.状态 == 在船上 && 船.位置 near 岸.位置 && 岸.人数 <= 3) {
            魔鬼.下船()
        })
    }
    
  5. 类或对象会是动词吗?

    不会。