質問編集履歴

2

機能の詳細を記載

2019/12/02 08:22

投稿

hinatahinata
hinatahinata

スコア29

test CHANGED
File without changes
test CHANGED
@@ -6,15 +6,41 @@
6
6
 
7
7
  ## 実装したい機能
8
8
 
9
- キー(string)と値(float)ストがあり、
9
+ ャラクターの動作をシミュレトするアプケーション。(のようなもの)
10
10
 
11
+
12
+
13
+ データベースで以下のようなテーブルがあり、それらを計算しキャラクターの挙動を変化させる。
14
+
11
- キーによってそれぞれ別の変数を処理したい。
15
+ |キー(string)|値(float)|
16
+
17
+ |:--|:--:|
18
+
19
+ |WalkSpeed|+10|
20
+
21
+ |WalkSpeed|+20|
22
+
23
+ |WalkSpeed|-10|
24
+
25
+ |AttackSpeed|+5|
26
+
27
+ |AttackSpeed|+10|
28
+
29
+ |IsPoison|1|
30
+
31
+
32
+
33
+
34
+
35
+
12
36
 
13
37
 
14
38
 
15
39
 
16
40
 
17
41
  ```DataUnit
42
+
43
+ // テーブルの各行
18
44
 
19
45
  public class DataUnit {
20
46
 
@@ -38,15 +64,15 @@
38
64
 
39
65
 
40
66
 
41
- ```Test
67
+ ```Chara
42
68
 
43
- public class Test {
69
+ public class Chara {
44
70
 
45
- float fieldA = 0f;
71
+ float walkSpeed = 0f;
46
72
 
47
- float fieldB = 0f;
73
+ float attackSpeed = 0f;
48
74
 
49
- bool fieldC = false;
75
+ bool isPoison = false;
50
76
 
51
77
 
52
78
 
@@ -54,11 +80,19 @@
54
80
 
55
81
  List<DataUnit> dataUnits = new List<DataUnit>();
56
82
 
57
- dataUnits.Add(new DataUnit("fieldA", 10.0f));
58
83
 
59
- dataUnits.Add(new DataUnit("fieldB", -20.0f));
60
84
 
85
+ // データベースからテーブルデータをdataUnitsへ保存(下記はデバッグ用にデータを生成)
86
+
87
+ dataUnits.Add(new DataUnit("WalkSpeed", 10.0f));
88
+
89
+ dataUnits.Add(new DataUnit("AttackSpeed", -20.0f));
90
+
61
- dataUnits.Add(new DataUnit("fieldC", 1f));
91
+ dataUnits.Add(new DataUnit("IsPoison", 1f));
92
+
93
+ dataUnits.Add(new DataUnit("WalkSpeed", 12f));
94
+
95
+ dataUnits.Add(new DataUnit("AttackSpeed", 5f));
62
96
 
63
97
 
64
98
 
@@ -68,25 +102,25 @@
68
102
 
69
103
  swicth (unit.Key) {
70
104
 
71
- case "fieldA"
105
+ case "walkSpeed"
72
106
 
73
- fieldA += unit.Value;
107
+ walkSpeed += unit.Value;
74
108
 
75
109
  break;
76
110
 
77
111
 
78
112
 
79
- case "fieldB"
113
+ case "attackSpeed"
80
114
 
81
- fieldB -= unit.Value;
115
+ attackSpeed += unit.Value;
82
116
 
83
117
  break;
84
118
 
85
119
 
86
120
 
87
- case "fieldC"
121
+ case "isPoison"
88
122
 
89
- fieldC = unit.Value > 0f ? true : false;
123
+ isPoison |= unit.Value > 0f ? true : false;
90
124
 
91
125
  break;
92
126
 
@@ -100,6 +134,14 @@
100
134
 
101
135
  }
102
136
 
137
+
138
+
139
+ void Update() {
140
+
141
+ // キャラクターの動作に反映
142
+
143
+ }
144
+
103
145
  }
104
146
 
105
147
  ```

1

処理内容を変更

2019/12/02 08:22

投稿

hinatahinata
hinatahinata

スコア29

test CHANGED
File without changes
test CHANGED
@@ -78,7 +78,7 @@
78
78
 
79
79
  case "fieldB"
80
80
 
81
- fieldB += unit.Value;
81
+ fieldB -= unit.Value;
82
82
 
83
83
  break;
84
84