def __init__(self, game): RenderedObject.__init__(self, (0, 0), None) self.game = game self.fps = 0 self.font = pygame.font.Font('freesansbold.ttf', 32) self.margin = 10 # отступ от края self.color = hexToTuple('FE655B')
def __init__(self, x, y, focus): initPlayerVelocity = GVector(0, 0) RenderedObject.__init__(self, GVector(x, y), focus) self.initVel = GVector() self.rad = 30 self.angle = 0 self.color = hexToTuple('F48C16') self.frictionalCoefficient = 13 #константы, отвечающие за движение по нажатию клавиши self.pushVelocity = 400 #скорость, получаемая при нажатии кнопки вперед
def draw(self, screen): viewPoint = (self.initPoint+(GVector(sin(self.angle)*self.rad, -cos(self.angle)*self.rad))-self.focus).get() pygame.draw.circle(screen, self.color, (self.initPoint-self.focus).get(), self.rad, 3) # для отладки # pygame.draw.circle(screen, self.color, (self.initPoint-self.focus).get(), # 200, 3) pygame.draw.line(screen, self.color, (self.initPoint-self.focus).get(), viewPoint, 3) # Если есть объект, который можно взять if self.game.objectUnderPick: # отрисовываем буковку, на которую назначено взять self.takeKeyRect.center = self.initPoint - self.focus pygame.draw.circle(screen, hexToTuple('884A01'), (self.initPoint - self.focus).get(), self.eRad) screen.blit(self.takeKeySurf, self.takeKeyRect)
def __init__(self, x, y, focus, game): RenderedObject.__init__(self, GVector(x,y), focus) self.game = game self.initVel = GVector() self.rad = 30 self.angle = 0 self.color = hexToTuple('F48C16') self.frictionalCoefficient = 13 #константы, отвечающие за движение по нажатию клавиши self.pushVelocity = 400#скорость, получаемая при нажатии кнопки вперед self.inventory = [] self.pickDistance = 60#расстояние, с которого игрок может взять предмет fontObj = pygame.font.Font('freesansbold.ttf', 18) self.takeKeySurf = fontObj.render(pickKeyStr, True, (255, 255, 255)) self.takeKeyRect = self.takeKeySurf.get_rect() self.eRad = 12 # радиус черного кружочка под буковкой взять
def __init__(self): displayInfo = pygame.display.Info() self.WIDTHSCREEN = displayInfo.current_w self.HEIGHTSCREEN = displayInfo.current_h #переменные фокуса self.focus = GVector() #зазор для фокуса self.focusMargin = int(self.HEIGHTSCREEN / 4) self.MAINCOLOR = hexToTuple('B6F788') self.fpsClock = pygame.time.Clock() self.player = Player(self.WIDTHSCREEN / 2, self.HEIGHTSCREEN / 2, self.focus, self) #добавляем подложки self.pods = [] for i in [-1, 0, 1]: for j in [0, -1, 1]: self.pods.append( Pod(i * self.WIDTHSCREEN, j * self.HEIGHTSCREEN, self.WIDTHSCREEN, self.HEIGHTSCREEN, self.focus)) self.addArtefacts() # добавляем flying text self.flyingTexts = [ FlyingText(self.focus) for _ in range(flyingTextCount) ] # self.flyingTexts = self.debugInfo = DebugInfo(self) # self.anotherStalkerS = self.initAnotherStalkersForTestAi() self.anotherStalkerS = self.initAnotherStalkersNormaly( ) #вернуть для нормальной игры self.objects = (self.pods, self.artefacts, self.anotherStalkerS, [self.player], self.flyingTexts, [self.debugInfo]) self.mousePoint = (0, 0 ) # кортеж с координатами мыши, чтобы несколько раз # не узнавать её координаты через функцию self.objectUnderPick = None self.run()
def __init__(self): self.WIDTHSCREEN = WIDTHSCREEN self.HEIGHTSCREEN = HEIGHTSCREEN #переменные фокуса self.focus = GVector() #зазор для фокуса self.focusMargin = int(self.HEIGHTSCREEN / 4) self.MAINCOLOR = hexToTuple('B6F788') self.fps = 60 self.fpsClock = pygame.time.Clock() self.player = Player(self.WIDTHSCREEN / 2, self.HEIGHTSCREEN / 2, self.focus) #добавляем подложки self.pods = [] for i in [-1, 0, 1]: for j in [0, -1, 1]: self.pods.append( Pod(i * self.WIDTHSCREEN, j * self.HEIGHTSCREEN, self.WIDTHSCREEN, self.HEIGHTSCREEN, self.focus)) self.objects = {'player': [self.player], 'pods': self.pods} self.run()
появления.""" devider = 1 for i in range(1, len(costs)): devider += costs[0] / costs[i] probs = [round(1 / devider, 3)] for i in range(1, len(costs)): probs.append(round(probs[0] * costs[0] / costs[i], 3)) return probs # параметры артефактов artefactSize = 15 # радиус артефакта при отрисовке artefactQuantitiy = 10 # количество артефактов на поле artefactsTypes = {} # словарь с типами артефактов artefactsTypes['redball'] = { 'color': hexToTuple('EC0000'), 'price': 5000, 'prob': 0.125 } artefactsTypes['blueball'] = { 'color': hexToTuple('0246C3'), 'price': 2500, 'prob': 0.25 } artefactsTypes['grayball'] = { 'color': hexToTuple('D8C6C6'), 'price': 1000, 'prob': 0.625 } # параметры для FlyingText
def __init__(self, w, h): pygame.surface.Surface.__init__(self, (int(w), int(h))) self.color = '65A835' self.fill(hexToTuple(self.color))