回答編集履歴
2
ADVゲームの例とオブジェクトの話を追加
test
CHANGED
@@ -11,3 +11,45 @@
|
|
11
11
|
**状態遷移**とか**フローチャート**とか、
|
12
12
|
|
13
13
|
オートマトンとか、グラフ理論とか、その辺でしょうか。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
---
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
屋敷を探索するADVゲームを考えてみます。
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
たとえば、同じ部屋を三回訪れるとトラップが発動するとか、
|
28
|
+
|
29
|
+
何かの演算が発生しただけで、すぐに**HTMLの限界**が来ます。
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
また、プログラム言語で書く場合でも、たんにIF文だけで書くと分岐が複雑になります。
|
34
|
+
|
35
|
+
とくにPHPやJavaならOOPで考え、**遷移する状態にオブジェクトを当てはめ**ます。
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
箱と矢印の箱、あるいはグラフのノードを、オブジェクトに見立てるイメージです。
|
40
|
+
|
41
|
+
また結局、ステートパターンとかも、ステートマシンの実装パターンのひとつです。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
一部屋につき一オブジェクトみたいな感じで、
|
46
|
+
|
47
|
+
その部屋の訪問回数とかは、部屋オブジェクトが状態で持つわけです。
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
これの何が良いかというと、仕様とコードが一対一対応してるから、
|
52
|
+
|
53
|
+
「この部屋にこういうイベントを作りたい」みたいに仕様変更するときに、
|
54
|
+
|
55
|
+
ネストしたIF文の分岐を追わなくてよくなります。結果、変更容易になる。
|
1
ハイパーリンクの語を追加
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
**HTML**でもできますね、これ。
|
5
|
+
**HTML**の**ハイパーリンク**でもできますね、これ。
|
6
6
|
|
7
7
|
|
8
8
|
|