見出し画像

Djangoでブラックジャックを目指す 24.5 勝敗判定の不具合修正2(エラー中)

今回やること

ゲーム勝敗の履歴の登録(エラー中)

前回まででやったこと

Djangoのプロジェクトを作る
start appでacounts ,game の2つのappのひな型を作成
accounts (app)にログイン用のCustomUserのモデルを作成
settings.pyを編集ログインユーザーを作成したCustomUserに変更
game に(app)にモデルをセットする
game (app)にforms.py(という空のファイル)を作成
formをセットする
allatuthを使ってログイン周りのアカウント部分を作成
ゲーム画面までのルーティング
表示用のベーステンプレートの複製
テンプレートとViewを連携させる
エントランスページ最低限の機能を考える
部屋作成機能 の実装
entrance → gameroom へのルーティング
カードの一覧作成処理
カードの一覧のIDを取得
カードリストをシャッフル→DB格納
初期デッキ生成処理の組み込み
ゲームボタンの生成
ゲーム準備完了ボタンの処理
全員参加意思が行われた時のターン進行処理
エントランス表示処理の変更
元の部屋に帰るメゾット追加
元の部屋の戻る処理の確認
2ターン目の流れの確認
カードをドローする処理の動作確認
フェイズを進行させる
手札の表示
点数処理
役の確認チェック
プレイヤーの行動処理
ルームに内のプレイヤー全員の手札を表示
全プレイヤーに得点情報の追加
勝利者判定
前回勝利者判定時の確認に使用したviewを説明
ゲームを終了し部屋を閉じる処理
退出処理の時の不具合とその解決方法の洗い出し

エラー中のコード

def set_gamehist(room_id_num,all_player_handinfo):
   hist_list= [];
   for playerinfo in all_player_handinfo:

       room_id=room_id_num
       user = playerinfo.get('user_name')

       #user=CustomUser.objects.get(usermame=name )

       hands= "";
       for hand in playerinfo.get('hand'):
           hands+= " "+hand['mark'] + str(hand['num']) ;
       dicts={
           'room_id':room_id,
           'user_name':user,
           'hands':hands,
           'point':playerinfo.get('point'),
           'win':playerinfo.get('win'),

           }


       hist_list.append(GameHistroies(dicts))

   GameHistroies.objects.bulk_create(hist_list)

履歴を別DBに保存させようとしたが現在以下の部分でエラーが出ていて実装に失敗している

エラー箇所
hands+= " "+hand['mark'] + str(hand['num'])

最初はhand.get('mark')のようにしていたがどうもそれだと取得に失敗する
とりあえず別の形式で試してみているが名称が変わっただけのエラーになってしまっていいる

そのほかにもCustomUserがうまく取得できないという不具合もあったがそちらは解決できた

次回予定

これの原因究明と実装までやりたい





この記事が気に入ったらサポートをしてみませんか?