質問編集履歴

4

訂正

2016/11/10 23:43

投稿

ajgd261
ajgd261

スコア12

test CHANGED
@@ -1 +1 @@
1
- javaの数値入力
1
+ 数値入力
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ###前提・実現したいこと
2
2
 
3
- javascriptで数当てゲームを作っています。
3
+ 数当てゲームを作っています。
4
4
 
5
5
 
6
6
 

3

訂正

2016/11/10 23:43

投稿

ajgd261
ajgd261

スコア12

test CHANGED
@@ -1 +1 @@
1
- 数当て javascript
1
+ javaの数値入力
test CHANGED
@@ -2,23 +2,7 @@
2
2
 
3
3
  javascriptで数当てゲームを作っています。
4
4
 
5
- 今回、大体はコンピュータが作った数字を人間が入力して当てますが、
5
+
6
-
7
- 人間が入力した数字をコンピュータが当てるという方針で考えました。
8
-
9
- 実現したいことは
10
-
11
- 1,プレイヤーが□の場所に1~99の数値を入力
12
-
13
- 2,挑戦ボタンを押すと、コンピュータが1~99の数字の中からランダムで1つ出力。解答欄の横にその数字を表示
14
-
15
- 3.プレイヤーが選んだ数字よりコンピュータが出力した数字が大きい場合、大きいボタンを押す(小さい場合も同様)。
16
-
17
- 4.大きい(小さい)ボタンをクリックした場合、新たな数字を解答欄に表示(大きければ、より大きな数字を表示。小さい場合も同様)
18
-
19
- 5.プレイヤーが選んだ数字とコンピュータが出力した数字が同じ場合、回数を??のところに表示。
20
-
21
- このような手順で考えました。
22
6
 
23
7
  コードは以下の通りです。
24
8
 

2

書式変更

2016/11/10 23:41

投稿

ajgd261
ajgd261

スコア12

test CHANGED
File without changes
test CHANGED
@@ -140,7 +140,9 @@
140
140
 
141
141
 
142
142
 
143
- 追記:
143
+ **追記:**
144
+
145
+ ---
144
146
 
145
147
  丁寧な回答ありがとうございます。
146
148
 

1

追記

2016/11/06 11:53

投稿

ajgd261
ajgd261

スコア12

test CHANGED
File without changes
test CHANGED
@@ -137,3 +137,149 @@
137
137
  一応、各コードになぜこのように書いたか説明しました。
138
138
 
139
139
  今回実現したいことが分かる方がいらっしゃいましたら、ご教示お願いします。
140
+
141
+
142
+
143
+ 追記:
144
+
145
+ 丁寧な回答ありがとうございます。
146
+
147
+ それらの回答に基づいて編集してみました。
148
+
149
+ ```javascript
150
+
151
+ var suzi = document.getElementById('1');
152
+
153
+ var kazuate = document.getElementById('2');
154
+
155
+ var kaitou = document.getElementById('3');
156
+
157
+ var ookii = document.getElementById('4');
158
+
159
+ var tiisai = document.getElementById('5');
160
+
161
+ var kaisuu = document.getElementById('6');
162
+
163
+ var ans1= Math.floor(Math.random()*100)+0; //コンピュータがランダムで2桁の回答を作成
164
+
165
+ var turn = 0; //答えた回収を保持する変数
166
+
167
+ var ans2 = parseInt(suzi.value); //プレイヤーが入力した答え
168
+
169
+
170
+
171
+ function kakunin(){
172
+
173
+ if(ans2 == ans1){ //もしプレイヤーが入力した数値とコンピュータが出した答えが一緒なら
174
+
175
+ kaitou.textContent = ans1; //「コンピュータの回答:」欄にコンピュータの回答を表示
176
+
177
+ kaisuu.textContent = turn; //「:回目で正解です」欄に回数を表示
178
+
179
+ }
180
+
181
+ }
182
+
183
+
184
+
185
+ tiisai.addEventListener('click', function () { //小さいをクリックした場合
186
+
187
+ turn++;
188
+
189
+ if(ans2 > ans1){ //もしコンピュータが出した答えがプレイヤーが入力した数値より小さかったら
190
+
191
+ ans1=Math.floor(Math.random()*((99+1)- ans1)) +ans1;
192
+
193
+ //追加項目 最大値を99、最小値をans1と指定?
194
+
195
+ kaitou.textContent = ans1; //より大きい数字の表示
196
+
197
+ kakunin();
198
+
199
+ }
200
+
201
+ });
202
+
203
+
204
+
205
+ ookii.addEventListener('click', function () { //大さいをクリックした場合
206
+
207
+ turn++;
208
+
209
+ if(ans2 < ans1){ //もしコンピュータが出した答えがプレイヤーが入力した数値より大きかったら
210
+
211
+ ans1=Math.floor(Math.random()*((ans1+1)- 0)) +0;
212
+
213
+ //追加項目 最大値を((ans1+1)- 0))、最小値を0と指定??
214
+
215
+ kaitou.textContent = ans1; //「コンピュータの回答:」欄により大きい数字の表示
216
+
217
+ kakunin();
218
+
219
+ }
220
+
221
+ });
222
+
223
+
224
+
225
+
226
+
227
+ ```
228
+
229
+ 変更点は、
230
+
231
+ 最初は、
232
+
233
+ ```javascript
234
+
235
+ kazuate.addEventListener('click', function () { //挑戦をクリックした場合
236
+
237
+ if(ans2 = ans1){ //もしプレイヤーが入力した数値とコンピュータが出した答えが一緒なら
238
+
239
+ kaitou.textContent = ans1; //「コンピュータの回答:」欄の横にコンピュータの回答を表示
240
+
241
+ kaisuu.textContent = turn; //「:回目で正解です」欄に回数を表示
242
+
243
+ }
244
+
245
+ }
246
+
247
+ ```
248
+
249
+ だったのを、
250
+
251
+ ```javascript
252
+
253
+ function kakunin(){
254
+
255
+ if(ans2 == ans1){ //もしプレイヤーが入力した数値とコンピュータが出した答えが一緒なら
256
+
257
+ kaitou.textContent = ans1; //「コンピュータの回答:」欄にコンピュータの回答を表示
258
+
259
+ kaisuu.textContent = turn; //「:回目で正解です」欄に回数を表示
260
+
261
+ }
262
+
263
+ }
264
+
265
+ ```
266
+
267
+ に変えました。
268
+
269
+ また、turn++の位置をあげ、
270
+
271
+ もしコンピュータが出した答えがプレイヤーが入力した数値より小さかったら
272
+
273
+ ans1=Math.floor(Math.random()*((99+1)- ans1)) +ans1;
274
+
275
+ もしコンピュータが出した答えがプレイヤーが入力した数値よりおおきかったら
276
+
277
+ ans1=Math.floor(Math.random()*((ans1+1)- 0)) +0;
278
+
279
+ としました。
280
+
281
+ どうしても分からなかったのが、おっしゃていた
282
+
283
+ var ans2 = parseInt(suzi.value);
284
+
285
+ をどの位置にやるのかです。