コード例 #1
0
ファイル: __init__.py プロジェクト: hpcdev/physical
    def __init__(self):
        const.__init__(self,'physical');

        self.unit = unit.unit('physical.')
        self.units = self.unit

        self.constant = constant.constant('physical.', self.units)
        self.constants = self.constant

        self.element = element.element('physical.', self.constants, self.units)
        self.elements = self.element


        # do some trickery to get modules set to instantiated classes
        self.unit.__name__ = unit.__name__
        sys.modules[unit.__name__]=self.unit
        sys.modules[units.__name__]=self.unit

        self.constant.__name__ = constant.__name__
        sys.modules[constant.__name__]=self.constant
        sys.modules[constants.__name__]=self.constant

        self.element.__name__ = element.__name__
        sys.modules[element.__name__]=self.element
        sys.modules[elements.__name__]=self.element

        # add in the license file
        self.license = license

        # copy over the Quantity module so that the user can reference it.
        self.base = Quantity
コード例 #2
0
ファイル: __init__.py プロジェクト: olsonse/physical
    def __init__(self):
        const.__init__(self, "physical")

        self.unit = unit.unit("physical.")
        self.units = self.unit

        self.constant = constant.constant("physical.", self.units)
        self.constants = self.constant

        self.element = element.element("physical.", self.constants, self.units)
        self.elements = self.element

        # do some trickery to get modules set to instantiated classes
        self.unit.__name__ = unit.__name__
        sys.modules[unit.__name__] = self.unit
        sys.modules[units.__name__] = self.unit

        self.constant.__name__ = constant.__name__
        sys.modules[constant.__name__] = self.constant
        sys.modules[constants.__name__] = self.constant

        self.element.__name__ = element.__name__
        sys.modules[element.__name__] = self.element
        sys.modules[elements.__name__] = self.element

        # add in the license file
        self.license = license

        # copy over the Quantity module so that the user can reference it.
        self.base = Quantity

        # also provide a direct reference to the Quantity class
        self.Quantity = Quantity.Quantity
コード例 #3
0
ファイル: gl3_parser.py プロジェクト: Greyze/libgtulu
 def read_constant(self, line):
   if len(line.split(" ")) != 3:
     print "ERROR: ", line
     return
   if line.endswith("WIN32_LEAN_AND_MEAN 1"):
     print "ERROR: ", line
     return
   cst = constant(self.current_namespace, line)
   self.constants[cst.name] = cst
   if self.current_namespace is not None:
     self.namespaces[self.current_namespace].constants.append(cst.name)
   pass
コード例 #4
0
    def __init__(self):
        self.const = constant()
        self.root = Tk()
        self.fr = Frame(self.root)
        self.root.geometry(
            str(self.const['field_width']) + 'x' +
            str(self.const['field_height']))
        self.canvas = Canvas(self.root, bg='skyblue')
        self.canvas.pack(fill=BOTH, expand=1)

        self.field = Field(self.canvas)
        self.field_list = self.field.field_model()
        self.is_field = 0
        self.worms = []
        self.guns = []
        self.clouds = []
        self.bullets = []
        self.boom = []
        self.field.field_visual()
        self.wind = rnd(-3, 3)
        self.turn = 0
        self.turn_end = 0
        self.worms_number = self.const['worms_number']
        self.is_shot = 0
        self.event = 0
        self.canvas.bind('<p>', self.is_turn_end)
        self.canvas.bind('<ButtonRelease-1>', self.shot_start)

        if len(self.const) < len(self.field.start_position):
            print('too many worms for this map')
        else:
            for num in range(self.const['worms_number']):
                self.worms.append(
                    Worm(
                        self.field.start_position[num][0],
                        self.field.start_position[num][1],
                        num,
                        self.canvas,
                        self,
                    ))
        for num in range(self.worms_number):
            self.worms[num].player_number = num + 1

        for num in range(self.const['clouds_number']):
            self.clouds.append(Cloud(num, self.canvas))

        self.shooting_processing()
        self.walking_processing()
        self.choose_weapon()
コード例 #5
0
 def __init__(self, gun, canvas, game):
     self.const = constant()
     self.canvas = canvas
     self.gun = gun
     self.game = game
     self.splash = 0
     self.x = gun.x
     self.y = gun.y
     self.r = 0
     self.vx = 0
     self.v0x = 0
     self.vy = 0
     self.color = 'blue'
     self.body_id = 0
     self.activation = 0
コード例 #6
0
 def init(self):
     self.const = constant()
     self.live = 200
     self.elastic = 0.6
     self.splash = 15
     self.r = 5
     self.drag_coef = 0.99
     self.x += self.r * math.cos(self.gun.angle)
     self.y += self.r * math.sin(self.gun.angle)
     self.color = 'orange'
     self.body_id = self.canvas.create_oval(
         self.x - self.r,
         self.y - self.r,
         self.x + self.r,
         self.y + self.r,
         fill=self.color,
     )
コード例 #7
0
 def init(self):
     self.const = constant()
     self.splash = 5
     self.r = 2
     self.drag_coef = 0.997
     self.live = 1000
     self.x += self.r * math.cos(self.gun.angle)
     self.y += self.r * math.sin(self.gun.angle)
     if self.vx != 0:
         self.angle = math.atan2(self.vy, self.vx)
     self.color = 'green'
     self.body_id = self.canvas.create_oval(
         self.x - self.r,
         self.y - self.r,
         self.x + self.r,
         self.y + self.r,
         fill=self.color,
         )
