回答編集履歴

2

ADVゲームの例とオブジェクトの話を追加

2017/11/27 05:26

投稿

LLman
LLman

スコア5592

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

ハイパーリンクの語を追加

2017/11/27 05:26

投稿

LLman
LLman

スコア5592

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- **HTML**でもできますね、これ。
5
+ **HTML**の**ハイパーリンク**でもできますね、これ。
6
6
 
7
7
 
8
8