teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

追記

2016/11/06 12:22

投稿

hiim
hiim

スコア1689

answer CHANGED
@@ -88,3 +88,49 @@
88
88
  とりあえず、一部だけ。。。
89
89
 
90
90
  ただし実際にはユーザーが想定しない操作をした時にどうするかも考えてコーディングしないといけません。
91
+
92
+ ### ソース追記
93
+
94
+ ```javascript
95
+ var suzi = document.getElementById('1');
96
+ var kazuate = document.getElementById('2');
97
+ var kaitou = document.getElementById('3');
98
+ var ookii = document.getElementById('4');
99
+ var tiisai = document.getElementById('5');
100
+ var kaisuu = document.getElementById('6');
101
+ var ans1= Math.round(Math.random()*100)+0; //コンピュータがランダムで2桁の回答を作成
102
+ var turn = 0; //答えた回数を保持する変数
103
+ var ans2 = parseInt(suzi.value); //プレイヤーが入力した答え
104
+
105
+ function kakunin()
106
+ {
107
+ if(ans2 == ans1){ //もしプレイヤーが入力した数値とコンピュータが出した答えが一緒なら
108
+ kaisuu.textContent = turn; //「:回目で正解です」欄に回数を表示
109
+ }
110
+ }
111
+
112
+ kazuate.addEventListener('click', function () { //挑戦をクリックした場合
113
+ turn++;
114
+ ans2 = parseInt(suzi.value);
115
+ kaitou.textContent = ans1; //「コンピュータの回答:」欄の横にコンピュータの回答を表示
116
+ kakunin();
117
+ });
118
+
119
+ tiisai.addEventListener('click', function () { //小さいをクリックした場合
120
+ turn++;
121
+ if(ans2 > ans1){ //もしコンピュータが出した答えがプレイヤーが入力した数値より小さかったら=
122
+ ans1 = Math.floor( Math.random() * (100-ans1 + 1) ) + ans1 + 1 ;
123
+ kaitou.textContent = ans1; //「コンピュータの回答:」欄により小さな数字の表示
124
+ kakunin();
125
+ }
126
+ });
127
+
128
+ ookii.addEventListener('click', function () { //大きいをクリックした場合
129
+ turn++;
130
+ if(ans2 < ans1){ //もしコンピュータが出した答えがプレイヤーが入力した数値より大きかったら
131
+ ans1 = Math.floor( Math.random() * ans1 );
132
+ kaitou.textContent = ans1; //「コンピュータの回答:」欄により大きな数字の表示
133
+ kakunin();
134
+ }
135
+ });
136
+ ```

3

追記

2016/11/06 12:22

投稿

hiim
hiim

スコア1689

answer CHANGED
@@ -63,4 +63,28 @@
63
63
  ```
64
64
  の書く場所ですが、この場所ではkazuate.jsが読み込まれたらすぐ実行されるので、まだユーザーが数値を入力していない段階での処理になりans2は期待するものにはなりません。
65
65
 
66
- あとはロジック部分もみましたがこれでは想定されている動作はできません。、それぞれのボタンをクリックした時に何をするかを日本語レベルでいいのではっきりさせてそれに忠実にコーディングすると良いと思います。
66
+ あとはロジック部分もみましたがこれでは想定されている動作はできません。、それぞれのボタンをクリックした時に何をするかを日本語レベルでいいのではっきりさせてそれに忠実にコーディングすると良いと思います。
67
+
68
+ ###追記
69
+ ```javascript
70
+ function kakunin()
71
+ {
72
+ if(ans2 == ans1){ //もしプレイヤーが入力した数値とコンピュータが出した答えが一緒なら
73
+ kaisuu.textContent = turn; //「:回目で正解です」欄に回数を表示
74
+ }
75
+ }
76
+
77
+ 〜省略〜
78
+
79
+ ookii.addEventListener('click', function () { //大きいをクリックした場合
80
+ turn++;
81
+ if(ans2 < ans1){ //もしコンピュータが出した答えがプレイヤーが入力した数値より大きかったら
82
+ ans1 = Math.floor( Math.random() * ans1 );
83
+ kaitou.textContent = ans1; //「コンピュータの回答:」欄により大きな数字の表示
84
+ kakunin();
85
+ }
86
+ });
87
+ ```
88
+ とりあえず、一部だけ。。。
89
+
90
+ ただし実際にはユーザーが想定しない操作をした時にどうするかも考えてコーディングしないといけません。

2

追記

2016/11/06 10:16

投稿

hiim
hiim

スコア1689

answer CHANGED
@@ -56,3 +56,11 @@
56
56
  if(ans2 == ans1)
57
57
  にしないと比較ではなく上書きになります。
58
58
  ```
59
+
60
+ ### 追記
61
+ ```javascript
62
+ var ans2 = parseInt(suzi.value);
63
+ ```
64
+ の書く場所ですが、この場所ではkazuate.jsが読み込まれたらすぐ実行されるので、まだユーザーが数値を入力していない段階での処理になりans2は期待するものにはなりません。
65
+
66
+ あとはロジック部分もみましたがこれでは想定されている動作はできません。、それぞれのボタンをクリックした時に何をするかを日本語レベルでいいのではっきりさせてそれに忠実にコーディングすると良いと思います。

1

追記

2016/11/06 09:43

投稿

hiim
hiim

スコア1689

answer CHANGED
@@ -48,4 +48,11 @@
48
48
  turn++;//回数を増やす
49
49
  });
50
50
  ```
51
- です。動作内容まではチェックしてません。
51
+ です。動作内容まではチェックしてません。
52
+
53
+ ```
54
+ if(ans2 = ans1)
55
+
56
+ if(ans2 == ans1)
57
+ にしないと比較ではなく上書きになります。
58
+ ```