2017-10-22 1 views
0

私は感覚帽子を使ってラズベリーパイのpython tictactoeゲームを作成しようとしています。私はボードを作成するリストを持っています。リストに3行のrdが含まれているかどうかを調べる必要があります(bはrdまたは(100,100,100)に変わります)。列に赤(rd)または青(bl)がすべて含まれているかどうかを誰がどのようにリストを検索するのか誰にも分かりますか?tic-tac-toeを確認します

board = [ 
     b, b, a, b, b, a, b, b, 
     b, b, a, b, b, a, b, b, 
     a, a, a, a, a, a, a, a, 
     b, b, a, b, b, a, b, b, 
     b, b, a, b, b, a, b, b, 
     a, a, a, a, a, a, a, a, 
     b, b, a, b, b, a, b, b, 
     b, b, a, b, b, a, b, b, 
    ] 

私は、センスHAT上のLEDを埋めるためにプレイヤーはそれがグリッド上のプロットを埋めるジョイスティックを押し下げるたびに、これを使用しています。

+1

これはtic-tac-toeのようではありません。あなたはConnect Fourを意味しますか? –

+2

また、これに1Dリストを使用しているのですか、または2Dリストですか?あなたのコードは1Dリストですが、レイアウトした方法によって、ネストされたリスト(2D)を使用しており、単にタイプミスを起こしている可能性があります。 –

+0

1dリスト私は信じています。 – Gus

答えて

1

この答えはいくつかの仮定に基づいています。あなたのボードで

  1. のは
  2. たBさんは、三目並べでプレイスペースを表す三目並べゲーム内の行を表しますゲーム
  3. は、Bさんの2グリッドにより、全体の2はプレイ

行をチェックする方法にRDまたはBLに変更されます

def check_row(rowNumber): 
    rowStart = rowNumber * 24 
    if board[rowStart] == rd and board[rowStart+3] == rd and board[rowStart+6] == rd: 
     return rd 
    if board[rowStart] == bl and board[rowStart+3] == bl and board[rowStart+6] == bl: 
     return bl 
    return None 

私は実際にこのコードをテストしていませんが、それはあなたに考えを与えるはずです。行番号(0、1、または2)で呼び出されると、行がすべてrdの場合はrdを返し、blの場合はblを返します。そうでない場合はNoneを返します。同様の方法を列のチェックと対角線のチェックのために定義することができる。

関連する問題