2017-07-19 5 views
1

私は現在、小さなゲームのためにグリッドの周りにプレーヤーの位置を移動しようとしています。タスクは、彼が2つのサイコロを振る場所の数を彼を移動することです。私はグリッドの2次元配列を作っていますが、ダイスの回転だけでなく、完璧に動作しますが、ダイスが倍になると後方に移動しますが、どうやってそれは本当に奇妙な形をしています。どんな支援も大歓迎です。Pythonの奇妙な形のグリッドの周りのプレーヤーの動き

私がこれまで持っているもの:

grid = [[43,44,45,46,47,48,49], 
     [42,41,40,39,38,37,36], 
     [29,30,31,32,33,34,35], 
     [28,27,26,25,24,23,22], 
     [15,16,17,18,19,20,21], 
     [14,13,12,11,10,9,8], 
     [1,2,3,4,5,6,7]] 

dice1 = randint(1,6) 
dice2 = randint(1,6) 
if dice1 == dice2: 
    doubles = True 
+0

この2次元アレイは7×7で完璧ですが、それは不規則であるとはどういう意味ですか? –

+0

私は数字の位置を意味しました。それは、左から右へ、そして下から上へと交代するためです。すみませんでした。申し訳ありませんが –

答えて

0

私は前後に移動するための行とCOLの位置と機能を有することにより、それに近づくでしょう。ここで私はあなたに後ろ向きのままになり、私は前方移動を行うだろうかです:

row = 6 
col = 0 
def forward(num): 
    if row % 2 == 0: # move right to go forward for even row 
     if num > 6-col: 
      row -= 1 
      col = 6 
      return forward(num-(6-col)) 
     col += num 
    else: 
     if num > col: 
      row -= 1 
      col = 0 
      return forward(num-(col+1)) 
     col -= num 

あなたは、彼らが最終位置に到達したときのためのチェックを追加する必要があります。

+0

私はそれを考えませんでした。どうもありがとうございます –

+0

よろしくお願いします。これが投票に同意して頂けたら助かりましたか? :) –