Выяснить, как реализовать getmouse и checkmouse в игре в шашки - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть финальный проект для моего вступления в класс Python, я исследовал последние пару дней, пытаясь выяснить, как заставить двигаться элементы проверки, заставляя его возвращать клики, которые я делаю в пустых квадратах.Я знаю, что должен использовать формулу средней точки, но я просто не знаю, куда поместить полученные значения.Я уже нарисовал игровую доску и фигурки.Кроме того, я попытался реализовать некоторый код, который видел в Интернете, но он не работал вообще.Вот код:

      #Video_Game.py
      from time import sleep
      from graphics import *
      import math


      #creating graphics window
      myWin = GraphWin("My Checkerboard",400,400)
      myWin.setBackground("dark gray")
      color =("red")


        #Drawing checkerboard squares
for y in range(8):
       for x in range(8):
         point1 = Point(x*100,y*100)
         point2 = Point(x*100+100,y*100+100)
         myRect = Rectangle(point1,point2)
         myRect.setFill(color)
         myRect.draw(myWin)
        if color == "red":
             color = "black"
       else:
           color = "red"
     if color == "red":
        color = "black"
    else:
        color = "red"



#Drawing Red Checkerboard pieces
myList1 = []
xpos = 150
for x in range(2):
    myList1.append(Circle(Point(xpos+(200*x),50),26))
    myList1[x].setFill("red")
    myList1[x].setOutline("blue")
    myList1[x].setWidth(7)
    myList1[x].draw(myWin)



#Drawing Black Checkerboard pieces
myList2 = []
xpos = 50
for x in range(2):
    myList2.append(Circle(Point(xpos+(200*x),350),26))
    myList2[x].setFill("black")
    myList2[x].setOutline("white")
    myList2[x].setWidth(7)
myList2[x].draw(myWin)

#Moving pieces
p = cir.getCenter()
p2 = win.getMouse()

dx = 1
dy = 1
keepGoing = True

while keepGoing == True:
d = 400
cir.move(dx,dy)
p = cir.getCenter()
p2 = win.checkMouse()
if ((p-getX() - 30)<= 0) or ((p-getX) + 30)>= 400)):
    dx = dx
if ((p-getY() - 30)<= 0) or ((p-getY) + 30)>= 400)):
    dy = dy
p3 = win.checkMouse()
if p3 != p2:
    keepGoing = False


#Moving Checker pieces
for x in range(50,450,100):
   myList1[0].move(100,100)
   myList1[1].move(200,100)

  myList[2].move(150,150)
  myList



#Clicking to make piece move
while x > 5:
if 

Я использую библиотеку graphics.py, написанную Джоном Зелле.Мой учитель запретил нам использовать pygame и tkinter.Буду признателен за любую помощь в этом.

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