2ヶ月前にPythonでプロゲームを開始しましたが、1週間前に問題が発生しました。 私は草案のゲームのボードを描きました。そして、私はそれらが望むように作品を動かしたいと思います。ドラフトゲームで奇妙な構文エラーが発生しました
direction_rouge()(ルージュはフランス語で赤)、direction_bleu()(ブルーは青を意味します)の2つの関数があります。
これらはピースの座標を正しく変更するため、次のIfループからそれらを使用しようとしました。 ループは、プレイヤーがプレイできるターン数を決定します。 各ループはターンであるため、direction_rouge()とdirection_bleu()は1回呼び出されます(別のセグメントでピースが食べられる場合は2つ)。
各ターンで関数呼び出しで発生する構文エラーが見つかりません。ここで
はプログラムの開発で、楽しい^^を持っている:
def direction_rouge() :
"""1 up left on the board
2 up right
3 down left
4 down right"""
t.up()
t.color(255,255,255)
t.goto(Xrouge[r-1],Yrouge[r-1])
t.down()
t.goto(Xrouge[r-1],Yrouge[r-1])
t.up()
t.color(255,0,0)
if n == 1 :
t.goto(Xrouge[r-1]-50,Yrouge[r-1]+50)
t.down()
t.goto(Xrouge[r-1]-50,Yrouge[r-1]+50)
Xrouge[r-1] = Xrouge[r-1]-50
Yrouge[r-1] = Yrouge[r-1]+50
if n == 2 :
t.goto(Xrouge[r-1]+50,Yrouge[r-1]+50)
t.down()
t.goto(Xrouge[r-1]+50,Yrouge[r-1]+50)
Xrouge[r-1] = Xrouge[r-1]+50
Yrouge[r-1] = Yrouge[r-1]+50
if n == 3 :
t.goto(Xrouge[r-1]-50,Yrouge[r-1]-50)
t.down()
t.goto(Xrouge[r-1]-50,Yrouge[r-1]-50)
Xrouge[r-1] = Xrouge[r-1]-50
Yrouge[r-1] = Yrouge[r-1]-50
if n == 4 :
t.goto(Xrouge[r-1]+50,Yrouge[r-1]-50)
t.down()
t.goto(Xrouge[r-1]+50,Yrouge[r-1]-50)
Xrouge[r-1] = Xrouge[r-1]+50
Yrouge[r-1] = Yrouge[r-1]-50
t.color(255,255,255)
t.write(r,False,align = "left",font=("Arial",10,"normal"))
def direction_bleu() :
"""same as direction_rouge"""
t.up()
t.color(255,255,255)
t.goto(Xbleu[b-1],Ybleu[b-1])
t.down()
t.goto(Xbleu[b-1],Ybleu[b-1])
t.up()
t.color(0,0,255)
if n == 1 :
t.goto(Xbleu[b-1]-50,Ybleu[b-1]+50)
t.down()
t.goto(Xbleu[b-1]-50,Ybleu[b-1]+50)
Xbleu[b-1] = Xbleu[b-1]-50
Ybleu[b-1] = Ybleu[b-1]+50
if n == 2 :
t.goto(Xbleu[b-1]+50,Ybleu[b-1]+50)
t.down()
t.goto(Xbleu[b-1]+50,Ybleu[b-1]+50)
Xbleu[b-1] = Xbleu[b-1]+50
Ybleu[b-1] = Ybleu[b-1]+50
if n == 3 :
t.goto(Xbleu[b-1]-50,Ybleu[b-1]-50)
t.down()
t.goto(Xbleu[b-1]-50,Ybleu[b-1]-50)
Xbleu[b-1] = Xbleu[b-1]-50
Ybleu[b-1] = Ybleu[b-1]-50
if n == 4 :
t.goto(Xbleu[b-1]+50,Ybleu[b-1]-50)
t.down()
t.goto(Xbleu[b-1]+50,Ybleu[b-1]-50)
Xbleu[b-1] = Xbleu[b-1]+50
Ybleu[b-1] = Ybleu[b-1]-50
t.color(255,255,255)
t.write(b,False,align = "left",font=("Arial",10,"normal"))
# Déroulement de la partie (the game's sequence of events)
turns = int(input("maximum number of turns :"))
t.width(30)
for i in range(1,turns+1) :
# Red player's turn
r = int(input("pion rouge numéro : "))
n=int(input("direction =")
direction_rouge()
for i in range(0,15) : #checks if there was another piece on the board
if Xrouge[r-1]==Xbleu[i] and Yrouge[r-1]==Ybleu[i] :
t.color(255,255,255)
t.begin_fill()
t.circle(15)
t.end_fill()
t.color(255,0,0)
direction_rouge()
#Xbleu[i]=0
#Ybleu[i]=0
t.color(255,255,255)
t.write(r,False,align = "left",font=("Arial",10,"normal"))
# Blue player's turn
b = int(input("pion bleu numéro : "))
n=int(input("direction =")
direction_bleu()
for i in range(0,15) : #same role
if Xbleu[b-1]==Xrouge[i] and Ybleu[b-1]==Yrouge[i] :
t.color(255,255,255)
t.begin_fill()
t.circle(15)
t.end_fill()
t.color(0,0,255)
direction_bleu()
#Xrouge[i]=0
#Yrouge[i]=0
t.color(255,255,255)
t.write(b,False,align = "left",font=("Arial",10,"normal"))
print("La partie est finie. (The game is over)")
エラーの行とメッセージを貼り付けていませんでした。 – lucasnadalutti
エラーはどの機能で発生しますか?スタックトレースを提供できますか? – MrPromethee
エラーメッセージを含めてください、我々は透視的ではありません。 – MaxLunar