def __init__(self, gui): self.gui1 = gui self.height = 15 self.width = 15 self.turn = 0 org1 = Guarana.Guarana(self, self.get_turn(), 11, 11) self.list_of_organisms.append(org1) org2 = CyberSheep.CyberSheep(self, self.get_turn(), 4, 1) self.list_of_organisms.append(org2) org3 = Antelope.Antelope(self, self.get_turn(), 0, 8) self.list_of_organisms.append(org3) org4 = Hogweed.Hogweed(self, self.get_turn(), 0, 0) self.list_of_organisms.append(org4) org5 = Hogweed.Hogweed(self, self.get_turn(), 10, 3) self.list_of_organisms.append(org5) org6 = Sheep.Sheep(self, self.get_turn(), 'S', 7, 8, 4) self.list_of_organisms.append(org6) org7 = SowThistle.SowThistle(self, self.get_turn(), 13, 13) self.list_of_organisms.append(org7) org8 = DeadlyNightshade.DeadlyNightshade(self, self.get_turn(), 10, 0) self.list_of_organisms.append(org8) org9 = Fox.Fox(self, self.get_turn(), 6, 6) self.list_of_organisms.append(org9) org10 = Grass.Grass(self, self.get_turn(), 0, 13) self.list_of_organisms.append(org10) org11 = Wolf.Wolf(self, self.get_turn(), 5, 7) self.list_of_organisms.append(org11) org12 = Human.Human(self, self.get_turn(), 13, 2) self.list_of_organisms.append(org12) org13 = Grass.Grass(self, self.get_turn(), 0, 14) self.list_of_organisms.append(org13) org14 = Turtle.Turtle(self, self.get_turn(), 9, 9) self.list_of_organisms.append(org14) org15 = Sheep.Sheep(self, self.get_turn(), 'S', 8, 8, 4) self.list_of_organisms.append(org15)
def enter(): global boy, grass, first_start if first_start == 1: open_canvas() boy = Boy() grass = Grass() first_start += 1 else: boy = Boy() grass = Grass() boy.start_pause_next()
def generate_grid(self, surf): """ Generates a new grid with randomized terrain covering the map. :param surf: surface images are displayed to :return: stored data """ row_len = 0 for row in range(self.width // self.block_size): col_len = 0 self.grid.append([]) for col in range(self.height // self.block_size): grass_or_clover = random.randint(0, 5) spot = [ [row_len, col_len, self.block_size, self.block_size], Creature.Creature(""), Terrain.Terrain(""), ] spot[1] = Empty.Empty() if grass_or_clover > 1: spot[2] = Grass.Grass() else: spot[2] = Clover.Clover() spot[2].set_color("alive") spot.append( pygame.draw.rect(surf, spot[2].get_color(), spot[0])) self.grid[row].append(spot) col_len += self.block_size row_len += self.block_size return self.grid
def GetObject(self, name): print(name) if name == "Wolf": return Wolf.Wolf(self.__x, self.__y, self.__world) elif name == "Fox": return Fox.Fox(self.__x, self.__y, self.__world) elif name == "Grass": print("It's grass!") return Grass.Grass(self.__x, self.__y, self.__world) elif name == "Guarana": return Guarana.Guarana(self.__x, self.__y, self.__world) elif name == "SosnowskyBorsch": return SosnowskyBorsch.SosnowskyBorsch(self.__x, self.__y, self.__world) elif name == "SowThistle": return SowThistle.SowThistle(self.__x, self.__y, self.__world) elif name == "Turtle": return Turtle.Turtle(self.__x, self.__y, self.__world) elif name == "Wolfberry": return Wolfberry.Wolfberry(self.__x, self.__y, self.__world) elif name == "Sheep": return Sheep.Sheep(self.__x, self.__y, self.__world) elif name == "CyberSheep": return CyberSheep.CyberSheep(self.__x, self.__y, self.__world) elif name == "Antelope": return Antelope.Antelope(self.__x, self.__y, self.__world) elif name == "Human": return Human.Human(self.__x, self.__y, self.__world) return None
def add_organism(self, coords, name): if (name == 'Human'): z = Human(self, 'Human', 1, coords, 'Blue') elif (name == 'Wolf'): z = Wolf(self, 'Wolf', 9, coords, 'Black') elif (name == "Fox"): z = Fox(self, 'Fox', 3, coords, 'Orange') elif (name == "Sheep"): z = Sheep(self, 'Sheep', 4, coords, 'White') elif (name == "Antelope"): z = Antelope(self, 'Antelope', 4, coords, 'Red') elif (name == "Turtle"): z = Turtle(self, 'Turtle', 2, coords, 'Green') elif (name == "Cybersheep"): z = Cybersheep(self, 'Cybersheep', 3, coords, 'White') elif (name == "Grass"): z = Grass(self, 'Grass', 0, coords, 'Palegreen') elif (name == "SowThistle"): z = SowThistle(self, 'SowThistle', 0, coords, 'Yellow') elif (name == "Guarana"): z = Guarana(self, 'Guarana', 0, coords, 'Violet') elif (name == "Beladonna"): z = Beladonna(self, 'Beladonna', 100, coords, 'Saddlebrown') elif (name == "Hogweed"): z = Hogweed(self, 'Hogweed', 100, coords, 'Teal') self.organisms.append(z)
def clear_data(self): self.score = 0 self.bird = Bird.Bird(self.window, self.fpsClock, self.FPS, Coords.Coords((100, int(480 / 2)))) self.curTime = self.prevTime = pg.time.get_ticks() self.time_diff = 3500 self.grass = Grass.Grass(self.window, Coords.Coords((640, 480))) self.cloud = Cloud.Cloud(self.window, Coords.Coords((640, 480))) self.pipes = [Pipe.Pipe(self.window, Coords.Coords((640, 480)))]
def initGraphics(self): if Settings.UseVBO: print "Creating Terrain Vertex Buffer..." self._createVertexBuffer() else: print "Not creating vertex buffer" if Settings.DrawGrass: self.grassPatch = Grass.GrassPatch( self.world, 0, self, 1000000, 4, 8, "../base/art/land/grass_side.png") print "Building terrain display list..." if not Settings.SimpleTerrain: self._buildHighDetailDisplayList() else: self._buildLowDetailDisplayList()
def load(self): self.new_organisms.clear() self.list_of_organisms.clear() line = "" list = [] with open('save&load/saved.txt') as f: for line in f: list = line.split(";") if list[2] == 'H': o = Human.Human(self, int(list[4]), int(list[0]), int(list[1])) o.set_super_power(int(list[5])) o.set_power(int(list[3])) self.add_organism(o) elif list[2] == 'A': o = Antelope.Antelope(self, int(list[4]), int(list[0]), int(list[1])) o.set_power(int(list[3])) self.add_organism(o) elif list[2] == 'd': o = DeadlyNightshade.DeadlyNightshade( self, int(list[4]), int(list[0]), int(list[1])) o.set_power(int(list[3])) self.add_organism(o) elif list[2] == 'F': o = Fox.Fox(self, int(list[4]), int(list[0]), int(list[1])) o.set_power(int(list[3])) self.add_organism(o) elif list[2] == 'G': o = Grass.Grass(self, int(list[4]), int(list[0]), int(list[1])) o.set_power(int(list[3])) self.add_organism(o) elif list[2] == 'g': o = Guarana.Guarana(self, int(list[4]), int(list[0]), int(list[1])) o.set_power(int(list[3])) self.add_organism(o) elif list[2] == 'h': o = Hogweed.Hogweed(self, int(list[4]), int(list[0]), int(list[1])) o.set_power(int(list[3])) self.add_organism(o) elif list[2] == 'S': o = Sheep.Sheep(self, int(list[4]), 'S', int(list[0]), int(list[1]), 4) o.set_power(int(list[3])) self.add_organism(o) elif list[2] == 's': o = SowThistle.SowThistle(self, int(list[4]), int(list[0]), int(list[1])) o.set_power(int(list[3])) self.add_organism(o) elif list[2] == 'W': o = Wolf.Wolf(self, int(list[4]), int(list[0]), int(list[1])) o.set_power(int(list[3])) self.add_organism(o) elif list[2] == 'T': o = Turtle.Turtle(self, int(list[4]), int(list[0]), int(list[1])) o.set_power(int(list[3])) self.add_organism(o) elif list[2] == 'C': o = CyberSheep.CyberSheep(self, int(list[4]), int(list[0]), int(list[1])) o.set_power(int(list[3])) self.add_organism(o)
def draw_map(self, display): for x in range(self.levelWidth): for y in range(self.levelHeight): if self.level[y][x] == "0": #print("it works") wall = Wall(x * self.blockWidth, y * self.blockWidth) GroupManager.wall_sprite.add(wall) GroupManager.all_sprite.add(wall) if self.level[y][x] == ".": grass = Grass(x * self.blockWidth, y * self.blockWidth) GroupManager.grass_sprite.add(grass) #GroupManager.all_sprite.add(grass) if self.level[y][x] == "1": enemy = Enemyfollow(x * self.blockWidth, y * self.blockWidth) enemy.walls = GroupManager.wall_sprite enemy.player = GroupManager.player_sprite GroupManager.enemy_sprite.add(enemy) grass = Grass(x * self.blockWidth, y * self.blockWidth) GroupManager.grass_sprite.add(grass) if self.level[y][x] == "2": enemy = EnemyRotate(x * self.blockWidth, y * self.blockWidth) GroupManager.enemy_sprite.add(enemy) grass = Grass(x * self.blockWidth, y * self.blockWidth) GroupManager.grass_sprite.add(grass) if self.level[y][x] == "3": floorTile = tileFloor(x * self.blockWidth, y * self.blockWidth) GroupManager.floor_sprite.add(floorTile) if self.level[y][x] == "4": exit = levelExit(x * self.blockWidth, y * self.blockWidth) GroupManager.level_exit.add(exit) exit.player = GroupManager.player_sprite if self.level[y][x] == "D": door = Door1(x * self.blockWidth, y * self.blockWidth) GroupManager.door1_sprite.add(door) GroupManager.wall_sprite.add(door) if self.level[y][x] == "A": key = Key1(x * self.blockWidth, y * self.blockWidth) GroupManager.key1_sprite.add(key) if self.level[y][x] == "P": planet = Planet(randint(0, 640), randint(0, 480), 0.25) GroupManager.planet_sprite.add(planet) if self.level[y][x] == "5": medpack = Medpack(x * self.blockWidth, y * self.blockWidth, 10) GroupManager.healthpack_sprite.add(medpack) medpack.player = GroupManager.player_sprite grass = Grass(x * self.blockWidth, y * self.blockWidth) GroupManager.grass_sprite.add(grass) if self.level[y][x] == "B": barnacle = Barnacle(x * self.blockWidth, y * self.blockWidth) GroupManager.barnacle_group.add(barnacle) barnacle.walls = GroupManager.wall_sprite barnacle.player = GroupManager.player_sprite barnacle.bullets = GroupManager.player_bullet if self.level[y][x] == "R": assault = WeaponTileAssault(x * self.blockWidth, y * self.blockWidth) GroupManager.weapon_group.add(assault) assault.player = GroupManager.player_sprite if self.level[y][x] == "L": rocket = WeaponTileRocket(x * self.blockWidth, y * self.blockWidth) GroupManager.weapon_group.add(rocket) rocket.player = GroupManager.player_sprite if self.level[y][x] == "E": Dblock = DestructableBlock(x * self.blockWidth, y * self.blockWidth) #GroupManager.wall_sprite.add(Dblock) GroupManager.all_sprite.add(Dblock) GroupManager.destructable_block.add(Dblock) Dblock.playerBullet = GroupManager.bullet_sprite Dblock.playerCollide = GroupManager.player_sprite
def main(): Green = (34,139,34) White = (255,255,255) Blue = (0,0,255) #Initialize Everything screen_width = 1500 screen_height = 800 pygame.init() screen = pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption('Navigation Simulation') #Sprite background bg = Background(0,0, 'b1.jpg') grass = Grass(700,120, 'grass.jpg') #Set game FPS FPS = 30 #Prepare Game Objects clock = pygame.time.Clock() #field Field_x1 = 700 Field_x2 = 1300 Field_y1 = 120 Field_y2 = 720 Buggy_Dimensions = 50 field_sprite_group = pygame.sprite.LayeredUpdates() z = Field_x2-Field_x1 w = Field_y2-Field_y1 Field = Collision_Line(Field_x1,Field_y1,z,w, Green) field_sprite_group.add(Field) Number_of_grids = round(((Field_x2-Field_x1)*(Field_y2-Field_y1))/(Buggy_Dimensions*Buggy_Dimensions)) percentage_per_grid = round((1/Number_of_grids)*100,4) #Field Boundary lines wall_sprite_group_horz_bottom = pygame.sprite.LayeredUpdates() wall_sprite_group_horz_top = pygame.sprite.LayeredUpdates() wall_sprite_group_vert_right = pygame.sprite.LayeredUpdates() wall_sprite_group_vert_left = pygame.sprite.LayeredUpdates() Bound_Line1 = Collision_Line(Field_x1,Field_y1,z,3, White) Inner_Bound_Line1 = Collision_Line(900,320,500,3, White) wall_sprite_group_horz_top.add(Bound_Line1) Bound_Line2 = Collision_Line(Field_x1,Field_y2,z,3, White) Inner_Bound_Line2 = Collision_Line(900,310,500,3, White) Inner_Bound_Line3 = Collision_Line(400,517,700,3, White) wall_sprite_group_horz_bottom.add(Bound_Line2) Bound_Line3 = Collision_Line(Field_x1,Field_y1,3,w, White) Inner_Bound_Line4 = Collision_Line(1100,517,3,400, White) wall_sprite_group_vert_left.add(Bound_Line3) Bound_Line4 = Collision_Line(Field_x2,Field_y1,3,w, White) wall_sprite_group_vert_right.add(Bound_Line4) #Field covering squares Field_Scanned_Squares_Group = pygame.sprite.LayeredUpdates() #text # initialize font; must be called after 'pygame.init()' to avoid 'Font not Initialized' error myfont = pygame.font.SysFont("monospace", 35) # render text label1 = myfont.render("Percentage of Field scanned: ", 1, (255,255,255)) label2 = myfont.render("Number of Grids: ", 1, (255,255,255)) label2_answer = myfont.render(str(Number_of_grids), 1, (255,255,255)) label3 = myfont.render("Each grid in % is apprx: ", 1, (255,255,255)) label3_answer = myfont.render(str(percentage_per_grid), 1, (255,255,255)) #player declarations tank = Tank(400,400, Field_x1, Field_x2, Field_y1, Field_y2, Buggy_Dimensions) #Adding to super group which will handle drawing allsprites = pygame.sprite.LayeredUpdates((bg, field_sprite_group,grass, wall_sprite_group_horz_bottom, wall_sprite_group_horz_top, wall_sprite_group_vert_left, wall_sprite_group_vert_right, Field_Scanned_Squares_Group, tank)) #Main Loop going = True Square_Paint_Bool = False #bgm.play() while going: clock.tick(FPS) '''square place on field for scanned stuff''' if tank.Place_Square_Bool==True and Square_Paint_Bool==True: Square = Collision_Line(tank.Square_X,tank.Square_Y,50,50, Blue) Field_Scanned_Squares_Group.add(Square) allsprites.add(Square) tank.Place_Square_Bool=False '''field scanned stuff''' field_scanned_percentage = tank.Fetch_Field_Percentage_Scanned() if field_scanned_percentage!='##': if field_scanned_percentage>100: field_scanned_percentage=100 label1_answer = myfont.render(str(field_scanned_percentage), 1, (255,255,255)) #Handle Input Events for event in pygame.event.get(): if event.type == QUIT: going = False elif event.type == KEYDOWN and event.key == K_ESCAPE: going = False elif event.type == KEYDOWN and event.key == K_q: tank.Current_X_position = 400 tank.Current_Y_position = 400 tank.Update_Field_Coordinates(Field_x1, Field_y1, Field_x2, Field_y2) tank.Navigate_Bool = False tank.Field_Scanned_Perc = 0 tank.Update_Animation('Reset') '''removing all the blue squares: get the list and then iterate over them removing each from allsprites''' Square_To_Remove_List = Field_Scanned_Squares_Group.sprites() for shape in Square_To_Remove_List: allsprites.remove(shape) elif event.type == KEYDOWN and event.key == K_DOWN: tank.Update_Animation('Move_Down') elif event.type == KEYUP and event.key == K_DOWN: tank.Update_Animation('Idle') elif event.type == KEYDOWN and event.key == K_UP: tank.Update_Animation('Move_Up') elif event.type == KEYUP and event.key == K_UP: tank.Update_Animation('Idle') elif event.type == KEYDOWN and event.key == K_LEFT: tank.Update_Animation('Move_Left') elif event.type == KEYUP and event.key == K_LEFT: tank.Update_Animation('Idle') elif event.type == KEYDOWN and event.key == K_RIGHT: tank.Update_Animation('Move_Right') elif event.type == KEYUP and event.key == K_RIGHT: tank.Update_Animation('Idle') elif event.type == KEYDOWN and event.key == K_p: tank.Current_X_position = Field_x1 tank.Current_Y_position = Field_y1 tank.Update_Animation('Navigate_Right') elif event.type == KEYDOWN and event.key == K_m: tank.Current_X_position = Field_x1+50 tank.Current_Y_position = Field_y1+50 tank.Update_Animation('Machine_Learning_Start') elif event.type == KEYDOWN and event.key == K_w: tank.Print_Ending_Array() elif event.type == KEYDOWN and event.key == K_z: tank.Update_Animation('Diagonal') elif event.type == KEYDOWN and event.key == K_a: wall_sprite_group_horz_top.add(Inner_Bound_Line1) wall_sprite_group_horz_bottom.add(Inner_Bound_Line2) wall_sprite_group_horz_bottom.add(Inner_Bound_Line3) wall_sprite_group_vert_left.add(Inner_Bound_Line4) allsprites.remove(wall_sprite_group_horz_bottom) allsprites.remove(wall_sprite_group_horz_top) allsprites.remove(wall_sprite_group_vert_left) allsprites.add(wall_sprite_group_horz_bottom) allsprites.add(wall_sprite_group_horz_top) allsprites.add(wall_sprite_group_vert_left) elif event.type == KEYDOWN and event.key == K_s: allsprites.remove(Inner_Bound_Line1) allsprites.remove(Inner_Bound_Line2) allsprites.remove(Inner_Bound_Line3) allsprites.remove(Inner_Bound_Line4) wall_sprite_group_horz_top.remove(Inner_Bound_Line1) wall_sprite_group_horz_bottom.remove(Inner_Bound_Line2) wall_sprite_group_horz_bottom.remove(Inner_Bound_Line3) wall_sprite_group_vert_left.remove(Inner_Bound_Line4) allsprites.remove(wall_sprite_group_horz_bottom) allsprites.remove(wall_sprite_group_horz_top) allsprites.remove(wall_sprite_group_vert_left) allsprites.add(wall_sprite_group_horz_bottom) allsprites.add(wall_sprite_group_horz_top) allsprites.add(wall_sprite_group_vert_left) elif event.type == KEYDOWN and event.key == K_r: Square_Paint_Bool=True elif event.type == KEYDOWN and event.key == K_t: Square_Paint_Bool=False allsprites.remove(tank) tank.update(wall_sprite_group_horz_bottom, wall_sprite_group_horz_top, wall_sprite_group_vert_left, wall_sprite_group_vert_right) allsprites.update() allsprites.add(tank) allsprites.move_to_back(bg) #Draw Everything allsprites.draw(screen) screen.blit(label1, (15, 100)) screen.blit(label1_answer, (600, 100)) screen.blit(label2, (15, 200)) screen.blit(label2_answer, (420, 200)) screen.blit(label3, (15, 300)) screen.blit(label3_answer, (520, 300)) pygame.display.flip() pygame.quit()
def loadLevel(self, lev): now = time.time() - self.start self.start = time.time() print "before start ", now fileName = lev+".lvl" print fileName self.blockSize = 25 file = open(fileName, 'r') lines = file.readlines() file.close() newlines = [] for line in lines: newline = "" for c in line: if c != '\n': newline+= c newlines += [newline] lines = newlines #for line in lines: #print line for y, line in enumerate(lines): for x, c in enumerate(line): if c == '#': Wall([self.blockSize*x+self.blockSize/2, self.blockSize*y+self.blockSize/2], self.blockSize) if c == ':': Sand([self.blockSize*x+self.blockSize/2, self.blockSize*y+self.blockSize/2], self.blockSize) if c == '=': Water([self.blockSize*x+self.blockSize/2, self.blockSize*y+self.blockSize/2], self.blockSize) if c == 'G': Grass([self.blockSize*x+self.blockSize/2, self.blockSize*y+self.blockSize/2], self.blockSize) if c == 'g': BigGrass([self.blockSize*x+self.blockSize/2, self.blockSize*y+self.blockSize/2], self.blockSize*5) if c == 'c': CaveFloor([self.blockSize*x+self.blockSize/2, self.blockSize*y+self.blockSize/2], self.blockSize) if c == 'f': BigCaveFloor([self.blockSize*x+self.blockSize/2, self.blockSize*y+self.blockSize/2], self.blockSize*5) if c == 'C': CaveWall([self.blockSize*x+self.blockSize/2, self.blockSize*y+self.blockSize/2], self.blockSize) if c == 'R': Rock([self.blockSize*x+self.blockSize/2, self.blockSize*y+self.blockSize/2], self.blockSize) fileName = lev+".ene" print fileName self.blockSize = 25 file = open(fileName, 'r') lines = file.readlines() file.close() newlines = [] for line in lines: newline = "" for c in line: if c != '\n': newline+= c newlines += [newline] lines = newlines #for line in lines: #print line for y, line in enumerate(lines): for x, c in enumerate(line): if c == 'K': Enemy([5,5], [200,200]) now = time.time() - self.start self.start = time.time() print "after start ", now
def loadAllLevels(self, lev, sizeX, sizeY): for fy in range(sizeY): for fx in range(sizeX): fileName = lev+str(fy+1)+str(fx+1)+".lvl" print fileName self.blockSize = 8 screenHeight = 28*self.blockSize screenWidth = 40*self.blockSize file = open(fileName, 'r') lines = file.readlines() file.close() newlines = [] for line in lines: newline = "" for c in line: if c != '\n': newline+= c newlines += [newline] lines = newlines for line in lines: print line for y, line in enumerate(lines): for x, c in enumerate(line): if c == '#': Wall([self.blockSize*x+self.blockSize/2+fx*screenWidth, self.blockSize*y+self.blockSize/2+fy*screenHeight], self.blockSize) if c == ':': Sand([self.blockSize*x+self.blockSize/2+fx*screenWidth, self.blockSize*y+self.blockSize/2+fy*screenHeight], self.blockSize) if c == '=': Water([self.blockSize*x+self.blockSize/2+fx*screenWidth, self.blockSize*y+self.blockSize/2+fy*screenHeight], self.blockSize) if c == 'G': Grass([self.blockSize*x+self.blockSize/2+fx*screenWidth, self.blockSize*y+self.blockSize/2+fy*screenHeight], self.blockSize) if c == 'g': BigGrass([self.blockSize*x+self.blockSize/2+fx*screenWidth, self.blockSize*y+self.blockSize/2+fy*screenHeight], self.blockSize*5) if c == 'c': CaveFloor([self.blockSize*x+self.blockSize/2+fx*screenWidth, self.blockSize*y+self.blockSize/2+fy*screenHeight], self.blockSize) if c == 'f': BigCaveFloor([self.blockSize*x+self.blockSize/2, self.blockSize*y+self.blockSize/2], self.blockSize*5) if c == 'C': CaveWall([self.blockSize*x+self.blockSize/2+fx*screenWidth, self.blockSize*y+self.blockSize/2+fy*screenHeight], self.blockSize) if c == 'R': Rock([self.blockSize*x+self.blockSize/2+fx*screenWidth, self.blockSize*y+self.blockSize/2+fy*screenHeight], self.blockSize)
def __init__(self, master): self.selectedAnimal = "" self.master = master master.title("World") self.key = "null" def leftKey(event): self.key = "left" def rightKey(event): self.key = "right" def upKey(event): self.key = "up" def downKey(event): self.key = "down" master.bind('<Left>', leftKey) master.bind('<Right>', rightKey) master.bind('<Up>', upKey) master.bind('<Down>', downKey) self.initBoard(8, 8) def toggle(): self.toggleButton1.config(text="Next Human force Activation Soon") self.human.activateSkillF(True) def saveToFile(): self.world.saveListToFile() def changeSelectedAnimal(animal): self.selectedAnimal = animal self.world = World(self) self.wolf = Wolf(self.world) self.world.addOrganismToWorld(self.wolf) self.sheep = Sheep(self.world) self.world.addOrganismToWorld(self.sheep) self.human = Human(self.world) self.world.addOrganismToWorld(self.human) self.fox = Fox(self.world) self.world.addOrganismToWorld(self.fox) self.Turtle = Turtle(self.world) self.world.addOrganismToWorld(self.Turtle) self.antelope = Antelope(self.world) self.world.addOrganismToWorld(self.antelope) self.grass = Grass(self.world) self.world.addOrganismToWorld(self.grass) self.sowthistle = SowThistle(self.world) self.world.addOrganismToWorld(self.sowthistle) self.guarana = Guarana(self.world) self.world.addOrganismToWorld(self.guarana) self.blueberries = Blueberries(self.world) self.world.addOrganismToWorld(self.blueberries) self.sosnowsky = Sosnowsky(self.world) self.world.addOrganismToWorld(self.sosnowsky) self.cyberSheep = CyberSheep(self.world) self.world.addOrganismToWorld(self.cyberSheep) self.newRoundButton = Button(self.master, text="NEW ROUND", command=lambda: self.world.newRound()) self.newRoundButton.grid(row=30, column=100) self.toggleButton1 = Button(self.master, text="Human Special Force", command=lambda: toggle()) self.toggleButton1.grid(row=30, column=110) self.fileButton = Button(self.master, text="Save To File", command=lambda: saveToFile()) self.fileButton.grid(row=30, column=120) self.openFileButton = Button(self.master, text="Read From File", command=lambda: self.world.readFromFile()) self.openFileButton.grid(row=30, column=130) self.wolfButton = Button(self.master, text="Wolf", command=lambda: changeSelectedAnimal("WOLF")) self.wolfButton.grid(row=10, column=100) self.sheepButton = Button( self.master, text="Sheep", command=lambda: changeSelectedAnimal("SHEEP")) self.sheepButton.grid(row=10, column=110) self.turtleButton = Button( self.master, text="Turtle", command=lambda: changeSelectedAnimal("TURTLE")) self.turtleButton.grid(row=10, column=120) self.antelopeButton = Button( self.master, text="Antelope", command=lambda: changeSelectedAnimal("ANTELOPE")) self.antelopeButton.grid(row=10, column=130) self.cyberSheepButton = Button( self.master, text="CyberSheep", command=lambda: changeSelectedAnimal("CYBERSHEEP")) self.cyberSheepButton.grid(row=10, column=140) self.grassButton = Button( self.master, text="Grass", command=lambda: changeSelectedAnimal("GRASS")) self.grassButton.grid(row=20, column=100) self.sowButton = Button( self.master, text="SowThistle", command=lambda: changeSelectedAnimal("SOWTHISTLE")) self.sowButton.grid(row=20, column=110) self.guaranaButton = Button( self.master, text="Guarana", command=lambda: changeSelectedAnimal("GUARANA")) self.guaranaButton.grid(row=20, column=120) self.blueberriesButton = Button( self.master, text="Blueberries", command=lambda: changeSelectedAnimal("BLUEBERRIES")) self.blueberriesButton.grid(row=20, column=130) self.sosnowskyButton = Button( self.master, text="Sosnowksy", command=lambda: changeSelectedAnimal("SOSNOWSKY")) self.sosnowskyButton.grid(row=20, column=140)
def createNewOrganism(self, newOrganismType, newOrganismPosY, newOrganismPosX, force): if newOrganismType == "SHEEP": s = Sheep(self.world) s.setPositionX(newOrganismPosX) s.setPositionY(newOrganismPosY) if force != -1: s.setForce(force) self.world.multiply(s) if newOrganismType == "WOLF": s = Wolf(self.world) s.setPositionX(newOrganismPosX) s.setPositionY(newOrganismPosY) if force != -1: s.setForce(force) self.world.multiply(s) if newOrganismType == "FOX": s = Fox(self.world) s.setPositionX(newOrganismPosX) s.setPositionY(newOrganismPosY) if force != -1: s.setForce(force) self.world.multiply(s) if newOrganismType == "TURTLE": s = Turtle(self.world) s.setPositionX(newOrganismPosX) s.setPositionY(newOrganismPosY) if force != -1: s.setForce(force) self.world.multiply(s) if newOrganismType == "ANTELOPE": s = Antelope(self.world) s.setPositionX(newOrganismPosX) s.setPositionY(newOrganismPosY) if force != -1: s.setForce(force) self.world.multiply(s) if newOrganismType == "GRASS": s = Grass(self.world) s.setPositionX(newOrganismPosX) s.setPositionY(newOrganismPosY) if force != -1: s.setForce(force) self.world.multiply(s) if newOrganismType == "SOWTHISTLE": s = SowThistle(self.world) s.setPositionX(newOrganismPosX) s.setPositionY(newOrganismPosY) if force != -1: s.setForce(force) self.world.multiply(s) if newOrganismType == "GUARANA": s = Guarana(self.world) s.setPositionX(newOrganismPosX) s.setPositionY(newOrganismPosY) if force != -1: s.setForce(force) self.world.multiply(s) if newOrganismType == "BLUEBERRIES": s = Blueberries(self.world) s.setPositionX(newOrganismPosX) s.setPositionY(newOrganismPosY) if force != -1: s.setForce(force) self.world.multiply(s) if newOrganismType == "SOSNOWSKY": s = Sosnowsky(self.world) s.setPositionX(newOrganismPosX) s.setPositionY(newOrganismPosY) if force != -1: s.setForce(force) self.world.multiply(s) if newOrganismType == "CYBERSHEEP": s = CyberSheep(self.world) s.setPositionX(newOrganismPosX) s.setPositionY(newOrganismPosY) if force != -1: s.setForce(force) self.world.multiply(s)