質問編集履歴

2

2021/07/23 12:49

投稿

numin
numin

スコア30

test CHANGED
File without changes
test CHANGED
@@ -20,8 +20,6 @@
20
20
 
21
21
  ```JavaScript
22
22
 
23
-
24
-
25
23
  'use strict';
26
24
 
27
25
 
@@ -124,186 +122,180 @@
124
122
 
125
123
  if(isShuffled == false) {
126
124
 
127
- alert('SLYD(スライド)へようこそ!数字パネルを空きマスへスライドして、左上(1)から全てのパネルを順番に並び変えてください。「NEW GAME」ぼたんを押すと新規ゲームが開始されます。\nハイスコア: ' + slydHigh + 'クリック');```ここに言語を入力
125
+ alert('SLYD(スライド)へようこそ!数字パネルを空きマスへスライドして、左上(1)から全てのパネルを順番に並び変えてください。「NEW GAME」ぼたんを押すと新規ゲームが開始されます。\nハイスコア: ' + slydHigh + 'クリック');
126
+
128
-
127
+ init();
128
+
129
+ shuffle(shuffleCount);
130
+
131
+ } else {
132
+
133
+ let checkRestart = window.confirm('本当にボードを初期化しても宜しいでしょうか?このゲームの得点は失われ、パネルの並びはシャッフルされます。');
134
+
135
+ if(checkRestart == true) {
136
+
137
+ init();
138
+
139
+ shuffle(shuffleCount);
140
+
141
+ }
142
+
143
+ }
144
+
129
- コード
145
+ });
146
+
147
+
148
+
149
+ // ボードのシャッフル
150
+
151
+ function shuffle(shuffleCount) {
152
+
153
+ for(var i=0;i<shuffleCount;i++) {
154
+
155
+ click({target:{posId:Math.floor(Math.random() * size * size)}});
156
+
157
+ }
158
+
159
+ isShuffled = true;
160
+
161
+ }
162
+
163
+ clickCount = 0;
164
+
165
+ // パネルクリック時の処理
166
+
167
+ function click(e) {
168
+
169
+ // ボードがシャッフル済みの場合、クリック回数をカウントするclickCountに1ずつ追加。
170
+
171
+ if(isShuffled == true) {
172
+
173
+ clickCount += 1;
174
+
175
+ msgBox.textContent = clickCount;
176
+
177
+ }
178
+
179
+ var pos=e.target.posId;
180
+
181
+ if(pos - size >= 0 && panels[pos - size].textContent == '★') {
182
+
183
+ swap(pos, pos - size);
184
+
185
+ } else if(pos + size < size * size && panels[pos + size].textContent == '★') {
186
+
187
+ swap(pos, pos + size);
188
+
189
+ } else if((pos + 1) % size != 0 && panels[pos + 1].textContent == '★') {
190
+
191
+ swap(pos, pos + 1);
192
+
193
+ } else if(pos % size != 0 && panels[pos - 1].textContent == '★') {
194
+
195
+ swap(pos, pos - 1);
196
+
197
+ }
198
+
199
+ window.setTimeout(function () { document.getElementById('click-tile').play(); },5);
200
+
201
+ }
202
+
203
+ function swap(p1, p2) {
204
+
205
+ var temp = panels[p1].textContent;
206
+
207
+ panels[p1].textContent = panels[p2].textContent;
208
+
209
+ panels[p2].textContent = temp;
210
+
211
+
212
+
213
+ panels[p1].classList.add('empty');
214
+
215
+ panels[p2].classList.remove('empty');
216
+
217
+ check();
218
+
219
+ }
220
+
221
+ // パネル位置の判定
222
+
223
+ function check(){
224
+
225
+ var okCount=0;
226
+
227
+ for(var i=0;i<panels.length;i++) {
228
+
229
+ if(panels[i].posId == parseInt(panels[i].textContent) - 1) {
230
+
231
+ okCount++;
232
+
233
+ panels[i].classList.add("ok");
234
+
235
+ } else {
236
+
237
+ panels[i].classList.remove('ok');
238
+
239
+ }
240
+
241
+ }
242
+
243
+ // クリア判定
244
+
245
+ if(isShuffled && okCount === size * size - 1) {
246
+
247
+ // クリック数とハイスコアを比較、結果に応じてアラートと効果音を変更する。
248
+
249
+ var slydHigh;
250
+
251
+ if(localStorage.getItem('slydScore')) {
252
+
253
+ slydHigh = Number(localStorage.getItem('slydScore'));
254
+
255
+ } else {
256
+
257
+ slydHigh = 0;
258
+
259
+ }
260
+
261
+ if(slydHigh = 0) {
262
+
263
+ localStorage.setItem('slydScore', clickCount);
264
+
265
+ document.getElementById('success').play();
266
+
267
+ window.setTimeout(function () { alert('初クリアおめでとうございます。' + clickCount + 'クリックでパズルを完成しました。'); },800);
268
+
269
+ } else if(clickCount < slydHigh) {
270
+
271
+ localStorage.setItem('slydScore', clickCount);
272
+
273
+ document.getElementById('high-score').play();
274
+
275
+ window.setTimeout(function () { alert('おめでとうございます、' + clickCount + 'クリックでパズルを完成、ハイスコアを更新しました!'); },800);
276
+
277
+ } else if(clickCount >= slydHigh) {
278
+
279
+ document.getElementById('success').play();
280
+
281
+ window.setTimeout(function () { alert('おめでとうございます、' + clickCount + 'クリックでパズルを完成しました。現在のハイスコアは' + localStorage.getItem('slydScore') + 'です。'); },800);
282
+
283
+ }
284
+
285
+ isShuffled = false;
286
+
287
+ }
288
+
289
+ }
290
+
291
+
292
+
293
+ init();
294
+
295
+ };
130
296
 
131
297
  ```
132
298
 
133
- init();
134
-
135
- shuffle(shuffleCount);
136
-
137
- } else {
138
-
139
- let checkRestart = window.confirm('本当にボードを初期化しても宜しいでしょうか?このゲームの得点は失われ、パネルの並びはシャッフルされます。');
140
-
141
- if(checkRestart == true) {
142
-
143
- init();
144
-
145
- shuffle(shuffleCount);
146
-
147
- }
148
-
149
- }
150
-
151
- });
152
-
153
-
154
-
155
- // ボードのシャッフル
156
-
157
- function shuffle(shuffleCount) {
158
-
159
- for(var i=0;i<shuffleCount;i++) {
160
-
161
- click({target:{posId:Math.floor(Math.random() * size * size)}});
162
-
163
- }
164
-
165
- isShuffled = true;
166
-
167
- }
168
-
169
- clickCount = 0;
170
-
171
- // パネルクリック時の処理
172
-
173
- function click(e) {
174
-
175
- // ボードがシャッフル済みの場合、クリック回数をカウントするclickCountに1ずつ追加。
176
-
177
- if(isShuffled == true) {
178
-
179
- clickCount += 1;
180
-
181
- msgBox.textContent = clickCount;
182
-
183
- }
184
-
185
- var pos=e.target.posId;
186
-
187
- if(pos - size >= 0 && panels[pos - size].textContent == '★') {
188
-
189
- swap(pos, pos - size);
190
-
191
- } else if(pos + size < size * size && panels[pos + size].textContent == '★') {
192
-
193
- swap(pos, pos + size);
194
-
195
- } else if((pos + 1) % size != 0 && panels[pos + 1].textContent == '★') {
196
-
197
- swap(pos, pos + 1);
198
-
199
- } else if(pos % size != 0 && panels[pos - 1].textContent == '★') {
200
-
201
- swap(pos, pos - 1);
202
-
203
- }
204
-
205
- window.setTimeout(function () { document.getElementById('click-tile').play(); },5);
206
-
207
- }
208
-
209
- function swap(p1, p2) {
210
-
211
- var temp = panels[p1].textContent;
212
-
213
- panels[p1].textContent = panels[p2].textContent;
214
-
215
- panels[p2].textContent = temp;
216
-
217
-
218
-
219
- panels[p1].classList.add('empty');
220
-
221
- panels[p2].classList.remove('empty');
222
-
223
- check();
224
-
225
- }
226
-
227
- // パネル位置の判定
228
-
229
- function check(){
230
-
231
- var okCount=0;
232
-
233
- for(var i=0;i<panels.length;i++) {
234
-
235
- if(panels[i].posId == parseInt(panels[i].textContent) - 1) {
236
-
237
- okCount++;
238
-
239
- panels[i].classList.add("ok");
240
-
241
- } else {
242
-
243
- panels[i].classList.remove('ok');
244
-
245
- }
246
-
247
- }
248
-
249
- // クリア判定
250
-
251
- if(isShuffled && okCount === size * size - 1) {
252
-
253
- // クリック数とハイスコアを比較、結果に応じてアラートと効果音を変更する。
254
-
255
- var slydHigh;
256
-
257
- if(localStorage.getItem('slydScore')) {
258
-
259
- slydHigh = Number(localStorage.getItem('slydScore'));
260
-
261
- } else {
262
-
263
- slydHigh = 0;
264
-
265
- }
266
-
267
- if(slydHigh = 0) {
268
-
269
- localStorage.setItem('slydScore', clickCount);
270
-
271
- document.getElementById('success').play();
272
-
273
- window.setTimeout(function () { alert('初クリアおめでとうございます。' + clickCount + 'クリックでパズルを完成しました。'); },800);
274
-
275
- } else if(clickCount < slydHigh) {
276
-
277
- localStorage.setItem('slydScore', clickCount);
278
-
279
- document.getElementById('high-score').play();
280
-
281
- window.setTimeout(function () { alert('おめでとうございます、' + clickCount + 'クリックでパズルを完成、ハイスコアを更新しました!'); },800);
282
-
283
- } else if(clickCount >= slydHigh) {
284
-
285
- document.getElementById('success').play();
286
-
287
- window.setTimeout(function () { alert('おめでとうございます、' + clickCount + 'クリックでパズルを完成しました。現在のハイスコアは' + localStorage.getItem('slydScore') + 'です。'); },800);
288
-
289
- }
290
-
291
- isShuffled = false;
292
-
293
- }
294
-
295
- }
296
-
297
-
298
-
299
- init();
300
-
301
- };
302
-
303
-
304
-
305
- ```
306
-
307
299
 
308
300
 
309
301
 

1

2021/07/23 12:49

投稿

numin
numin

スコア30

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- JavaScript:
21
+ ```JavaScript
22
22
 
23
23
 
24
24
 
@@ -124,7 +124,11 @@
124
124
 
125
125
  if(isShuffled == false) {
126
126
 
127
- alert('SLYD(スライド)へようこそ!数字パネルを空きマスへスライドして、左上(1)から全てのパネルを順番に並び変えてください。「NEW GAME」ぼたんを押すと新規ゲームが開始されます。\nハイスコア: ' + slydHigh + 'クリック');
127
+ alert('SLYD(スライド)へようこそ!数字パネルを空きマスへスライドして、左上(1)から全てのパネルを順番に並び変えてください。「NEW GAME」ぼたんを押すと新規ゲームが開始されます。\nハイスコア: ' + slydHigh + 'クリック');```ここに言語を入力
128
+
129
+ コード
130
+
131
+ ```
128
132
 
129
133
  init();
130
134
 
@@ -298,6 +302,12 @@
298
302
 
299
303
 
300
304
 
305
+ ```
306
+
307
+
308
+
309
+
310
+
301
311
  ### 試したこと
302
312
 
303
313