質問編集履歴

2

コードレビュー&新実装

2020/09/29 03:26

投稿

ebifurai55
ebifurai55

スコア35

test CHANGED
File without changes
test CHANGED
@@ -357,3 +357,79 @@
357
357
  64マスに達したらというのではあれば
358
358
 
359
359
  if ( any === 64 )とかで判定して処理を書きたい
360
+
361
+
362
+
363
+ 09/29
364
+
365
+ あれから試したものの、nt[BLACK]とnt[white]の動きがどうしてもわからなかったので、以下の様な実装をしてみました
366
+
367
+ ```reversi.js
368
+
369
+
370
+
371
+ // 左端からすべてのマスの確認を行う
372
+
373
+ var white_cnt = 0
374
+
375
+ var black_cnt = 0
376
+
377
+ for (var x = 0; x < 8; x++) {
378
+
379
+ for (var y = 0; y < 8; y++) {
380
+
381
+ // 空白マスのみおけるのでチェック
382
+
383
+ // それ以外は石の数を加算
384
+
385
+ switch( field[x][y] ) {
386
+
387
+ //case 0:
388
+
389
+ //console.log('何もしない');
390
+
391
+ //break;
392
+
393
+ case 1:
394
+
395
+ black_cnt++;
396
+
397
+ console.log('黒を1加算');
398
+
399
+ console.log('黒の数' + black_cnt);
400
+
401
+
402
+
403
+ break;
404
+
405
+ case 2:
406
+
407
+ white_cnt++;
408
+
409
+ console.log('白を1加算');
410
+
411
+ console.log('白の数' + white_cnt);
412
+
413
+ break;
414
+
415
+ }
416
+
417
+ }
418
+
419
+ }
420
+
421
+
422
+
423
+ }
424
+
425
+ ```
426
+
427
+ これで正常に動いた!と思ったのですが、譜面が進むと、白か黒か枚数が同一ではなくなります。どうすればいいのか思案してましたが、当方playable関数に関してまったく理解がないので、どうも自分流で作れれば作った方がいいのではないかと思いました。トレーニングしてないのに野球の実践で活躍できるかと言うと、リトルリーグと大リーグぐらい違うものだと認識しました。たかだか100行くらいですけど、明日までに解決策が出なかったら、メンターに失敗だったと報告します。
428
+
429
+
430
+
431
+ 他に何かご助言ありますでしょうか?人格攻撃とか向いてないとか言うのはご遠慮ください。
432
+
433
+
434
+
435
+ 追記。Switchの0も何を指してるかわかりません

1

やりたい事、ひっかかってる事、将来の設計

2020/09/29 03:26

投稿

ebifurai55
ebifurai55

スコア35

test CHANGED
File without changes
test CHANGED
@@ -327,3 +327,33 @@
327
327
 
328
328
 
329
329
  showWinnerはどこからか引っ張ってきたメソッドです。普通に動きません。なにかご助言いただけないでしょうか?たくさんの方からの投稿まっています。
330
+
331
+
332
+
333
+ 情報追記
334
+
335
+ やりたい事
336
+
337
+ ・黒と白の数を表示
338
+
339
+ ・64マスに達したら黒か白かどちらが勝ったか判定をする
340
+
341
+
342
+
343
+ 現状の問題
344
+
345
+ ・nt[board[[x,y]]]++;
346
+
347
+ で nt[BLACK]とnt[WHITE]の値が更新されてない。
348
+
349
+ そのため、ずっと”引き分けの"の表示になる。
350
+
351
+ ・nt[BLACK]とnt[WHITE]をカウントしたいが、どの様に表現しないといけないのか分からない。
352
+
353
+
354
+
355
+ 将来の実装
356
+
357
+ 64マスに達したらというのではあれば
358
+
359
+ if ( any === 64 )とかで判定して処理を書きたい