def create_squirrel(ai_settings, screen, squirrels, squirrel_number, row_number): """Create a squirrel and place it in the row.""" squirrel = Squirrel(ai_settings, screen) squirrel_width = squirrel.rect.width squirrel.x = squirrel_width + 2 * squirrel_width * squirrel_number squirrel.rect.x = squirrel.x squirrel.rect.y = squirrel.rect.height + 2 * squirrel.rect.height * row_number squirrels.add(squirrel)
def create_fleet(ai_settings, screen, dobie,squirrels): """Create a full fleet of squirrels""" # Create a squirrel and find the number of suirrels in a row. # Spacing between each squirel is equal to one squirrel width squirrel = Squirrel(ai_settings, screen) squirrel_width = squirrel.rect.width number_squirrels_x = get_number_squirrels_x(ai_settings, squirrel.rect.width) number_rows = get_number_rows(ai_settings, dobie.rect.height, squirrel.rect.height) # create the first row of squirrels for row_number in range(number_rows): for squirrel_number in range(number_squirrels_x): # Create an squirrel and place it in the row. create_squirrel(ai_settings, screen, squirrels, squirrel_number, row_number)
def __init__(self, world_map, N_GROUND_TILES=1): self.MAP = world_map self.WIDTH_TILES = len(self.MAP[0]) self.HEIGHT_TILES = len(self.MAP) self.N_GROUND_TILES = N_GROUND_TILES self.GROUND_LAYER: List[List[dict]] = \ [[{} for x in range(self.WIDTH_TILES)] for y in range(self.HEIGHT_TILES)] for x in range(self.WIDTH_TILES): for y in range(self.HEIGHT_TILES): self.GROUND_LAYER[y][x]['tileidx'] = \ random.randint(0, self.N_GROUND_TILES-1) self.squirrel = Squirrel(self, Point(23, 22), Direction.DOWN) self.squirrels = [] self.foxes = [] self.nuts = {}
def index(): if request.method == "POST": squirrels.append(Squirrel(request.form['name'])) return redirect(url_for('index')) return render_template("index.html", squirrels=squirrels)
from flask import Flask, redirect, url_for, render_template, request from flask_modus import Modus from squirrel import Squirrel app = Flask(__name__) modus = Modus(app) rodger = Squirrel(name='rodger') sue = Squirrel(name='sue') patricia = Squirrel(name='patricia') squirrels = [rodger, sue, patricia] @app.route('/') def root(): return redirect(url_for('index')) @app.route('/squirrels', methods=["GET", "POST"]) def index(): if request.method == "POST": squirrels.append(Squirrel(request.form['name'])) return redirect(url_for('index')) return render_template("index.html", squirrels=squirrels) @app.route('/squirrels/new') def new(): return render_template("new.html")
def _init_squirrels(self, nsquirrels): self.world.squirrels.clear() for i in range(nsquirrels): squirrel = Squirrel(self, self.world.random_point(), Direction.RIGHT) self.world.squirrels.append(squirrel)
def load_level(self, file_name): with open(script_dir + file_name, encoding='utf8') as file_object: self.level_file = file_object.read() for string in self.level_file.split('\n'): object, x_cor, y_cor, *dop = string.split() sleep = False without = False sleep_now = False without_now = False is_dekor = False is_go_right = True how_much_go = False is_right = 0 is_up = 0 speed_atack = 1 position = 1 if dop: if dop[0] == 'sleep': sleep = True sleep_now = int(dop[1]) elif dop[0] == 'without': without = True without_now = int(dop[1]) elif dop[0] == 'dekor': is_dekor = True elif dop[0] == 'go': how_much_go = int(dop[1]) is_go_right = int(dop[2]) if len(dop) > 2 else False elif dop[0] == 'is_right': is_right = 1 elif dop[0] == 'is_up': is_up = 1 elif object == 'gun': if dop: speed_atack = float(dop[0]) if len(dop) > 1: position = int(dop[1]) if len(dop) > 1 and dop[1] == 'is_up': is_up = 1 if 'dirt' == object: self.blocks_on_level_list.append( Blocks(int(x_cor), int(y_cor), sleep_block=sleep, sleep_now=sleep_now, without=without, without_now=without_now, is_dekor=is_dekor, group=[self.blocks_group, self.all_sprites_group])) elif 'stone_wall' == object: self.blocks_on_level_list.append( Blocks(int(x_cor), int(y_cor), where_image='images\Blocks\stone_wall.png', sleep_block=sleep, sleep_now=sleep_now, without=without, without_now=without_now, is_dekor=is_dekor, group=[self.blocks_group, self.all_sprites_group])) elif 'board' == object: self.blocks_on_level_list.append( Blocks(int(x_cor), int(y_cor), where_image='images\Blocks\\board.png', sleep_block=sleep, sleep_now=sleep_now, without=without, without_now=without_now, is_dekor=is_dekor, group=[self.blocks_group, self.all_sprites_group])) elif 'bush' == object: self.blocks_on_level_list.append( Dekor(x=int(x_cor), y=int(y_cor), where_image='images\dekor\Bush.png', sleep_block=sleep, sleep_now=sleep_now, without=without, without_now=without_now, is_dekor=is_dekor, group=[self.blocks_group, self.all_sprites_group])) elif 'gold' == object: self.blocks_on_level_list.append( Blocks(int(x_cor), int(y_cor), where_image='images\Blocks\gold.png', sleep_block=sleep, sleep_now=sleep_now, without=without, without_now=without_now, is_dekor=is_dekor, group=[self.blocks_group, self.all_sprites_group])) elif 'rainbow_block' == object: self.blocks_on_level_list.append( Rainbow_blocks( int(x_cor), int(y_cor), sleep_block=sleep, sleep_now=sleep_now, without=without, without_now=without_now, is_dekor=is_dekor, group=[self.blocks_group, self.all_sprites_group])) elif 'cook' == object: self.item_list.append( Cookies(int(x_cor), int(y_cor), group=[ self.item_to_take_group, self.all_sprites_group ])) elif 'mega_cook' == object: self.item_list.append( Cookies(int(x_cor), int(y_cor), mega_cook=True, group=[ self.item_to_take_group, self.all_sprites_group ])) elif 'final_boss_wall' == object: self.blocks_on_level_list.append( Blocks(int(x_cor), int(y_cor), sleep_block=sleep, sleep_now=sleep_now, without=without, without_now=without_now, is_dekor=is_dekor, where_image='images\Blocks\\final_boss_wall.png', group=[self.blocks_group, self.all_sprites_group])) elif 'shell' == object: self.shell_list.append( Shell(int(x_cor), int(y_cor), is_right=is_right, is_up=is_up, group=[self.shell_group, self.all_sprites_group])) elif 'gun' == object: self.person_list.append( Gun(int(x_cor), int(y_cor), speed_atack=speed_atack, position=position, group=[self.persons_group, self.all_sprites_group])) elif 'esh' == object: self.person_list.append( Enemy(x=int(x_cor), y=int(y_cor), how_much_go_right=int(dop[0]) if dop else 30, how_much_go_left=int(dop[0]) if dop else 30, hp=800 if self.level_number != '19' else 1, group=[self.persons_group, self.all_sprites_group])) elif 'spike' == object: self.blocks_on_level_list.append( Spikes(x=int(x_cor), y=int(y_cor), group=[self.blocks_group, self.all_sprites_group])) elif 'squirrel' == object: self.person_list.append( Squirrel( x=int(x_cor), y=int(y_cor), main_hero=self.main_hero, how_much_go_right=how_much_go if how_much_go else 40, how_much_go_left=how_much_go if how_much_go else 40, is_go_right=is_go_right, group=[self.persons_group, self.all_sprites_group])) elif 'Homa' == object: if self.main_hero: self.persons_group.remove(self.main_hero) self.main_hero = Homa( int(x_cor), int(y_cor), complexity=self.complexiry, group=[self.persons_group, self.all_sprites_group]) elif 'boss_1' == object: self.boss = Boss( x=int(x_cor), y=int(y_cor), group=[self.persons_group, self.all_sprites_group]) elif 'person_boss_1' == object: self.person_list.append( Boss(x=int(x_cor), y=int(y_cor), group=[self.persons_group, self.all_sprites_group])) elif 'text' == object: self.image_text = pygame.font.SysFont('arial', 22).render( dop[0].replace('_', ' '), 1, (0, 255, 0))
def others_persons(self): self.magic_in_blocks() if not self.boss: all_dead = True else: all_dead = False for person in self.person_list: if not person.is_dead: person.give_object_list( [i for i in self.blocks_on_level_list if not i.sleep_now] + self.item_list + [self.main_hero] + self.magic_list) object = person.enemy_move() if self and object: self.shell_list.append(object) person.fall() all_dead = False else: if person.do_heart: if random.randrange(0, 2): self.item_list.append( Hearts(*person.rect.topright, group=[ self.item_to_take_group, self.all_sprites_group ])) else: self.item_list.append( Cookies(*person.rect.topright, group=[ self.item_to_take_group, self.all_sprites_group ])) person.do_heart = False self.persons_group.remove(person) if all_dead and self.person_list: for block in self.blocks_on_level_list: block.enemy_disappear() self.person_list.clear() if self.level_number == '203': self.person_list.append( Homa(x=800, y=-100, speed=5, group=[self.persons_group, self.all_sprites_group])) if self.boss: self.boss.give_object_list( [i for i in self.blocks_on_level_list if not i.sleep_now] + self.item_list + [self.main_hero] + self.magic_list) if self.boss.enemy_move(): for i in range(random.randrange(2, 5)): self.person_list.append( Enemy( x=random.randrange(200, 700), y=random.randrange(50, 800) - 900, speed=random.randrange(3, 6), hp=random.randrange(400, 800), group=[self.persons_group, self.all_sprites_group])) for _ in range(random.randrange(0, 4)): sq = Squirrel( x=random.randrange(200, 700), y=random.randrange(50, 800) - 900, speed=random.randrange(4, 6), hp=random.randrange(600, 1000), group=[self.persons_group, self.all_sprites_group]) sq.set_hero(self.main_hero) self.person_list.append(sq) if self.boss.type == 'f': gun = Gun( x=random.randrange(100, 700), y=random.randrange(50, 800) - 1200, speed_atack=5, position=random.randrange(0, 4), group=[self.persons_group, self.all_sprites_group]) self.person_list.append(gun) if self.boss.type == 'f': boss_magic = self.boss.do_magic() if boss_magic: self.shell_list.append(boss_magic) self.all_sprites_group.add(boss_magic) self.magic_group.add(boss_magic) self.boss.fall()