예제 #1
0
 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')
예제 #2
0
 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  #скорость, получаемая при нажатии кнопки вперед
예제 #3
0
	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)
예제 #4
0
	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 # радиус черного кружочка под буковкой взять
예제 #5
0
    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()
예제 #6
0
    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()
예제 #7
0
	появления."""
    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
예제 #8
0
 def __init__(self, w, h):
     pygame.surface.Surface.__init__(self, (int(w), int(h)))
     self.color = '65A835'
     self.fill(hexToTuple(self.color))