Проблемы с Python для индексации 2d массива при создании игры - PullRequest
0 голосов
/ 02 сентября 2018

Я пытаюсь запрограммировать свою собственную игру Connect Four с использованием Python. Я пытаюсь отсортировать круги, которые я нарисовал, в двумерный массив. Однако, когда я пытаюсь присвоить свой объект формы массиву, это дает мне ошибку индекса. Я действительно не вижу проблемы с counterrow и countrercolumn, может кто-нибудь еще? Между прочим, у моего космического класса есть только инициализатор, настроенный x1, x2, y1, y2, взятый, и id

from tkinter import *
from space import *

master = Tk();
w = Canvas(master, width = 600, height = 500)
w.pack()

spaceList = []
for i in range(7):
    spaceList.append([0] * 6)
currentmove = 'PLAYER1'
won = False
counterrow = 0
countercolumn = 0

for i in range(0,560,80):
    for j in range(0,480,80):
        w.create_oval(10+i, 10+j, 90+i, 90+j)
        newspace = Space(10+i, 10+j, 90+i, 90+j, False, 'EMPTY')
        spaceList[counterrow][countercolumn] = newspace
        countercolumn = countercolumn + 1
    counterrow = counterrow + 1

while(not won):
    movecol = int(input("Please select a column!"))

def move(column):
    for i in spaceList:
        return 0

mainloop()

1 Ответ

0 голосов
/ 02 сентября 2018

Вы должны сбросить контрколонку:

for i in range(0,560,80):
    # add this:
    countercolumn = 0
    for j in range(0,480,80):
        # omitted

В противном случае становится семь и больше, и вы получаете переполнение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...