質問編集履歴

1

現在のコードを追加しました。

2018/12/08 04:34

投稿

ryotaro
ryotaro

スコア12

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,281 @@
1
+ ```JankenManager
2
+
3
+
4
+
5
+ using System.Collections.Generic;
6
+
7
+ using UnityEngine;
8
+
9
+ using UnityEngine.UI;
10
+
11
+ using UnityEngine.SceneManagement;
12
+
13
+
14
+
15
+ public class JankenManager : MonoBehaviour {
16
+
17
+
18
+
19
+ public GameManager gameManager;
20
+
21
+
22
+
23
+ public GameObject[] enemyObjects;
24
+
25
+ private int enemyHand;
26
+
27
+
28
+
29
+ private float hansyaTime;
30
+
31
+ private float recodeTime;
32
+
33
+ private float recode;
34
+
35
+ private static float ave=0.0;
36
+
37
+
38
+
39
+ public int countNumber;
40
+
41
+
42
+
43
+ public Text winloseText;
44
+
45
+ public Text resultText;
46
+
47
+
48
+
49
+ // Use this for initialization
50
+
51
+ void Start () {
52
+
53
+ PlayStart ();
54
+
55
+ }
56
+
57
+
58
+
59
+ // Update is called once per frame
60
+
61
+ void Update () {
62
+
63
+
64
+
65
+ }
66
+
67
+
68
+
69
+ void PlayStart(){
70
+
71
+ winloseText.text = "";
72
+
73
+ hansyaTime = 0.0f;
74
+
75
+ countNumber = 0;
76
+
77
+ hansyaTime += Time.deltaTime;
78
+
79
+ enemyHand = Random.Range (0, enemyObjects.Length);
80
+
81
+ foreach (GameObject obj in enemyObjects) {
82
+
83
+ obj.SetActive (false);
84
+
85
+ }
86
+
87
+ Invoke ("PlayObjects", 0.5f);
88
+
89
+ }
90
+
91
+
92
+
93
+ public static void PushButton(int playHand){
94
+
95
+ CountUp ();
96
+
97
+ if ((playHand == 0 && enemyHand == 2) ||
98
+
99
+ (playHand == 1 && enemyHand == 0) ||
100
+
101
+ (playHand == 2 && enemyHand == 1)) {
102
+
103
+ winloseText.text = "成功";
104
+
105
+ gameManager.ScoreUp ();
106
+
107
+ } else {
108
+
109
+ winloseText.text = "失敗";
110
+
111
+ gameManager.ScoreErr ();
112
+
113
+ }
114
+
115
+ Invoke ("PlayStart", 1.0f);
116
+
117
+ recodeTime = hansyaTime;
118
+
119
+ recode += recodeTime;
120
+
121
+ ave = recode / countNumber;
122
+
123
+ resultText.text = "結果"+ave.ToString ();
124
+
125
+ }
126
+
127
+
128
+
129
+ void PlayObjects(){
130
+
131
+ enemyObjects [enemyHand].SetActive (true);
132
+
133
+ }
134
+
135
+
136
+
137
+ void CountUp(){
138
+
139
+ countNumber++;
140
+
141
+ }
142
+
143
+
144
+
145
+ }
146
+
147
+ ```
148
+
149
+ ```GameManager
150
+
151
+
152
+
153
+ using UnityEngine.SceneManagement;
154
+
155
+
156
+
157
+ public class GameManager : MonoBehaviour {
158
+
159
+ private float maxTime=60.0f;
160
+
161
+ int seconds;
162
+
163
+ public Text timerText;
164
+
165
+
166
+
167
+ public static int errorNumber;
168
+
169
+ public static int nowNumber;
170
+
171
+ public Text counterText;
172
+
173
+
174
+
175
+ private bool isNowGame;
176
+
177
+
178
+
179
+ void GameStart(){
180
+
181
+ nowNumber = 0;
182
+
183
+ errorNumber = 0;
184
+
185
+ isNowGame = true;
186
+
187
+ }
188
+
189
+
190
+
191
+
192
+
193
+ // Use this for initialization
194
+
195
+ void Start () {
196
+
197
+
198
+
199
+ }
200
+
201
+
202
+
203
+ // Update is called once per frame
204
+
205
+ void Update () {
206
+
207
+ isNowGame = true;
208
+
209
+ maxTime -= Time.deltaTime;
210
+
211
+ seconds = (int)maxTime;
212
+
213
+ timerText.text = "制限時間 " + seconds.ToString ();
214
+
215
+ if (maxTime <= 0) {
216
+
217
+ isNowGame = false;
218
+
219
+ GameEnd ();
220
+
221
+ }
222
+
223
+ counterText.text = nowNumber.ToString () + "回成功";
224
+
225
+ }
226
+
227
+
228
+
229
+ public static int getNowNumber(){
230
+
231
+ return nowNumber;
232
+
233
+ }
234
+
235
+
236
+
237
+ public static int getErrNumber(){
238
+
239
+ return errorNumber;
240
+
241
+ }
242
+
243
+
244
+
245
+ void GameEnd(){
246
+
247
+ SceneManager.LoadScene ("ResultScene");
248
+
249
+ }
250
+
251
+
252
+
253
+ public void ScoreUp(){
254
+
255
+ nowNumber++;
256
+
257
+ counterText.text = nowNumber.ToString ();
258
+
259
+ }
260
+
261
+
262
+
263
+ public void ScoreErr(){
264
+
265
+ errorNumber++;
266
+
267
+ }
268
+
269
+ }
270
+
271
+ ```
272
+
1
273
  Unityを使用してゲームを作っているのですが、画像が表示されてボタンを押すまでの時間の平均時間を出したいと思っています。ゲームの内容としましては、制限時間(仮に60秒)の中で画像が表示されたらボタンを押すという作業を繰り返し、その画像が表示されてボタンを押すまでの時間の平均時間を出したいと思っています。
2
274
 
275
+ JankenManagerのコードの方に新しくタイマーを設けようとしたのですがエラーが出てしまいました。
276
+
277
+ PlayStart()が呼び出されるときに再度0秒の状態で始めたいのでhansyaTime=0にしています。
278
+
279
+ ですがPushButton()の最後の4行のところでエラーが出てしまいます。
280
+
3
281
  アドバイスの程よろしくお願いします。