コード例 #1
0
    def __init__(self, *, engine, posinit, team):
        #extension pour donner un signe distinctif au robot pour reconnaitre l'avant
        self.avant = EngineObjectPoly(
            engine=engine,
            colltype=COLLTYPE_PETIT_ROBOT,
            offset=mm_to_px(HEIGHT_MINI / 2, -WIDTH_MINI / 2),
            color="black",
            poly_points=map(lambda p: mm_to_px(*p),
                            [(0, 0), (0, WIDTH_MINI), (-10, WIDTH_MINI),
                             (-10, 0)]),  #taille du bras
            is_extension=True)

        self.bras_gauche = EngineObjectPoly(
            engine=engine,
            colltype=COLLTYPE_BRAS_PETIT,
            offset=mm_to_px(HEIGHT_MINI / 2 - 10, -WIDTH_MINI + 35),
            color="purple",
            poly_points=map(lambda p: mm_to_px(*p),
                            [(0, 0), (10, 0), (10, 70),
                             (0, 70)]),  #taille du bras
            is_extension=True)

        self.bras_droite = EngineObjectPoly(
            engine=engine,
            colltype=COLLTYPE_BRAS_PETIT,
            offset=mm_to_px(HEIGHT_MINI / 2 - 10, WIDTH_MINI / 2),
            color="purple",
            poly_points=map(lambda p: mm_to_px(*p),
                            [(0, 0), (10, 0), (10, 70),
                             (0, 70)]),  #taille du bras
            is_extension=True)

        robot.Robot.__init__(
            self,
            engine=engine,
            team=team,
            posinit=posinit,
            mass=10,
            typerobot=MINI,
            colltype=COLLTYPE_PETIT_ROBOT,
            poly_points=mm_to_px((0, 0), (HEIGHT_MINI, 0),
                                 (HEIGHT_MINI, WIDTH_MINI), (0, WIDTH_MINI)),
        )

        self.add_body_extension(self.avant)
        self.__bras_used = None  #pour savoir quel bras est sorti
        self.__nbr_lances = 6
        self.__filet = 1
        self.__fresques = 2
        self.setRobotType(MINI)
コード例 #2
0
	def __init__(self, *, engine, posinit, team):
		self.bras = EngineObjectPoly(
			engine 		= engine,
			colltype	= COLLTYPE_BRAS,
			offset		= mm_to_px(WIDTH_GROS/2-21, -HEIGHT_GROS/2-24),
			color		= "green",
			poly_points = map(lambda p: mm_to_px(*p),[(LONGUEUR_BRAS,0),(0,LONGUEUR_BRAS), (0,0)]), #taille du bras
			is_extension= True
		)

		self.bras_ouvrir = EngineObjectPoly(
			engine 		= engine,
			colltype	= COLLTYPE_BRAS_OUVRIR,
			offset		= mm_to_px(WIDTH_GROS/2-21, -HEIGHT_GROS/2-24),
			color		= "purple",
			poly_points = map(lambda p: mm_to_px(*p),[(LONGUEUR_BRAS,0),(0,LONGUEUR_BRAS), (0,0)]), #taille du bras
			is_extension= True
		)

		self.bras_fermer = EngineObjectPoly(
			engine 		= engine,
			colltype	= COLLTYPE_BRAS_FERMER,
			offset		= mm_to_px(WIDTH_GROS/2-21, -HEIGHT_GROS/2-24),
			color		= "blue",
			poly_points = map(lambda p: mm_to_px(*p),[(LONGUEUR_BRAS,0),(0,LONGUEUR_BRAS), (0,0)]), #taille du bras
			is_extension= True
		)

		robot.Robot.__init__(self,
			engine		 		= engine,
			team				= team,
			posinit				= posinit,
			mass				= 10,
			typerobot			= BIG,
			colltype 			= COLLTYPE_GROS_ROBOT,
			poly_points			= mm_to_px((0,0),(HEIGHT_GROS,0),(HEIGHT_GROS,WIDTH_GROS-95),(HEIGHT_GROS-115,WIDTH_GROS),(0,WIDTH_GROS)),
			extension_objects	= [],
		)
		self.__nbrFeuAvant = 0
		self.__nbrFeuArriere = 0
		self.__engine = engine
		self.__feuHit = 0
		self.__feuHit_forced = False
		self.setRobotType(BIG)
