Python Colab Turtle Tic Tac Toe рисует круги не по центру без причины [дубликат]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python Colab Turtle Tic Tac Toe рисует круги не по центру без причины [дубликат]

Сообщение Anonymous »

Код: Выделить всё

def square(x):
for i in range(4):
allmight.pendown()
allmight.forward(x)
allmight.right(90)
def nextshape(jump):
allmight.penup()
allmight.forward(jump)
allmight.pendown()
def nextrow():
allmight.penup()
allmight.setheading(180)
allmight.forward(300)
allmight.setheading(270)
allmight.forward(100)
def printboard():
print(board[0])
print(board[1])
print(board[2])
def go():
row = int(input("which row do you want to place in? (1 is top, 2 is middle, 3 is bottom)"))
column = int(input("which column do you want to place in? (1 is left, 2 is middle, 3 is right)"))
while board[row-1][column-1] != " ":
row = int(input("which row do you want to place in? (1 is top, 2 is middle, 3 is bottom)"))
column = int(input("which column do you want to place in? (1 is left, 2 is middle, 3 is right)"))
xvalue = boardx[row-1][column-1]
yvalue = boardy[row-1][column-1]
if piece == "o":
board[row-1][column-1] = "o"
circle(xvalue,yvalue)
if piece == "x":
board[row-1][column-1] = "x"
cross(xvalue,yvalue)
def check_won():
won = False
if board[0][0] == board[0][1] and board[0][1] == board[0][2]:
if board[0][0] != " ":
won = True
elif board[1][0] == board[1][1] and board[1][1] == board[1][2]:
if board[1][0] != " ":
won = True
elif board[2][0] == board[2][1] and board[2][1] == board[2][2]:
if board[2][0] != " ":
won = True
elif board[0][0] == board[1][0] and board[1][0] == board[2][0]:
if board[0][0] != " ":
won = True
elif board[0][1] == board[1][1] and board[1][1] == board[2][1]:
if board[0][1] != " ":
won = True
elif board[0][2] == board[1][2] and board[1][2] == board[2][2]:
if board[0][2] != " ":
won = True
elif board[0][0] == board[1][1] and board[1][1] == board[2][2]:
if board[0][0] != " ":
won = True
elif board[0][2] == board[1][1] and board[1][1] == board[2][0]:
if board[0][2] != " ":
won = True
return won
def opponentgo():
print('not yet')
def opponentgorandom():
opponentx = random.randint(0,2)
opponenty = random.randint(0,2)
opponentgo = board[opponentx][opponenty]
while opponentgo != " ":
opponentx = random.randint(0,2)
opponenty = random.randint(0,2)
opponentgo = board[opponentx][opponenty]
xvalue = boardx[opponentx][opponenty]
yvalue = boardy[opponentx][opponenty]
board[opponentx][opponenty] = opponentpiece
if opponentpiece == "o":
circle(xvalue,yvalue)
print(xvalue)
print(yvalue)
if opponentpiece == "x":
cross(xvalue,yvalue)
print(xvalue)
print(yvalue)
def circle(x,y):
allmight.goto(x-35,y)
print(allmight.pos())
allmight.pendown()
allmight.circle(35)
allmight.penup()
allmight.goto(x,y)
def cross(x,y):
for count in range(0,4):
allmight.goto(x,y)
allmight.down()
allmight.setheading(45+(90*count))
allmight.forward(55)
allmight.penup()
import ColabTurtlePlus.Turtle as allmight
import random
allmight.initializeTurtle((300,300), 'standard', 10)
allmight.clear()
allmight.speed(13)
allmight.bgcolor("rgb(240 248 255)")
allmight.pencolor("rgb(0 0 0)")
allmight.fillcolor("rgb(255 127 80)")
allmight.penup()
allmight.goto(-150,150)
allmight.pendown()
board = [[" ", " ", " "],
[" ", " ", " "],
[" ", " ", " "]]
boardx = [[-100,0,100],
[-100,0,100],
[-100,0,100]]
boardy = [[100,100,100],
[0,  0,  0],
[-100,-100,-100]]
for item in range(0,3):
for count in range(0,3):
allmight.setheading(0)
square(100)
nextshape(100)
nextrow()
piece = str(input("Do you want to be noughts(enter o) or crosses(enter x)"))
while piece != "o"  and piece != "x":
piece = str(input("Do you want to be noughts(enter o) or crosses(enter x)"))
if piece == "o":
opponentpiece = "x"
if piece == "x":
opponentpiece = "o"
if opponentpiece == "o":
board[0][0] = "o"
circle(-100,100)
if opponentpiece == "x":
board[0][0] = "x"
cross(-100,100)
printboard()
go()
haswon = check_won()
printboard()
while haswon == False:
opponentgorandom()
printboard()
go()
haswon = check_won()
print("")
printboard()
print("somebody won")

print(board[0])
print(board[1])
print(board[2])

если код начинается, первый круг не будет смещен от центра, а остальные будут смещены.
Я пробовал изменить некоторые значения, но это просто помогло первый круг находился в центре, а не в центре, поэтому я почти уверен, что проблема где-то в более поздних частях кода. Код создает версию двухмерного массива, которая работает нормально, единственная проблема — рисование круга. Крестики всегда находятся в центре, хотя они используют очень похожий код. Я не вижу какого-либо очевидного решения, поэтому, если бы кто-нибудь нашел его, было бы здорово.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -no-reason
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Python Colab Turtle Tic Tac Toe рисует круги не по центру без причины
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Python - Как напечатать игровой доску Tic Tac Tac Toe с помощью Loop
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Python-Определите победителя Tic-Tac-Toe
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Проверка победителя TIC TAC TOE Java [закрыто]
    Anonymous » » в форуме JAVA
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Игра Tic Tac Toe начального уровня
    Anonymous » » в форуме JAVA
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»