コード例 #8
0
 def __init__(self, num, canvas):
     self.const = constant()
     self.canvas = canvas
     self.vx = 0
     self.vy = 0
     self.num = num
     self.r = 10                                 # if change, change move
     self.drag_coef = 0.99
     self.color = 'white'
     self.x = (rnd(0, 800//self.const['clouds_number'])
               + num * (800//self.const['clouds_number']))
     self.y = rnd(0, 50)
     self.body_id1 = self.canvas.create_oval(
         self.x - self.r,
         self.y - self.r,
         self.x + self.r,
         self.y + self.r,
         fill=self.color,
         outline=self.color)
     self.body_id2 = self.canvas.create_oval(
         self.x - self.r - 10,
         self.y - self.r,
         self.x + self.r - 10,
         self.y + self.r,
         fill=self.color,
         outline=self.color)
     self.body_id3 = self.canvas.create_oval(
         self.x - self.r - 5,
         self.y - self.r - 5,
         self.x + self.r - 5,
         self.y + self.r - 5,
         fill=self.color,
         outline=self.color)
     self.body_id4 = self.canvas.create_oval(
         self.x - self.r + 10,
         self.y - self.r,
         self.x + self.r + 10,
         self.y + self.r,
         fill=self.color,
         outline=self.color)
コード例 #9
0
 def init(self):
     self.const = constant()
     self.splash = 20
     self.r = 5
     self.drag_coef = 0.99
     self.live = 1000
     self.x += self.r * math.cos(self.gun.angle)
     self.y += self.r * math.sin(self.gun.angle)
     self.angle = self.gun.angle
     self.color = 'blue'
     self.fuel_length = 0
     self.power = 0
     self.maxpower = 10
     self.body_id = self.canvas.create_polygon(
         (self.x + self.r * math.cos(self.angle),
          self.y + self.r * math.sin(self.angle)),
         (self.x -
          (math.cos(self.angle) + 0.5 * math.sin(self.angle)) * self.r * 3,
          self.y -
          (math.sin(self.angle) - 0.5 * math.cos(self.angle)) * self.r * 3),
         (self.x -
          (math.cos(self.angle) - 0.5 * math.sin(self.angle)) * self.r * 3,
          self.y -
          (math.sin(self.angle) + 0.5 * math.cos(self.angle)) * self.r * 3),
         fill=self.color)
     self.fuel_id = self.canvas.create_polygon(
         (self.x + self.r * math.cos(self.angle),
          self.y + self.r * math.sin(self.angle)),
         (self.x -
          (math.cos(self.angle) + 0.5 * math.sin(self.angle)) * self.r * 3,
          self.y -
          (math.sin(self.angle) - 0.5 * math.cos(self.angle)) * self.r * 3),
         (self.x -
          (math.cos(self.angle) - 0.5 * math.sin(self.angle)) * self.r * 3,
          self.y -
          (math.sin(self.angle) + 0.5 * math.cos(self.angle)) * self.r * 3),
         fill=self.color)
コード例 #10
0
 def init(self):
     self.const = constant()
     self.rifle = 50
コード例 #11
0
    def __init__(self, x, y, num, canvas, game):
        self.const = constant()
        self.canvas = canvas
        self.game = game

        self.is_touch = 0
        self.energy = self.const['worm_energy']
        self.live = 100
        self.num = num

        self.vx = 0
        self.vy = 0
        self.x = x
        self.y = y
        self.drag_coef = 1

        self.r = 10  # if change, change move
        self.colors = ['blue', 'green', 'red', 'brown']
        self.gun = Bazooka(self, self.canvas, self.game)
        self.gun.init()
        self.ec = self.gun.en_cost()

        self.body_id = self.canvas.create_oval(self.x - self.r,
                                               self.y - self.r,
                                               self.x + self.r,
                                               self.y + self.r,
                                               fill=self.colors[self.num])
        self.hp_id = self.canvas.create_rectangle(self.x - 10,
                                                  self.y - 15,
                                                  self.x - 10 +
                                                  20 * self.live / 100,
                                                  self.y - 10,
                                                  fill='chartreuse2',
                                                  outline='black')
        self.losthp_id = self.canvas.create_rectangle(self.x - 10 +
                                                      20 * self.live / 100,
                                                      self.y - 15,
                                                      self.x + 10,
                                                      self.y - 10,
                                                      fill='black',
                                                      outline='black')
        self.energy_id = self.canvas.create_rectangle(
            self.x - 10,
            self.y - 22,
            self.x - 10 + 20 * self.energy / self.const['worm_energy'],
            self.y - 17,
            fill='royalblue2',
            outline='black')
        self.lostenergy_id = self.canvas.create_rectangle(
            self.x - 10 + 20 * self.energy / self.const['worm_energy'],
            self.y - 22,
            self.x + 10,
            self.y - 17,
            fill='black',
            outline='black')
        self.required_energy_id = self.canvas.create_rectangle(
            self.x - 10 + 20 * self.ec / self.const['worm_energy'],
            self.y - 22,
            self.x - 10 + 20 * self.ec / self.const['worm_energy'],
            self.y - 17,
            fill='white',
            outline='white')