def __init__(self, game): """init and position the wall""" # we use only white dragons for building the wall. We could actually # use any tile because the face is never shown anyway. game.wall = self Wall.__init__(self, game) self.__square = Board(1, 1, Internal.field.tileset) self.__square.setZValue(ZValues.marker) sideLength = len(self.tiles) // 8 self.__sides = [UIWallSide(Internal.field.tileset, boardRotation, sideLength) \ for boardRotation in (0, 270, 180, 90)] for side in self.__sides: side.setParentItem(self.__square) side.lightSource = self.lightSource side.windTile = PlayerWind('E', Internal.field.windTileset, parent=side) side.windTile.hide() side.nameLabel = QGraphicsSimpleTextItem('', side) font = side.nameLabel.font() font.setPointSize(48) side.nameLabel.setFont(font) side.message = YellowText(side) side.message.setZValue(ZValues.popup) side.message.setVisible(False) side.message.setPos(side.center()) self.__sides[0].setPos(yWidth=sideLength) self.__sides[3].setPos(xHeight=1) self.__sides[2].setPos(xHeight=1, xWidth=sideLength, yHeight=1) self.__sides[1].setPos(xWidth=sideLength, yWidth=sideLength, yHeight=1 ) self.showShadows = Preferences.showShadows Internal.field.centralScene.addItem(self.__square)
def __init__(self, game): """init and position the wall""" # we use only white dragons for building the wall. We could actually # use any tile because the face is never shown anyway. game.wall = self Wall.__init__(self, game) self.__square = Board(1, 1, Internal.field.tileset) self.__square.setZValue(ZValues.marker) sideLength = len(self.tiles) // 8 self.__sides = [UIWallSide(Internal.field.tileset, boardRotation, sideLength) \ for boardRotation in (0, 270, 180, 90)] for side in self.__sides: side.setParentItem(self.__square) side.lightSource = self.lightSource side.windTile = PlayerWind('E', Internal.field.windTileset, parent=side) side.windTile.hide() side.nameLabel = QGraphicsSimpleTextItem('', side) font = side.nameLabel.font() font.setPointSize(48) side.nameLabel.setFont(font) side.message = YellowText(side) side.message.setZValue(ZValues.popup) side.message.setVisible(False) side.message.setPos(side.center()) self.__sides[0].setPos(yWidth=sideLength) self.__sides[3].setPos(xHeight=1) self.__sides[2].setPos(xHeight=1, xWidth=sideLength, yHeight=1) self.__sides[1].setPos(xWidth=sideLength, yWidth=sideLength, yHeight=1) self.showShadows = Preferences.showShadows Internal.field.centralScene.addItem(self.__square)
def divide(self): """divides a wall, building a living and and a dead end""" with Animated(False): Wall.divide(self) for tile in self.tiles: # update graphics because tiles having been # in kongbox in a previous game # might not be there anymore. This gets rid # of the cross on them. tile.graphics.update() # move last two tiles onto the dead end: return animate().addCallback(self.__placeLooseTiles2)
def spawn_wall_container(self, grid): self.wall_container = WallContainer( len(grid[0]) * self.scale, len(grid) * self.scale) for row_i in range(0, len(grid)): for cell_i in range(0, len(grid[row_i])): cell = grid[row_i][cell_i] if cell == 1: y_1 = row_i * self.scale y_2 = y_1 + self.scale x_1 = cell_i * self.scale x_2 = x_1 + self.scale self.wall_container.add(Wall(x_1, y_1, x_2, y_2))
from mahjong.agari import Agari from mahjong.meld import Meld import numpy as np c = HandCalculator() st = Shanten() ag = Agari() ops = 1e7 # Control Code k = 0 cstart = time.time_ns() while k < ops: k += 1 w = Wall() hand = Hand(w) hand.draw(w) cend = time.time_ns() # Test Code k = 0 start = time.time_ns() while k < ops: k += 1 w = Wall() hand = Hand(w) hand.draw(w) win = ag.is_agari(hand.tiles34)
window = turtle.Screen() window.title('Robomaster') window.bgcolor('white') turtle.register_shape('game_over.gif') def Fire(): tank.gun.fire(tank.getPosition(), tank) # Wall(x, y, width, height) width = global_vals.WIDTH height = global_vals.HEIGHT Wall(0, height / 2 + 5, width + 20, 10) Wall(0, -height / 2 - 5, width + 20, 10) # top and bottom Wall(width / 2 + 5, 0, 10, height) Wall(-width / 2 - 5, 0, 10, height) # sides Wall(0, height / 2 - 25, 100, 50) Wall(0, -height / 2 + 25, 100, 50) # D Wall(0, 0, 100, 25) #center Wall(width / 2 - 140 - 12.5, 50, 25, 100) Wall(-width / 2 + 140 + 12.5, -50, 25, 100) tank = Tank(100, 100)
# pygame pygame.display.update() fps_clock.tick(60) # setup obstacles obstacles_present = False if obstacles_map != None: obstacles_present = True width = map_builder.x_increment for c, _ in enumerate(obstacles_map): height = 0 x = map_builder.x + (c * map_builder.x_increment) y = map_builder.y current_wall = Wall(width, height, x, y) for r, box in enumerate(obstacles_map[c]): y += map_builder.y_increment if box: height += map_builder.y_increment current_wall.height = height if not box or r == len(obstacles_map[0]) - 1: if current_wall.height != 0: obstacles.append(current_wall) current_wall = Wall(width, 0, x, y) height = 0 # gene pool gene_pool = GenePool()