コード例 #3
0
    def __init__(self, engine, posinit, orientation, sens, coucher=False):
        if (orientation == "vert"):  # |
            points_feu = map(lambda p: mm_to_px(*p), [(0, 0), (30, 0),
                                                      (30, 140), (0, 140)])
            points_triangle_rd = map(lambda p: mm_to_px(*p), [(0, 0), (70, 55),
                                                              (0, 140)])
            offset_triangle_rd = mm_to_px(15, -70)
            points_triangle_yg = map(lambda p: mm_to_px(*p), [(0, 0), (70, 55),
                                                              (0, 140)])
            offset_triangle_yg = mm_to_px(15, -70)
            points_triangle_rg = map(lambda p: mm_to_px(*p), [(0, 0),
                                                              (-70, 55),
                                                              (0, 140)])
            offset_triangle_rg = mm_to_px(-15, -70)
            points_triangle_yd = map(lambda p: mm_to_px(*p), [(0, 0),
                                                              (-70, 55),
                                                              (0, 140)])
            offset_triangle_yd = mm_to_px(-15, -70)
        else:  # ---
            points_feu = map(lambda p: mm_to_px(*p), [(0, 0), (140, 0),
                                                      (140, 30), (0, 30)])
            points_triangle_rd = map(lambda p: mm_to_px(*p), [(0, 0), (55, 70),
                                                              (140, 0)])
            offset_triangle_rd = mm_to_px(-70, 15)
            points_triangle_yg = map(lambda p: mm_to_px(*p), [(0, 0), (55, 70),
                                                              (140, 0)])
            offset_triangle_yg = mm_to_px(-70, 15)
            points_triangle_rg = map(lambda p: mm_to_px(*p), [(0, 0),
                                                              (55, -70),
                                                              (140, 0)])
            offset_triangle_rg = mm_to_px(-70, -15)
            points_triangle_yd = map(lambda p: mm_to_px(*p), [(0, 0),
                                                              (55, -70),
                                                              (140, 0)])
            offset_triangle_yd = mm_to_px(-70, -15)

        EngineObjectPoly.__init__(self,
                                  engine=engine,
                                  colltype=COLLTYPE_FEU,
                                  posinit=posinit,
                                  mass=80,
                                  poly_points=points_feu,
                                  layers=2)

        #on a 4 extensions car 2 couleurs qui peuvent être des 2 côtés du triangle.

        self.triangleRedDroite = EngineObjectPoly(
            engine=engine,
            colltype=COLLTYPE_FEU,
            offset=offset_triangle_rd,
            color="red",
            poly_points=points_triangle_rd,
            layers=2,
            is_extension=True)

        self.triangleYellowGauche = EngineObjectPoly(
            engine=engine,
            colltype=COLLTYPE_FEU,
            offset=offset_triangle_yd,
            color="yellow",
            poly_points=points_triangle_yd,
            layers=2,
            is_extension=True)

        self.triangleRedGauche = EngineObjectPoly(
            engine=engine,
            colltype=COLLTYPE_FEU,
            offset=offset_triangle_rg,
            color="red",
            poly_points=points_triangle_rg,
            layers=2,
            is_extension=True)

        self.triangleYellowDroite = EngineObjectPoly(
            engine=engine,
            colltype=COLLTYPE_FEU,
            offset=offset_triangle_yg,
            color="yellow",
            poly_points=points_triangle_yg,
            layers=2,
            is_extension=True)

        self.orientation = orientation
        if (sens == 'r'):
            self.__coucher_a_gauche = 'y'
            self.__coucher_a_droite = 'r'
        else:
            self.__coucher_a_gauche = 'r'
            self.__coucher_a_droite = 'y'
        self.__is_down = False
        self.__extension_down = None  #variable qui stock l'extension utilisée pour coucher le feu
        self.__eteindre_flag = False