Найти - Пользователи
Полная версия: Передача данных между объектами класса
Начало » Python для новичков » Передача данных между объектами класса
1 2 3
AD0DE412
те следующим кадром будет 2 ферьзя на с5?
после чего мы считаем это за столкновение ну и .. происходит то что у вас происходит при столкновении фигур
enjoy44
Ну сейчас у меня примерно так, может быть один объект сверху другого, по этому и пишу обработку столкновений. Когда смотришь на код все лаконично и понятно, за исключением соединения всех досок в одну , но я его ещё не полностью откоментировал.
AD0DE412
я это все к чему .. может вам .. сделать шаг назад
те как то так
карта намериний фигур
если есть столкновение намереней фигур
показывае столкновение на доске
enjoy44
Что считать за столкновение я понимаю. Как сделать чтобы из списка тел каждый объект выбирал все кроме своих координат. List(set( помоему
enjoy44
В целом я все понял, домой с работы приеду попробую написать в коде
FishHook
enjoy44

как-то у вас все запутано

 import math
import random
  
class Point:
  
    def __init__(self, row, col):
        self.row = row
        self.col = col
    
    def __eq__(self, other):
        return self.row == other.row and self.col == other.col
  
  
class Snake:
  
    def __init__(self, point):
        self._points = [point]
        self._head = point
        self._direction = random.uniform() * math.pi
  
    def has_point(self, point):
        for p in self._points:
            if p == point:
                return True
        return False
  
    def grow(self):
        pass
  
    def move(self, point):
        self._points.pop()  # remove tail
        self._points.insert(0, point)  # move head
        self._head = point
  
    def nex_position(self):
        pass
  
    def bounce(self):
        pass
      
       
class Game:
  
    def __init__(self):
        self._snakes = []
  
    def _collision(self, point):
        for snake in self._snakes:
            if snake.has_point(point):
                return True
        return False
  
    def add_snake(self, point):
        if self._collision(point):
            raise Exception("Point has already owned by snake")
        self._snakes.append(Snake(point))
  
    def loop(self):
        while True:
            for snake in self._snakes:
                nex_position = snake.nex_position()
                if self._collision(nex_position):
                    snake.bounce()
                else:
                    snake.move(nex_position)
AD0DE412
FishHook .. ммм .. ваше? те это ваш код?
enjoy44
Код не мой! Я свой вчера почти дописал, откомментирую скоро тогда покажу как решил, кому интересно будет)
AD0DE412
enjoy44
скоро тогда покажу
умножте на четыре ) (из как ой то шуточной книги) (:
FishHook
AD0DE412
FishHook .. ммм .. ваше? те это ваш код?
моё
а что?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB