Giter Club home page Giter Club logo

reversi's Introduction

reversi's People

Contributors

george0528 avatar

Watchers

 avatar

reversi's Issues

パスした時に次に置ける場所が表示されない

具体的
パスした後にDBのnext_coordsがnullになっている

考えられる原因
パスしたときの関数がパスの処理の関数の前に次に置ける場所を特定している可能性がある

すべき対策
パス周りの関数のコードを読み直す

ボット対戦時に自分の次に置ける場所がおかしい

具体的:想定ではボット対戦時に自分が次に置ける場所を表示されるが、現在はボット側が置ける場所を自分が次に置ける場所と表示しているため自分が置ける場所を指定してあげる必要がある。

原因:次に置ける場所を指定する関数の仕様を変更したためそれに合わせた引数を渡せていない事が原因だと考えられる

解決策:引数あたりを重点的に確認する

ボット対戦時にボットが置かない

原因:次に置ける場所を探す関数を変更したため、その関数の発火場所がそれに合わせた引数を渡していない事が原因と思われる。

解決策:ボット操作の流れを再度把握し、引数の部分を変更する

最初に次に置ける場所を設定できていない

具体的
最初に次に置ける場所をDBに保存できていない。

考えられる原因
次に置ける場所の初期値の設定は上手くいっているためDBに保存する処理が上手くいっていない。もしくは、DBに保存できているがその変更をブラウザ側が処理の順番により読み込めていない。

パス時にエラーが発生

具体的:
パスをした時に「Attempt to read property "board" on null」と表示される

考えられる原因:
boardが存在しない

すべき対策:
コードを読む

オンライン対戦時の最初に相手の残り時間が表示されない

具体的:対戦ルームの画面に遷移した時に自分の残り時間は表示されるが相手の残り時間が表示されていない

原因:入室処理の後に時間を設定する関数(自分と相手の時間を設定&カウントを始める)を発火していないため

解決策:入室処理後に時間を設定する関数を発火する

置けない場所を選択したときに相手の残り時間が消え、自分の残り時間がリセットされる

具体的
置けない場所を指定した時に相手の残り時間が消えて、自分の残り時間が60秒にリセットされる

考えられる原因
置けない場所を指定した時に時間をカウントする関数は想定通り動いているため、$this->has_timeと$this->enemy_has_timeを参照しているのが問題と思われる。

すべき対策
置けない場所を指定された時に$has_timeと$enemy_has_timeを指定してあげる必要があると思う。

投了や接続切れではなく、置くマスがなくなって勝負が終了したときエラーが発生する

具体的:
全てのマスを埋めて勝負が終了した時片方(多分最後にマスに置いていない方)がLivewireのBoardの関数が正常に動いていないようで「Attempt to read property "time" on null」というエラーを出す。

考えられる原因:
相手が最後に置いた時にturn_next_color関数のget_users_times関数のget_enemy_time関数の$enemyが存在しないため、$enemy->timeも存在しない事となり、エラーとなっている。

すべき対策:
turn_next_color関数のget_users_times関数を行う前にDBのnext_colorが存在しているかチェックを行う事でその後のget_users_times関数を行わないようにする

オンライン対戦時に自分が置ける場所がない時に「置ける場所がないと」判定しない

具体的な問題:
自分が置ける場所がない時に次に置ける場所は表示されない、なぜか相手が次に置ける場所を表示される。

考えられる原因:
DBのnext_coordsが正常に更新されていない。

終了か判定する処理を行った時に相手が次に置ける場所をDBのnext_coordsに更新されている。

対策:
原因と思われる部分を調査してみる。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.