Kitronik ARCADE 是一款由英国教育科技公司 Kitronik 精心打造的可编程游戏机开发板,专为编程教学与创客实践而设计。该设备原生支持微软的 MakeCode Arcade 平台,用户可通过图形化或 JavaScript 编程方式,轻松创建、下载并运行复古风格的街机游戏。
它集成了彩色 LCD 显示屏、方向控制键、功能按键、蜂鸣器和震动马达等交互组件,提供完整的游戏输入输出体验。无论是初学者进行编程启蒙,还是创客群体开发交互式作品,Kitronik ARCADE 都能作为理想的硬件载体,助力创意实现。
凭借其开源友好、易于上手、兼容性强等特点,该开发板广泛应用于中小学编程课程、创客工作坊、游戏开发教学以及个人项目原型设计,深受教育者与技术爱好者的喜爱。


作为学习、练习与尝试,这里创建一个海鸟观赏模拟器的小游戏。
打开网页版:https://arcade.makecode.com/,设置项目名称:海鸟观赏模拟器
MicroPython实验代码
@namespace
class SpriteKind:
Screen = SpriteKind.create()
SurfScoter = SpriteKind.create()
HarlequinDuck = SpriteKind.create()
LongTailedDuck = SpriteKind.create()
HeermannsGull = SpriteKind.create()
CaliforniaGull = SpriteKind.create()
CaspianTern = SpriteKind.create()
TuftedPuffin = SpriteKind.create()
PigeonGuillemot = SpriteKind.create()
BonapartesGull = SpriteKind.create()
WhiteWingedScoter = SpriteKind.create()
PomarineJaeger = SpriteKind.create()
CommonMurre = SpriteKind.create()
RedThroatedLoon = SpriteKind.create()
RhinocerosAuklet = SpriteKind.create()
PelagicCormorant = SpriteKind.create()
Text = SpriteKind.create()
NorthernGannet = SpriteKind.create()
Brant = SpriteKind.create()
SootyShearwater = SpriteKind.create()
LeastTern = SpriteKind.create()
CommonEider = SpriteKind.create()
def on_overlap_tile(sprite, location):
landing(sprite)
scene.on_overlap_tile(SpriteKind.CommonEider,
assets.tile("""
myTile2
"""),
on_overlap_tile)
def on_overlap_tile2(sprite2, location2):
despawn(sprite2)
scene.on_overlap_tile(SpriteKind.SootyShearwater,
assets.tile("""
transparency8
"""),
on_overlap_tile2)
def on_overlap_tile3(sprite3, location3):
landing(sprite3)
scene.on_overlap_tile(SpriteKind.CommonEider,
assets.tile("""
myTile3
"""),
on_overlap_tile3)
def on_overlap_tile4(sprite4, location4):
landing(sprite4)
scene.on_overlap_tile(SpriteKind.Brant,
assets.tile("""
myTile2
"""),
on_overlap_tile4)
def on_on_overlap(sprite5, otherSprite):
birdSighted(sprite5, otherSprite, "Pomarine Jaegers")
sprites.on_overlap(SpriteKind.player, SpriteKind.PomarineJaeger, on_on_overlap)
def on_overlap_tile5(sprite6, location5):
landing(sprite6)
scene.on_overlap_tile(SpriteKind.NorthernGannet,
assets.tile("""
myTile3
"""),
on_overlap_tile5)
def on_on_overlap2(sprite7, otherSprite2):
birdSighted(sprite7, otherSprite2, "Sooty Shearwaters")
sprites.on_overlap(SpriteKind.player,
SpriteKind.SootyShearwater,
on_on_overlap2)
def on_overlap_tile6(sprite8, location6):
landing(sprite8)
scene.on_overlap_tile(SpriteKind.SurfScoter,
assets.tile("""
myTile3
"""),
on_overlap_tile6)
def on_overlap_tile7(sprite9, location7):
landing(sprite9)
scene.on_overlap_tile(SpriteKind.CommonMurre,
assets.tile("""
myTile3
"""),
on_overlap_tile7)
def on_overlap_tile8(sprite10, location8):
despawn(sprite10)
scene.on_overlap_tile(SpriteKind.LeastTern,
assets.tile("""
transparency8
"""),
on_overlap_tile8)
def on_overlap_tile9(sprite11, location9):
landing(sprite11)
scene.on_overlap_tile(SpriteKind.SootyShearwater,
assets.tile("""
myTile2
"""),
on_overlap_tile9)
def on_overlap_tile10(sprite12, location10):
landing(sprite12)
scene.on_overlap_tile(SpriteKind.HarlequinDuck,
assets.tile("""
myTile2
"""),
on_overlap_tile10)
def on_up_pressed():
global option
if menu:
if option == 1:
option = 4
fancyText.set_frame(myTextSprite3,
img("""
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
"""))
fancyText.set_frame(myTextSprite6,
img("""
b b b b b b b b b b b . . . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b . . . .
"""))
elif option == 2:
option = 1
fancyText.set_frame(myTextSprite4,
img("""
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
"""))
fancyText.set_frame(myTextSprite3,
img("""
b b b b b b b b b b b . . . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b . . . .
"""))
elif option == 3:
option = 2
fancyText.set_frame(myTextSprite5,
img("""
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
"""))
fancyText.set_frame(myTextSprite4,
img("""
b b b b b b b b b b b . . . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b . . . .
"""))
elif option == 4:
option = 3
fancyText.set_frame(myTextSprite6,
img("""
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
"""))
fancyText.set_frame(myTextSprite5,
img("""
b b b b b b b b b b b . . . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b . . . .
"""))
controller.up.on_event(ControllerButtonEvent.PRESSED, on_up_pressed)
def on_overlap_tile11(sprite13, location11):
despawn(sprite13)
scene.on_overlap_tile(SpriteKind.CommonEider,
assets.tile("""
transparency8
"""),
on_overlap_tile11)
def on_overlap_tile12(sprite14, location12):
landing(sprite14)
scene.on_overlap_tile(SpriteKind.RedThroatedLoon,
assets.tile("""
myTile2
"""),
on_overlap_tile12)
def on_overlap_tile13(sprite15, location13):
landing(sprite15)
scene.on_overlap_tile(SpriteKind.SurfScoter,
assets.tile("""
myTile2
"""),
on_overlap_tile13)
def on_on_overlap3(sprite16, otherSprite3):
birdSighted(sprite16, otherSprite3, "Tufted Puffins")
sprites.on_overlap(SpriteKind.player, SpriteKind.TuftedPuffin, on_on_overlap3)
def on_down_pressed():
global option
if menu:
if option == 1:
option = 2
fancyText.set_frame(myTextSprite3,
img("""
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
"""))
fancyText.set_frame(myTextSprite4,
img("""
b b b b b b b b b b b . . . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b . . . .
"""))
elif option == 2:
option = 3
fancyText.set_frame(myTextSprite4,
img("""
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
"""))
fancyText.set_frame(myTextSprite5,
img("""
b b b b b b b b b b b . . . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b . . . .
"""))
elif option == 3:
option = 4
fancyText.set_frame(myTextSprite5,
img("""
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
"""))
fancyText.set_frame(myTextSprite6,
img("""
b b b b b b b b b b b . . . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b . . . .
"""))
elif option == 4:
option = 1
fancyText.set_frame(myTextSprite6,
img("""
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
"""))
fancyText.set_frame(myTextSprite3,
img("""
b b b b b b b b b b b . . . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b . . . .
"""))
controller.down.on_event(ControllerButtonEvent.PRESSED, on_down_pressed)
def on_overlap_tile14(sprite17, location14):
landing(sprite17)
scene.on_overlap_tile(SpriteKind.RhinocerosAuklet,
assets.tile("""
myTile2
"""),
on_overlap_tile14)
def on_on_overlap4(sprite18, otherSprite4):
birdSighted(sprite18, otherSprite4, "Pigeon Guillemots")
sprites.on_overlap(SpriteKind.player,
SpriteKind.PigeonGuillemot,
on_on_overlap4)
def on_overlap_tile15(sprite19, location15):
landing(sprite19)
scene.on_overlap_tile(SpriteKind.CaliforniaGull,
assets.tile("""
myTile2
"""),
on_overlap_tile15)
def on_overlap_tile16(sprite20, location16):
landing(sprite20)
scene.on_overlap_tile(SpriteKind.NorthernGannet,
assets.tile("""
myTile2
"""),
on_overlap_tile16)
def on_on_overlap5(sprite21, otherSprite5):
birdSighted(sprite21, otherSprite5, "Bonaparte's Gulls")
sprites.on_overlap(SpriteKind.player, SpriteKind.BonapartesGull, on_on_overlap5)
def on_overlap_tile17(sprite22, location17):
landing(sprite22)
scene.on_overlap_tile(SpriteKind.LeastTern,
assets.tile("""
myTile2
"""),
on_overlap_tile17)
def on_overlap_tile18(sprite23, location18):
landing(sprite23)
scene.on_overlap_tile(SpriteKind.LongTailedDuck,
assets.tile("""
myTile3
"""),
on_overlap_tile18)
def on_overlap_tile19(sprite24, location19):
despawn(sprite24)
scene.on_overlap_tile(SpriteKind.TuftedPuffin,
assets.tile("""
transparency8
"""),
on_overlap_tile19)
def on_on_overlap6(sprite25, otherSprite6):
birdSighted(sprite25, otherSprite6, "California Gulls")
sprites.on_overlap(SpriteKind.player, SpriteKind.CaliforniaGull, on_on_overlap6)
def on_on_overlap7(sprite26, otherSprite7):
birdSighted(sprite26, otherSprite7, "Common Eiders")
sprites.on_overlap(SpriteKind.player, SpriteKind.CommonEider, on_on_overlap7)
def on_on_overlap8(sprite27, otherSprite8):
birdSighted(sprite27, otherSprite8, "White-winged Scoters")
sprites.on_overlap(SpriteKind.player,
SpriteKind.WhiteWingedScoter,
on_on_overlap8)
def spawnBird(bird: Sprite, flyingLeft: List[any], flyingRight: List[any], perchingLeft: Image, perchingRight: Image, sighted: bool, flying: bool, landing2: bool, landed: bool):
sprites.set_data_boolean(bird, "sighted", sighted)
sprites.set_data_boolean(bird, "flying", flying)
sprites.set_data_boolean(bird, "landing", landing2)
sprites.set_data_boolean(bird, "landed", landed)
if Math.percent_chance(50):
tiles.place_on_random_tile(bird, assets.tile("""
myTile4
"""))
bird.vx = 30
else:
tiles.place_on_random_tile(bird, assets.tile("""
myTile6
"""))
bird.vx = -30
if landing2:
bird.vy = 20
characterAnimations.loop_frames(bird,
flyingLeft,
100,
characterAnimations.rule(Predicate.MOVING_LEFT))
characterAnimations.loop_frames(bird,
flyingRight,
100,
characterAnimations.rule(Predicate.MOVING_RIGHT))
characterAnimations.loop_frames(bird,
[perchingLeft],
100,
characterAnimations.rule(Predicate.NOT_MOVING, Predicate.FACING_LEFT))
characterAnimations.loop_frames(bird,
[perchingRight],
100,
characterAnimations.rule(Predicate.NOT_MOVING, Predicate.FACING_RIGHT))
bird.set_flag(SpriteFlag.GHOST_THROUGH_WALLS, True)
def on_overlap_tile20(sprite28, location20):
despawn(sprite28)
scene.on_overlap_tile(SpriteKind.CaspianTern,
assets.tile("""
transparency8
"""),
on_overlap_tile20)
def on_a_pressed():
global menu, mySprite, birds, myMenu, myMenu2, creditText
if menu:
menu = False
if option == 1:
sprites.destroy_all_sprites_of_kind(SpriteKind.Screen)
sprites.destroy_all_sprites_of_kind(myTextSprite.kind())
scene.set_background_color(9)
tiles.set_current_tilemap(tileUtil.create_small_map(tilemap("""
level4
""")))
mySprite = sprites.create(img("""
. . . f f f . . . . b b b b . . . .
. b b b b b b b b b f f f f b b b .
b b a a a a a a a a f f f f a a b b
c a f f f f f f f f a a a a f f a c
c a f . . . . . . . . . . . . f a c
c a f . . . . . . . . . . . . f a c
c a f . f . . . f f . . . f . f a c
c a f . f . f f . . f . . f . f a c
c a f . f . . f . . f f . f . f a c
c a f . f . . . f f . . . f . f a c
c a f . . . . . . . . . . . . f a c
c a f . . . . . . . . . . . . f a c
c a f f f f f f f f f f f f f f a c
c c a a a a a a a a a a a a a a c c
. c c c c c c c c c c c c c c c c .
"""),
SpriteKind.player)
mySprite.z = 1
mySprite.change_scale(1, ScaleAnchor.MIDDLE)
controller.move_sprite(mySprite)
scene.camera_follow_sprite(mySprite)
birds = True
elif option == 2:
scene.set_background_color(9)
sprites.destroy_all_sprites_of_kind(SpriteKind.Screen)
sprites.destroy_all_sprites_of_kind(myTextSprite.kind())
myMenu = miniMenu.create_menu_from_array(list2)
myMenu.set_dimensions(160, 120)
myMenu.set_style_property(miniMenu.StyleKind.DEFAULT,
miniMenu.StyleProperty.BACKGROUND,
6)
myMenu.set_position(80, 60)
def on_button_pressed(selection, selectedIndex):
if selection == "Close":
game.reset()
elif selection == "Surf Scoters: " + str(blockSettings.read_number("Surf Scoters")):
game.show_long_text("The surf scoter (Melanitta perspicillata) is a large sea duck native to North America. Adult males are almost entirely black with characteristic white patches on the forehead and the nape and adult females are slightly smaller and browner. Surf scoters breed in Northern Canada and Alaska and winter along the Pacific and Atlantic coasts of North America. Those diving ducks mainly feed on benthic invertebrates, mussels representing an important part of their diet.",
DialogLayout.FULL)
elif selection == "White-winged Scoters: " + str(blockSettings.read_number("White-winged Scoters")):
game.show_long_text("The white-winged scoter (Melanitta deglandi) is a large sea duck. The genus name is derived from Ancient Greek melas \"black\" and netta \"duck\". The species name commemorates French ornithologist Côme-Damien Degland.",
DialogLayout.FULL)
elif selection == "Harlequin Ducks: " + str(blockSettings.read_number("Harlequin Ducks")):
game.show_long_text("The harlequin duck (Histrionicus histrionicus) is a small sea duck. It takes its name from Harlequin (French Arlequin, Italian Arlecchino), a colourfully dressed character in Commedia dell'arte. The species name comes from the Latin word \"histrio\", meaning \"actor\". In North America it is also known as lords and ladies. Other names include painted duck, totem pole duck, rock duck, glacier duck, mountain duck, white-eyed diver, squeaker and blue streak.",
DialogLayout.FULL)
elif selection == "Long-tailed Ducks: " + str(blockSettings.read_number("Long-tailed Ducks")):
game.show_long_text("The long-tailed duck (Clangula hyemalis) is a medium-sized sea duck that breeds in the tundra and taiga regions of the arctic and winters along the northern coastlines of the Atlantic and Pacific Oceans. It is the only member of the genus Clangula.",
DialogLayout.FULL)
elif selection == "Heermann's Gulls: " + str(blockSettings.read_number("Heermann's Gulls")):
game.show_long_text("Heermann's gull (Larus heermanni) is a gull resident in the United States, Mexico and extreme southwestern British Columbia, nearly all nesting on Isla Rasa in the Gulf of California. They are usually found near shores or well out to sea, very rarely inland. The species is named after Adolphus Lewis Heermann, nineteenth-century explorer and naturalist.",
DialogLayout.FULL)
elif selection == "California Gulls: " + str(blockSettings.read_number("California Gulls")):
game.show_long_text("The California gull (Larus californicus) is a medium-sized gull, smaller on average than the herring gull, but larger on average than the ring-billed gull (though it may overlap in size greatly with both). It lives not just in California, but up and down the entire Western coast of North America, and has breeding ground inland. The yellow bill has a black ring.",
DialogLayout.FULL)
elif selection == "Bonaparte's Gulls: " + str(blockSettings.read_number("Bonaparte's Gulls")):
game.show_long_text("Bonaparte's gull (Chroicocephalus philadelphia) is a member of the gull family Laridae found mainly in northern North America. At 28 to 38 cm (11 to 15 in) in length, it is one of the smallest species of gull. Its plumage is mainly white with grey upperparts. During breeding season, Bonaparte's gull gains a slaty-black hood. The sexes are similar in appearance.",
DialogLayout.FULL)
elif selection == "Caspian Terns: " + str(blockSettings.read_number("Caspian Terns")):
game.show_long_text("The Caspian tern (Hydroprogne caspia) is a species of tern, with a subcosmopolitan but scattered distribution. Despite its extensive range, it is monotypic of its genus, and has no accepted subspecies. The genus name is from Ancient Greek hudros, \"water\", and Latin progne, \"swallow\". The specific caspia is from Latin and, like the English name, refers to the Caspian Sea.",
DialogLayout.FULL)
elif selection == "Tufted Puffins: " + str(blockSettings.read_number("Tufted Puffins")):
game.show_long_text("The tufted puffin (Fratercula cirrhata), also known as crested puffin, is a relatively abundant medium-sized pelagic seabird in the auk family (Alcidae) found throughout the North Pacific Ocean. It is one of three species of puffin that make up the genus Fratercula and is easily recognizable by its thick red bill and yellow tufts.",
DialogLayout.FULL)
elif selection == "Pigeon Guillemots: " + str(blockSettings.read_number("Pigeon Guillemots")):
game.show_long_text("The pigeon guillemot (Cepphus columba) is a species of bird in the auk family, Alcidae. One of three species in the genus Cepphus. This seabird is found on North Pacific coastal waters, from Siberia through Alaska to California. The pigeon guillemot breeds and sometimes roosts on rocky shores, cliffs, and islands close to shallow water. In the winter, some birds move slightly south in the northernmost part of their range in response to advancing ice and migrate slightly north in the southern part of their range, generally preferring more sheltered areas.",
DialogLayout.FULL)
elif selection == "Pomarine Jaegers: " + str(blockSettings.read_number("Pomarine Jaegers")):
game.show_long_text("The pomarine jaeger (Stercorarius pomarinus), pomarine skua, or pomatorhine skua, is a seabird in the skua family Stercorariidae. It is a migrant, wintering at sea in the tropical oceans.",
DialogLayout.FULL)
elif selection == "Common Murres: " + str(blockSettings.read_number("Common Murres")):
game.show_long_text("The common murre, also called the common guillemot or foolish guillemot, (Uria aalge) is a large auk. It has a circumpolar distribution, occurring in low-Arctic and boreal waters in the North Atlantic and North Pacific. It spends most of its time at sea, only coming to land to breed on rocky cliff shores or islands.",
DialogLayout.FULL)
elif selection == "Red-throated Loons: " + str(blockSettings.read_number("Red-throated Loons")):
game.show_long_text("The red-throated loon (North America) or red-throated diver (Britain and Ireland) (Gavia stellata) is a migratory aquatic bird found in the northern hemisphere. The most widely distributed member of the loon or diver family, it breeds primarily in Arctic regions, and winters in northern coastal waters. Ranging from 55 to 67 centimetres (22 to 26 in) in length, the red-throated loon is the smallest and lightest of the world's loons. In winter, it is a nondescript bird, greyish above fading to white below. During the breeding season, it acquires the distinctive reddish throat patch which is the basis for its common name. Fish form the bulk of its diet, though amphibians, invertebrates, and plant material are sometimes eaten as well.",
DialogLayout.FULL)
elif selection == "Rhinoceros Auklets: " + str(blockSettings.read_number("Rhinoceros Auklets")):
game.show_long_text("The rhinoceros auklet (Cerorhinca monocerata) is a seabird and a close relative of the puffins. It is the only extant species of the genus Cerorhinca. Given its close relationship with the puffins, the common name rhinoceros puffin has been proposed for the species. It ranges widely across the North Pacific, feeding on small fish and nesting in colonies. Its name is derived from a horn-like extension of the beak (the anatomic term for this extension is the rhamphotheca). This horn is only present in breeding adults, and like the elaborate sheath on the bill of puffins is shed every year.",
DialogLayout.FULL)
elif selection == "Pelagic Cormorants: " + str(blockSettings.read_number("Pelagic Cormorants")):
game.show_long_text("The pelagic cormorant (Urile pelagicus), also known as Baird's cormorant or violet-green cormorant, is a small member of the cormorant family Phalacrocoracidae. Analogous to other smallish cormorants, it is also called the pelagic shag occasionally. This seabird lives along the coasts of the northern Pacific; during winter it can also be found in the open ocean. Pelagic cormorants have relatively short wings due to their need for economical movement underwater, and consequently have the highest flight costs of any bird.",
DialogLayout.FULL)
elif selection == "Northern Gannets: " + str(blockSettings.read_number("Northern Gannets")):
game.show_long_text("The northern gannet is a seabird, the largest species of the gannet family, Sulidae. It is native to the coasts of the Atlantic Ocean, breeding in Western Europe and Northeastern North America. It is the largest seabird in the northern Atlantic.",
DialogLayout.FULL)
elif selection == "Brants: " + str(blockSettings.read_number("Brants")):
game.show_long_text("The brant or brent goose is a small goose of the genus Branta. There are three subspecies, all of which winter along temperate-zone sea-coasts and breed on the high-Arctic tundra.",
DialogLayout.FULL)
elif selection == "Sooty Shearwaters: " + str(blockSettings.read_number("Sooty Shearwaters")):
game.show_long_text("The sooty shearwater is a medium-large shearwater in the seabird family Procellariidae. In New Zealand, it is also known by its Māori name tītī, and is harvested by Māori people for muttonbird, like its relatives the wedge-tailed shearwater and the Australian short-tailed shearwater.",
DialogLayout.FULL)
elif selection == "Least Terns: " + str(blockSettings.read_number("Least Terns")):
game.show_long_text("The least tern is a species of tern that breeds in North America and locally in northern South America. It is closely related to, and was formerly often considered conspecific with, the little tern of the Old World. Other close relatives include the yellow-billed tern and Peruvian tern, both from South America.",
DialogLayout.FULL)
elif selection == "Common Eiders: " + str(blockSettings.read_number("Common Eiders")):
game.show_long_text("The common eider, also called St. Cuthbert's duck or Cuddy's duck, is a large sea-duck that is distributed over the northern coasts of Europe, North America and eastern Siberia.",
DialogLayout.FULL)
else:
pass
myMenu.on_button_pressed(controller.A, on_button_pressed)
elif option == 3:
scene.set_background_color(9)
sprites.destroy_all_sprites_of_kind(SpriteKind.Screen)
sprites.destroy_all_sprites_of_kind(myTextSprite.kind())
myMenu2 = miniMenu.create_menu_from_array(checklist)
myMenu2.set_style_property(miniMenu.StyleKind.DEFAULT,
miniMenu.StyleProperty.BACKGROUND,
6)
myMenu2.set_dimensions(160, 120)
myMenu2.set_position(80, 60)
def on_button_pressed2(selection2, selectedIndex2):
if selection2 == "Close":
game.reset()
elif selection2 == "Rookie Birder":
game.show_long_text("Photograph 10 birds.", DialogLayout.FULL)
elif selection2 == "Experienced Birder":
game.show_long_text("Photograph 100 birds.", DialogLayout.FULL)
elif selection2 == "Master Birder":
game.show_long_text("Photograph 1000 birds.", DialogLayout.FULL)
elif selection2 == "Gull Enthusiast":
game.show_long_text("Photograph 25 Heermann's Gulls, 25 California Gulls, and 25 Bonaparte's Gulls.",
DialogLayout.FULL)
elif selection2 == "Blobbey's Favorite":
game.show_long_text("Photograph 10 Harlequin Ducks. (Blobbey's favorite seabird.)",
DialogLayout.FULL)
elif selection2 == "Fast Photographer":
game.show_long_text("Photograph 2 birds in one second!", DialogLayout.FULL)
elif selection2 == "Faster Photographer":
game.show_long_text("Photograph 3 birds in one second!", DialogLayout.FULL)
elif selection2 == "Specialist":
game.show_long_text("Photograph 10 birds of the same species in one birding session.",
DialogLayout.FULL)
myMenu2.on_button_pressed(controller.A, on_button_pressed2)
elif option == 4:
sprites.destroy_all_sprites_of_kind(myTextSprite.kind())
creditText = fancyText.create("Developed by Blobbey", 100, 14, fancyText.outline_medium)
creditText.set_position(80, 60)
def on_after():
global creditText
sprites.destroy(creditText)
creditText = fancyText.create("Bird Info by Wikipedia", 100, 14, fancyText.outline_medium)
creditText.set_position(80, 60)
def on_after2():
game.reset()
timer.after(5000, on_after2)
timer.after(5000, on_after)
elif birds:
mySprite.set_image(img("""
. . . . . . . . . . b b b b . . . .
. b b b b b b b b b f f f f b b b .
b b a a a a a a a a f f f f a a b b
c a f f f f f f f f a a a a f f a c
c a f . . . . . . . . . . . . f a c
c a f . . . . . . . . . . . . f a c
c a f . f . . . f f . . . f . f a c
c a f . f . f f . . f . . f . f a c
c a f . f . . f . . f f . f . f a c
c a f . f . . . f f . . . f . f a c
c a f . . . . . . . . . . . . f a c
c a f . . . . . . . . . . . . f a c
c a f f f f f f f f f f f f f f a c
c c a a a a a a a a a a a a a a c c
. c c c c c c c c c c c c c c c c .
"""))
controller.A.on_event(ControllerButtonEvent.PRESSED, on_a_pressed)
def on_overlap_tile21(sprite29, location21):
despawn(sprite29)
scene.on_overlap_tile(SpriteKind.WhiteWingedScoter,
assets.tile("""
transparency8
"""),
on_overlap_tile21)
def on_overlap_tile22(sprite30, location22):
landing(sprite30)
scene.on_overlap_tile(SpriteKind.PelagicCormorant,
assets.tile("""
myTile3
"""),
on_overlap_tile22)
def on_overlap_tile23(sprite31, location23):
despawn(sprite31)
scene.on_overlap_tile(SpriteKind.HarlequinDuck,
assets.tile("""
transparency8
"""),
on_overlap_tile23)
def birdSighted(sprite32: Sprite, bird2: Sprite, setting: str):
global photosPerSecond
if sprite32.image.equals(img("""
. . . . . . . . . . b b b b . . . .
. b b b b b b b b b f f f f b b b .
b b a a a a a a a a f f f f a a b b
c a f f f f f f f f a a a a f f a c
c a f . . . . . . . . . . . . f a c
c a f . . . . . . . . . . . . f a c
c a f . f . . . f f . . . f . f a c
c a f . f . f f . . f . . f . f a c
c a f . f . . f . . f f . f . f a c
c a f . f . . . f f . . . f . f a c
c a f . . . . . . . . . . . . f a c
c a f . . . . . . . . . . . . f a c
c a f f f f f f f f f f f f f f a c
c c a a a a a a a a a a a a a a c c
. c c c c c c c c c c c c c c c c .
""")):
if not (sprites.read_data_boolean(bird2, "sighted")):
sprite32.say_text(setting.substr(0, len(setting) - 1), 2500, False)
sprites.set_data_boolean(bird2, "sighted", True)
blockSettings.write_number(setting, blockSettings.read_number(setting) + 1)
blockSettings.write_number("Total Birds", blockSettings.read_number("Total Birds") + 1)
if not (blockSettings.exists("Photographs of" + setting)):
blockSettings.write_number("Photographs of" + setting, 0)
blockSettings.write_number("Photographs of" + setting,
blockSettings.read_number("Photographs of" + setting) + 1)
music.play(music.melody_playable(music.power_up),
music.PlaybackMode.IN_BACKGROUND)
photosPerSecond += 1
def on_after3():
global photosPerSecond
photosPerSecond += -1
timer.after(1000, on_after3)
def on_on_overlap9(sprite33, otherSprite9):
birdSighted(sprite33, otherSprite9, "Red-throated Loons")
sprites.on_overlap(SpriteKind.player,
SpriteKind.RedThroatedLoon,
on_on_overlap9)
def on_overlap_tile24(sprite34, location24):
despawn(sprite34)
scene.on_overlap_tile(SpriteKind.PelagicCormorant,
assets.tile("""
transparency8
"""),
on_overlap_tile24)
def on_overlap_tile25(sprite35, location25):
despawn(sprite35)
scene.on_overlap_tile(SpriteKind.PomarineJaeger,
assets.tile("""
transparency8
"""),
on_overlap_tile25)
def on_overlap_tile26(sprite36, location26):
despawn(sprite36)
scene.on_overlap_tile(SpriteKind.RedThroatedLoon,
assets.tile("""
transparency8
"""),
on_overlap_tile26)
def on_on_overlap10(sprite37, otherSprite10):
birdSighted(sprite37, otherSprite10, "Harlequin Ducks")
sprites.on_overlap(SpriteKind.player, SpriteKind.HarlequinDuck, on_on_overlap10)
def on_overlap_tile27(sprite38, location27):
landing(sprite38)
scene.on_overlap_tile(SpriteKind.CommonMurre,
assets.tile("""
myTile2
"""),
on_overlap_tile27)
def on_on_overlap11(sprite39, otherSprite11):
birdSighted(sprite39, otherSprite11, "Surf Scoters")
sprites.on_overlap(SpriteKind.player, SpriteKind.SurfScoter, on_on_overlap11)
def on_overlap_tile28(sprite40, location28):
despawn(sprite40)
scene.on_overlap_tile(SpriteKind.Brant,
assets.tile("""
transparency8
"""),
on_overlap_tile28)
def landing(bird3: Sprite):
if sprites.read_data_boolean(bird3, "landing"):
sprites.set_data_boolean(bird3, "landing", False)
bird3.set_velocity(0, 0)
sprites.set_data_boolean(bird3, "landed", True)
def on_overlap_tile29(sprite41, location29):
landing(sprite41)
scene.on_overlap_tile(SpriteKind.PelagicCormorant,
assets.tile("""
myTile2
"""),
on_overlap_tile29)
def on_overlap_tile30(sprite42, location30):
despawn(sprite42)
scene.on_overlap_tile(SpriteKind.CommonMurre,
assets.tile("""
transparency8
"""),
on_overlap_tile30)
def on_b_pressed():
if birds:
if game.ask("End birding session?"):
for value in blockSettings.list():
if value.includes("Photographs"):
blockSettings.write_number(value, 0)
def on_after4():
game.reset()
timer.after(10, on_after4)
controller.B.on_event(ControllerButtonEvent.PRESSED, on_b_pressed)
def behavior(species: number):
for value2 in sprites.all_of_kind(species):
if Math.percent_chance(25):
if sprites.read_data_boolean(value2, "flying"):
if not (sprites.read_data_boolean(value2, "landing")):
sprites.set_data_boolean(value2, "flying", False)
sprites.set_data_boolean(value2, "landing", True)
value2.vy = 20
else:
if sprites.read_data_boolean(value2, "landed"):
value2.vx = [30, -30]._pick_random()
value2.vy = -20
sprites.set_data_boolean(value2, "landed", False)
sprites.set_data_boolean(value2, "flying", True)
def on_after5():
if not (spriteutils.is_destroyed(value2)):
value2.vy = 0
timer.after(randint(3000, 5000), on_after5)
def on_overlap_tile31(sprite43, location31):
landing(sprite43)
scene.on_overlap_tile(SpriteKind.Brant,
assets.tile("""
myTile3
"""),
on_overlap_tile31)
def on_overlap_tile32(sprite44, location32):
landing(sprite44)
scene.on_overlap_tile(SpriteKind.WhiteWingedScoter,
assets.tile("""
myTile3
"""),
on_overlap_tile32)
def despawn(bird4: Sprite):
if bird4.tile_kind_at(TileDirection.CENTER,
assets.tile("""
transparency8
""")):
sprites.destroy(bird4)
def on_on_overlap12(sprite45, otherSprite12):
birdSighted(sprite45, otherSprite12, "Heermann's Gulls")
sprites.on_overlap(SpriteKind.player, SpriteKind.HeermannsGull, on_on_overlap12)
def on_overlap_tile33(sprite46, location33):
landing(sprite46)
scene.on_overlap_tile(SpriteKind.CaspianTern,
assets.tile("""
myTile3
"""),
on_overlap_tile33)
def on_overlap_tile34(sprite47, location34):
despawn(sprite47)
scene.on_overlap_tile(SpriteKind.NorthernGannet,
assets.tile("""
transparency8
"""),
on_overlap_tile34)
def on_overlap_tile35(sprite48, location35):
landing(sprite48)
scene.on_overlap_tile(SpriteKind.LeastTern,
assets.tile("""
myTile3
"""),
on_overlap_tile35)
def on_overlap_tile36(sprite49, location36):
landing(sprite49)
scene.on_overlap_tile(SpriteKind.TuftedPuffin,
assets.tile("""
myTile3
"""),
on_overlap_tile36)
def on_overlap_tile37(sprite50, location37):
landing(sprite50)
scene.on_overlap_tile(SpriteKind.PigeonGuillemot,
assets.tile("""
myTile3
"""),
on_overlap_tile37)
def on_overlap_tile38(sprite51, location38):
despawn(sprite51)
scene.on_overlap_tile(SpriteKind.HeermannsGull,
assets.tile("""
transparency8
"""),
on_overlap_tile38)
def on_on_overlap13(sprite52, otherSprite13):
birdSighted(sprite52, otherSprite13, "Common Murres")
sprites.on_overlap(SpriteKind.player, SpriteKind.CommonMurre, on_on_overlap13)
def on_on_overlap14(sprite53, otherSprite14):
birdSighted(sprite53, otherSprite14, "Northern Gannets")
sprites.on_overlap(SpriteKind.player,
SpriteKind.NorthernGannet,
on_on_overlap14)
def on_overlap_tile39(sprite54, location39):
landing(sprite54)
scene.on_overlap_tile(SpriteKind.LongTailedDuck,
assets.tile("""
myTile2
"""),
on_overlap_tile39)
def on_on_overlap15(sprite55, otherSprite15):
birdSighted(sprite55, otherSprite15, "Long-tailed Ducks")
sprites.on_overlap(SpriteKind.player,
SpriteKind.LongTailedDuck,
on_on_overlap15)
def on_overlap_tile40(sprite56, location40):
despawn(sprite56)
scene.on_overlap_tile(SpriteKind.SurfScoter,
assets.tile("""
transparency8
"""),
on_overlap_tile40)
def on_on_overlap16(sprite57, otherSprite16):
birdSighted(sprite57, otherSprite16, "Brants")
sprites.on_overlap(SpriteKind.player, SpriteKind.Brant, on_on_overlap16)
def on_overlap_tile41(sprite58, location41):
despawn(sprite58)
scene.on_overlap_tile(SpriteKind.BonapartesGull,
assets.tile("""
transparency8
"""),
on_overlap_tile41)
def on_overlap_tile42(sprite59, location42):
landing(sprite59)
scene.on_overlap_tile(SpriteKind.PomarineJaeger,
assets.tile("""
myTile3
"""),
on_overlap_tile42)
def on_overlap_tile43(sprite60, location43):
landing(sprite60)
scene.on_overlap_tile(SpriteKind.BonapartesGull,
assets.tile("""
myTile2
"""),
on_overlap_tile43)
def on_overlap_tile44(sprite61, location44):
landing(sprite61)
scene.on_overlap_tile(SpriteKind.HeermannsGull,
assets.tile("""
myTile2
"""),
on_overlap_tile44)
def on_overlap_tile45(sprite62, location45):
landing(sprite62)
scene.on_overlap_tile(SpriteKind.TuftedPuffin,
assets.tile("""
myTile2
"""),
on_overlap_tile45)
def on_on_overlap17(sprite63, otherSprite17):
birdSighted(sprite63, otherSprite17, "Pelagic Cormorants")
sprites.on_overlap(SpriteKind.player,
SpriteKind.PelagicCormorant,
on_on_overlap17)
def on_overlap_tile46(sprite64, location46):
despawn(sprite64)
scene.on_overlap_tile(SpriteKind.RhinocerosAuklet,
assets.tile("""
transparency8
"""),
on_overlap_tile46)
def on_overlap_tile47(sprite65, location47):
landing(sprite65)
scene.on_overlap_tile(SpriteKind.HarlequinDuck,
assets.tile("""
myTile3
"""),
on_overlap_tile47)
def on_on_overlap18(sprite66, otherSprite18):
birdSighted(sprite66, otherSprite18, "Rhinoceros Auklets")
sprites.on_overlap(SpriteKind.player,
SpriteKind.RhinocerosAuklet,
on_on_overlap18)
def on_overlap_tile48(sprite67, location48):
landing(sprite67)
scene.on_overlap_tile(SpriteKind.CaliforniaGull,
assets.tile("""
myTile3
"""),
on_overlap_tile48)
def on_overlap_tile49(sprite68, location49):
despawn(sprite68)
scene.on_overlap_tile(SpriteKind.CaliforniaGull,
assets.tile("""
transparency8
"""),
on_overlap_tile49)
def on_on_overlap19(sprite69, otherSprite19):
birdSighted(sprite69, otherSprite19, "Least Terns")
sprites.on_overlap(SpriteKind.player, SpriteKind.LeastTern, on_on_overlap19)
def on_overlap_tile50(sprite70, location50):
landing(sprite70)
scene.on_overlap_tile(SpriteKind.WhiteWingedScoter,
assets.tile("""
myTile2
"""),
on_overlap_tile50)
def on_overlap_tile51(sprite71, location51):
landing(sprite71)
scene.on_overlap_tile(SpriteKind.PomarineJaeger,
assets.tile("""
myTile2
"""),
on_overlap_tile51)
def on_a_released():
if birds:
mySprite.set_image(img("""
. . . f f f . . . . b b b b . . . .
. b b b b b b b b b f f f f b b b .
b b a a a a a a a a f f f f a a b b
c a f f f f f f f f a a a a f f a c
c a f . . . . . . . . . . . . f a c
c a f . . . . . . . . . . . . f a c
c a f . f . . . f f . . . f . f a c
c a f . f . f f . . f . . f . f a c
c a f . f . . f . . f f . f . f a c
c a f . f . . . f f . . . f . f a c
c a f . . . . . . . . . . . . f a c
c a f . . . . . . . . . . . . f a c
c a f f f f f f f f f f f f f f a c
c c a a a a a a a a a a a a a a c c
. c c c c c c c c c c c c c c c c .
"""))
controller.A.on_event(ControllerButtonEvent.RELEASED, on_a_released)
def on_overlap_tile52(sprite72, location52):
landing(sprite72)
scene.on_overlap_tile(SpriteKind.CaspianTern,
assets.tile("""
myTile2
"""),
on_overlap_tile52)
def on_overlap_tile53(sprite73, location53):
despawn(sprite73)
scene.on_overlap_tile(SpriteKind.PigeonGuillemot,
assets.tile("""
transparency8
"""),
on_overlap_tile53)
def on_on_overlap20(sprite74, otherSprite20):
birdSighted(sprite74, otherSprite20, "Caspian Terns")
sprites.on_overlap(SpriteKind.player, SpriteKind.CaspianTern, on_on_overlap20)
def on_overlap_tile54(sprite75, location54):
landing(sprite75)
scene.on_overlap_tile(SpriteKind.BonapartesGull,
assets.tile("""
myTile3
"""),
on_overlap_tile54)
def achievement(number: number):
if checklistImages[number].equals(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f f f f f f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")):
checklistImages[number] = img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 7 7 .
. . . . . . . . . . . . . 7 7 .
. . . . . . . . . . . . 7 7 . .
. . . . . . . . . . . . 7 7 . .
. . . . f f f f f f f 7 7 . . .
. . . 7 7 . . . . . . 7 7 . . .
. . . 7 7 7 . . . . 7 7 . . . .
. . . . 7 7 7 . . . 7 7 . . . .
. . . . f 7 7 7 . 7 7 f . . . .
. . . . f . 7 7 7 7 7 f . . . .
. . . . f . . 7 7 7 . f . . . .
. . . . f f f f 7 f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")
blockSettings.write_image_array("Checklist", checklistImages)
if achievements.is_showing():
if not (Notification.is_notifying()):
def on_background():
Notification.notify("New achievement! ",
1,
img("""
. . . . . . . .
. . . . . . . 7
. . . . . . 7 .
. 7 f f f 7 . .
. . 7 . 7 f . .
. . f 7 . f . .
. . f f f f . .
. . . . . . . .
"""))
timer.background(on_background)
else:
achievements.create("New achievement! ",
1,
"",
img("""
. . . . . . . .
. . . . . . . 7
. . . . . . 7 .
. 7 f f f 7 . .
. . 7 . 7 f . .
. . f 7 . f . .
. . f f f f . .
. . . . . . . .
"""))
def on_overlap_tile55(sprite76, location55):
landing(sprite76)
scene.on_overlap_tile(SpriteKind.PigeonGuillemot,
assets.tile("""
myTile2
"""),
on_overlap_tile55)
def on_overlap_tile56(sprite77, location56):
landing(sprite77)
scene.on_overlap_tile(SpriteKind.RhinocerosAuklet,
assets.tile("""
myTile3
"""),
on_overlap_tile56)
def on_overlap_tile57(sprite78, location57):
despawn(sprite78)
scene.on_overlap_tile(SpriteKind.LongTailedDuck,
assets.tile("""
transparency8
"""),
on_overlap_tile57)
def on_overlap_tile58(sprite79, location58):
landing(sprite79)
scene.on_overlap_tile(SpriteKind.HeermannsGull,
assets.tile("""
myTile3
"""),
on_overlap_tile58)
chosenBird = 0
creditText: fancyText.TextSprite = None
myMenu2: miniMenu.MenuSprite = None
myMenu: miniMenu.MenuSprite = None
mySprite: Sprite = None
checklist: List[miniMenu.MenuItem] = []
checklistImages: List[Image] = []
list2: List[miniMenu.MenuItem] = []
birds = False
menu = False
option = 0
myTextSprite6: fancyText.TextSprite = None
myTextSprite5: fancyText.TextSprite = None
myTextSprite4: fancyText.TextSprite = None
myTextSprite3: fancyText.TextSprite = None
myTextSprite: fancyText.TextSprite = None
backgroundSprite = sprites.create(img("""
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999991119999999
999999999999999999999999999999999999911111999999
999999999999999999999999999999999999111111119999
999991111999999999999999999999999999111111111999
999111111119999999999999999999999999999999999999
991111111111999999999999999999999999999999999999
991111111111199999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999
999977777777799999999999999999999999999999999999
99c777777ccc777999999999999999999999999999999999
ccaaaaaaaaaacccc99999999999999999999999999999999
aaaaaaaaaaaaaaac99999999999999999999777777799999
aaaaaaaaaaaaaaaac9999999999999999977caaaaaa777c9
aaaaaaaaaaaaaaaaaa99999999999999777aaaaaaaaaaaac
aaaaaaaaaaaaaaaaaa9999999999999ccaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa999999999999ccaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaa9999999999aaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaa999999999aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaa999999999aaaaaaaaaaaaaaaaaaaa
888888888888888888888888888888888888888888888888
888888888888888888888888888888888888888888888888
888888888888888888888888888888888888888888888888
"""),
SpriteKind.Screen)
backgroundSprite.z = -1
backgroundSprite.change_scale(2.5, ScaleAnchor.MIDDLE)
myTextSprite = fancyText.create("Seabird Watching Simulator",
150,
6,
fancyText.rounded_small)
myTextSprite.set_position(80, 18)
myTextSprite = fancyText.create("Seabird Watching Simulator",
150,
10,
fancyText.rounded_small)
myTextSprite.set_position(81, 18)
myTextSprite3 = fancyText.create("Go Bird Watching", 120, 8, fancyText.serif_small)
myTextSprite3.set_position(56, 40)
myTextSprite4 = fancyText.create("Bird Sightings", 100, 8, fancyText.serif_small)
myTextSprite4.set_position(46, 60)
myTextSprite5 = fancyText.create("Checklist", 75, 8, fancyText.serif_small)
myTextSprite5.set_position(34, 80)
myTextSprite6 = fancyText.create("Credits", 55, 8, fancyText.serif_small)
myTextSprite6.set_position(24, 100)
option = 1
menu = True
birds = False
fancyText.set_frame(myTextSprite3,
img("""
b b b b b b b b b b b . . . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b . . . .
"""))
fancyText.set_frame(myTextSprite4,
img("""
b b b b b b b b b b b . . . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b . . . .
"""))
fancyText.set_frame(myTextSprite4,
img("""
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
"""))
fancyText.set_frame(myTextSprite5,
img("""
b b b b b b b b b b b . . . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b . . . .
"""))
fancyText.set_frame(myTextSprite5,
img("""
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
"""))
fancyText.set_frame(myTextSprite6,
img("""
b b b b b b b b b b b . . . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b b . .
b b b b b b b b b b b b . . .
b b b b b b b b b b b . . . .
"""))
fancyText.set_frame(myTextSprite6,
img("""
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
"""))
photosPerSecond = 0
spawn = [0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19]
if not (blockSettings.exists("Total Birds")):
blockSettings.write_number("Total Birds", 0)
if not (blockSettings.exists("Surf Scoters")):
blockSettings.write_number("Surf Scoters", 0)
if not (blockSettings.exists("White-winged Scoters")):
blockSettings.write_number("White-winged Scoters", 0)
if not (blockSettings.exists("Harlequin Ducks")):
blockSettings.write_number("Harlequin Ducks", 0)
if not (blockSettings.exists("Long-tailed Ducks")):
blockSettings.write_number("Long-tailed Ducks", 0)
if not (blockSettings.exists("Common Eiders")):
blockSettings.write_number("Common Eiders", 0)
if not (blockSettings.exists("Heermann's Gulls")):
blockSettings.write_number("Heermann's Gulls", 0)
if not (blockSettings.exists("California Gulls")):
blockSettings.write_number("California Gulls", 0)
if not (blockSettings.exists("Bonaparte's Gulls")):
blockSettings.write_number("Bonaparte's Gulls", 0)
if not (blockSettings.exists("Caspian Terns")):
blockSettings.write_number("Caspian Terns", 0)
if not (blockSettings.exists("Least Terns")):
blockSettings.write_number("Least Terns", 0)
if not (blockSettings.exists("Tufted Puffins")):
blockSettings.write_number("Tufted Puffins", 0)
if not (blockSettings.exists("Pigeon Guillemots")):
blockSettings.write_number("Pigeon Guillemots", 0)
if not (blockSettings.exists("Pomarine Jaegers")):
blockSettings.write_number("Pomarine Jaegers", 0)
if not (blockSettings.exists("Common Murres")):
blockSettings.write_number("Common Murres", 0)
if not (blockSettings.exists("Red-throated Loons")):
blockSettings.write_number("Red-throated Loons", 0)
if not (blockSettings.exists("Rhinoceros Auklets")):
blockSettings.write_number("Rhinoceros Auklets", 0)
if not (blockSettings.exists("Pelagic Cormorants")):
blockSettings.write_number("Pelagic Cormorants", 0)
if not (blockSettings.exists("Northern Gannets")):
blockSettings.write_number("Northern Gannets", 0)
if not (blockSettings.exists("Brants")):
blockSettings.write_number("Brants", 0)
if not (blockSettings.exists("Sooty Shearwaters")):
blockSettings.write_number("Sooty Shearwaters", 0)
list2 = [miniMenu.create_menu_item("Surf Scoters: " + str(blockSettings.read_number("Surf Scoters")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . f f f . .
. . . . . . . . . . f b f 4 4 .
f f f f f f f f f 1 1 f f 1 4 4
. . f f f f f f f f f f f . . .
. . . a f f f f f f f f . . . .
. . . . a . . . . . . . . . . .
. . . . . a a . . . . . . . . .
. . . . . . . . . . . . . . . .
""")),
miniMenu.create_menu_item("White-winged Scoters: " + str(blockSettings.read_number("White-winged Scoters")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . f f f . . .
. . . . . . . . . f 1 c f f . .
f f f f f f 1 f f f f f f 4 4 .
. . . f f f f 1 f f f f . . . .
. . . a f f f f f f f . . . . .
. . . . a . . . . . . . . . . .
. . . . . a a . . . . . . . . .
. . . . . . . . . . . . . . . .
""")),
miniMenu.create_menu_item("Harlequin Ducks: " + str(blockSettings.read_number("Harlequin Ducks")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . a a 1 . .
. . . . . . . . . . a 1 f 1 c .
. c c c c 1 c c c c a a a a . .
. . . a f c 1 1 1 1 c 6 a . . .
. . . a f 4 4 4 4 4 6 6 . . . .
. . . . a a . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")),
miniMenu.create_menu_item("Long-tailed Ducks: " + str(blockSettings.read_number("Long-tailed Ducks")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . f f d . .
. . . . . . . . . . f 1 a d a .
. f f f f f e e 4 4 4 f f f . .
. . . . . 1 1 d d d d f f . . .
. . . . . a 1 d d d d f f . . .
. . . . . . a . . . . . . . . .
. . . . . . . a . . . . . . . .
""")),
miniMenu.create_menu_item("Common Eiders: " + str(blockSettings.read_number("Common Eiders")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . f f f . . .
. . . . . . . . . 6 1 a f 5 . .
1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 .
. . . 1 f f f f f f 1 1 . . . .
. . . a f f f f f f f . . . . .
. . . . a . . . . . . . . . . .
. . . . . a a . . . . . . . . .
. . . . . . . . . . . . . . . .
""")),
miniMenu.create_menu_item("Heermann's Gulls: " + str(blockSettings.read_number("Heermann's Gulls")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . 1 1 1 . . .
. . . . . . . . . . 1 f 1 2 2 .
. f f f f c c c c c c 1 1 . . .
. . . . c c c c c c c c . . . .
. . . . . a c c c c c . . . . .
. . . . . . a . . . . . . . . .
. . . . . . . a . . . . . . . .
""")),
miniMenu.create_menu_item("California Gulls: " + str(blockSettings.read_number("California Gulls")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . 1 1 1 . . .
. . . . . . . . . . 1 f 1 5 5 .
. 1 1 1 1 c c c c c 1 1 1 . . .
. . . . 1 1 1 1 1 1 1 1 . . . .
. . . . . 5 1 1 1 1 1 . . . . .
. . . . . . 5 . . . . . . . . .
. . . . . . . 5 . . . . . . . .
""")),
miniMenu.create_menu_item("Bonaparte's Gulls: " + str(blockSettings.read_number("Bonaparte's Gulls")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . f f f . . .
. . . . . . . . . . f a f a . .
. 1 1 1 1 b b b b 1 f f f . . .
. . . . 1 1 1 1 1 1 f f . . . .
. . . . . 4 1 1 1 1 1 . . . . .
. . . . . . 4 . . . . . . . . .
. . . . . . . 4 . . . . . . . .
""")),
miniMenu.create_menu_item("Caspian Terns: " + str(blockSettings.read_number("Caspian Terns")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . f f f . . . .
. . . . . . . . . 1 a 1 2 2 . .
. 1 1 1 1 b b b b 1 1 1 . . . .
. . . 1 1 1 1 1 1 1 1 1 . . . .
. . . . f 1 1 1 1 1 1 . . . . .
. . . . . f . . . . . . . . . .
. . . . . . f . . . . . . . . .
""")),
miniMenu.create_menu_item("Least Terns: " + str(blockSettings.read_number("Least Terns")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . f f f . . . .
. . . . . . . . . 1 a 1 5 f . .
. 1 1 a a b b b b 1 1 1 . . . .
. . . 1 1 1 1 1 1 1 1 1 . . . .
. . . . 4 1 1 1 1 1 1 . . . . .
. . . . . 4 . . . . . . . . . .
. . . . . . 4 . . . . . . . . .
""")),
miniMenu.create_menu_item("Pomarine Jaegers: " + str(blockSettings.read_number("Pomarine Jaegers")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . 1 e e . . .
. . . . . . . . . 1 1 f e a a .
e e e e e e e e e e 1 1 e . . .
. . . e e e e e e e e e . . . .
. . . . a e e 1 1 1 e . . . . .
. . . . . a . . . . . . . . . .
. . . . . . a . . . . . . . . .
. . . . . . . . . . . . . . . .
""")),
miniMenu.create_menu_item("Common Murres: " + str(blockSettings.read_number("Common Murres")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . a a a . . .
. . . . . . . . . . a f a f f .
a a a a a a a a a a a a a . . .
. . 1 1 1 1 1 1 1 1 a a . . . .
. . . f 1 1 1 1 1 1 1 . . . . .
. . . . f f . . . . . . . . . .
. . . . . . f . . . . . . . . .
. . . . . . . . . . . . . . . .
""")),
miniMenu.create_menu_item("Pigeon Guillemots: " + str(blockSettings.read_number("Pigeon Guillemots")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . f f f . . .
. . . . . . . . . f f a f a a .
f f f f f f 1 f f f f f f . . .
. f f f f f 1 1 f f f f . . . .
. . 2 f f f f f f f f . . . . .
. 2 . . . . . . . . . . . . . .
. . 2 . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")),
miniMenu.create_menu_item("Tufted Puffins: " + str(blockSettings.read_number("Tufted Puffins")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . 5 5 5 . . .
. . . . . . . . . f 1 a 1 4 . .
. . . . . . . . f f f f 1 4 4 .
f f f f f f f f f f f f . . . .
. . f f f f f f f f f . . . . .
. . . 4 f f f f f f . . . . . .
. . . 4 . . . . . . . . . . . .
. . . . 4 . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")),
miniMenu.create_menu_item("Rhinoceros Auklets: " + str(blockSettings.read_number("Rhinoceros Auklets")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . b . .
. . . . . . . . . . 1 a a b . .
. . . . . . . . . a a f a 4 4 .
a a a a a a a a a f a 1 a . . .
. . . b b b f f f f a a . . . .
. . . d b b b b a a a . . . . .
. . . . d . . . . . . . . . . .
. . . . . d . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")),
miniMenu.create_menu_item("Red-throated Loons: " + str(blockSettings.read_number("Red-throated Loons")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . b b b . . .
. . . . . . . . . b b f b a a .
a a a a a a a a a a b b b . . .
. . . 1 1 1 a a a 4 4 . . . . .
. . . c 1 1 1 1 1 4 . . . . . .
. . . . c . . . . . . . . . . .
. . . . . c . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")),
miniMenu.create_menu_item("Pelagic Cormorants: " + str(blockSettings.read_number("Pelagic Cormorants")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . f f f . . .
. . . . . . . . . . f a 2 c c .
. . . . . . . . . f f f . . . .
f f f f f f f f f f f f . . . .
. f f f 1 1 a a a a f f . . . .
. . a f f f f f f f f . . . . .
. . . a . . . . . . . . . . . .
. . . . a . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")),
miniMenu.create_menu_item("Northern Gannets: " + str(blockSettings.read_number("Northern Gannets")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . 4 d 1 . . .
. . . . . . . . . 4 4 f 1 6 6 .
. . . . . . . . 4 4 1 1 1 . . .
1 1 1 1 1 1 1 1 1 1 1 1 . . . .
. . . 1 1 1 1 1 1 1 1 1 . . . .
. . . . a 1 1 1 1 1 1 . . . . .
. . . . . a . . . . . . . . . .
. . . . . . a . . . . . . . . .
. . . . . . . . . . . . . . . .
""")),
miniMenu.create_menu_item("Brants: " + str(blockSettings.read_number("Brants")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . f f f . . .
. . . . . . . . . . f a f a . .
. . . . . . . . . f 1 f f . . .
. a a 1 1 a c c c f f 1 . . . .
. . . 1 1 1 c c c c f f . . . .
. . . . . a c c c c c c . . . .
. . . . . . a . . . . . . . . .
. . . . . . . a . . . . . . . .
""")),
miniMenu.create_menu_item("Sooty Shearwaters: " + str(blockSettings.read_number("Sooty Shearwaters")),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . a a a . . .
. . . . . . . . . . a f a f f .
a a a a a a a a a a a a a . . .
. . a a a a a a a a a a . . . .
. . . c a a a a a a a . . . . .
. . . . c c . . . . . . . . . .
. . . . . . c . . . . . . . . .
. . . . . . . . . . . . . . . .
"""))]
list2.unshift(miniMenu.create_menu_item("Total Birds: " + str(blockSettings.read_number("Total Birds"))))
list2.append(miniMenu.create_menu_item("Close"))
if not (blockSettings.exists("Checklist")):
blockSettings.write_image_array("Checklist",
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f f f f f f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f f f f f f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f f f f f f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f f f f f f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f f f f f f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f f f f f f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f f f f f f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f f f f f f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f . . . . . . f . . . .
. . . . f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")])
checklistImages = blockSettings.read_image_array("Checklist")
checklist = [miniMenu.create_menu_item("Rookie Birder", checklistImages[0]),
miniMenu.create_menu_item("Experienced Birder", checklistImages[1]),
miniMenu.create_menu_item("Master Birder", checklistImages[2]),
miniMenu.create_menu_item("Gull Enthusiast", checklistImages[3]),
miniMenu.create_menu_item("Blobbey's Favorite", checklistImages[4]),
miniMenu.create_menu_item("Fast Photographer", checklistImages[5]),
miniMenu.create_menu_item("Faster Photographer", checklistImages[6]),
miniMenu.create_menu_item("Specialist", checklistImages[7])]
checklist.append(miniMenu.create_menu_item("Close"))
def on_on_update():
if birds:
if blockSettings.read_number("Total Birds") > 10:
achievement(0)
if blockSettings.read_number("Total Birds") > 100:
achievement(1)
if blockSettings.read_number("Total Birds") > 1000:
achievement(2)
if blockSettings.read_number("Heermann's Gulls") >= 25 and (blockSettings.read_number("California Gulls") >= 25 and blockSettings.read_number("Bonaparte's Gulls") >= 25):
achievement(3)
if blockSettings.read_number("Harlequin Ducks") >= 10:
achievement(4)
if photosPerSecond == 2:
achievement(5)
if photosPerSecond == 3:
achievement(6)
for value3 in blockSettings.list():
if value3.includes("Photographs"):
if blockSettings.read_number(value3) >= 10:
achievement(7)
game.on_update(on_on_update)
def on_update_interval():
global chosenBird
if birds:
chosenBird = spawn._pick_random()
if chosenBird == 0:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 f f f f f f f f f
. 4 4 f b f f f f f f f f a a .
4 4 1 f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.SurfScoter),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 f f f f f f f f f
. 4 4 f b f a a a a f f f a a .
4 4 1 f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 f f f f f f f f f
. 4 4 f b f a a a a f f f a a .
4 4 1 f f f f a a a a f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 f f f f f f f f f
. 4 4 f b f a a a a f f f a a .
4 4 1 f f f f a a a a f . . . .
. . . . . . . . a a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 f f f f f f f f f
. 4 4 f b f a a a a f f f a a .
4 4 1 f f f f a a a a f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 f f f f f f f f f
. 4 4 f b f a a a a f f f a a .
4 4 1 f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 a a a a f f f f f
. 4 4 f b f a a a a f f f a a .
4 4 1 f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . a a a a . . . .
. . f f f 1 1 a a a a f f f f f
. 4 4 f b f a a a a f f f a a .
4 4 1 f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 a a a a f f f f f
. 4 4 f b f a a a a f f f a a .
4 4 1 f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f 1 1 f f f . .
. a a f f f a a a a f b f 4 4 .
. . . . f f f f f f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f 1 1 f f f . .
. a a f f f a a a a f b f 4 4 .
. . . . f a a a a f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f 1 1 f f f . .
. a a f f f a a a a f b f 4 4 .
. . . . f a a a a f f f f 1 4 4
. . . . a a a a . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f 1 1 f f f . .
. a a f f f a a a a f b f 4 4 .
. . . . f a a a a f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f 1 1 f f f . .
. a a f f f a a a a f b f 4 4 .
. . . . f f f f f f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f a a a a 1 1 f f f . .
. a a f f f a a a a f b f 4 4 .
. . . . f f f f f f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . a a a a . . . . . . . .
f f f f f a a a a 1 1 f f f . .
. a a f f f a a a a f b f 4 4 .
. . . . f f f f f f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f a a a a 1 1 f f f . .
. a a f f f a a a a f b f 4 4 .
. . . . f f f f f f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f . . . . . . . . . . .
. 4 4 f b f . . . . . . . . . .
4 4 1 f f 1 1 f f f f f f f f f
. . . f f f f f f f f f f f . .
. . . . f f f f f f f f a . . .
. . . . . . . . . . . a . . . .
. . . . . . . . . a a . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . f f f . .
. . . . . . . . . . f b f 4 4 .
f f f f f f f f f 1 1 f f 1 4 4
. . f f f f f f f f f f f . . .
. . . a f f f f f f f f . . . .
. . . . a . . . . . . . . . . .
. . . . . a a . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 1:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f 1 f f f f f f
. f f c 1 f f f 1 f f f f a a .
4 4 f f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.WhiteWingedScoter),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
. f f c 1 f a a a 1 f f f a a .
4 4 f f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
. f f c 1 f a a a 1 f f f a a .
4 4 f f f f f a a a 1 f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
. f f c 1 f a a a 1 f f f a a .
4 4 f f f f f a a a 1 f . . . .
. . . . . . . . a a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
. f f c 1 f a a a 1 f f f a a .
4 4 f f f f f a a a 1 f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
. f f c 1 f a a a 1 f f f a a .
4 4 f f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f a a a 1 f f f f f
. f f c 1 f a a a 1 f f f a a .
4 4 f f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . a a a a . . . .
. . f f f f f a a a 1 f f f f f
. f f c 1 f a a a 1 f f f a a .
4 4 f f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. a a f f f 1 a a a f 1 c f f .
. . . . f f f f f f f f f f 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. a a f f f 1 a a a f 1 c f f .
. . . . f 1 a a a f f f f f 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. a a f f f 1 a a a f 1 c f f .
. . . . f 1 a a a f f f f f 4 4
. . . . a a a a . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. a a f f f 1 a a a f 1 c f f .
. . . . f 1 a a a f f f f f 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. a a f f f 1 a a a f 1 c f f .
. . . . f f f f f f f f f f 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f 1 a a a f f f f f . .
. a a f f f 1 a a a f 1 c f f .
. . . . f f f f f f f f f f 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . a a a a . . . . . . . .
f f f f f 1 a a a f f f f f . .
. a a f f f 1 a a a f 1 c f f .
. . . . f f f f f f f f f f 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f . . . . . . . . . .
. . f f c 1 f . . . . . . . . .
. 4 4 f f f f f f 1 f f f f f f
. . . . f f f f 1 f f f f . . .
. . . . . f f f f f f f a . . .
. . . . . . . . . . . a . . . .
. . . . . . . . . a a . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . f f f . . .
. . . . . . . . . f 1 c f f . .
f f f f f f 1 f f f f f f 4 4 .
. . . f f f f 1 f f f f . . . .
. . . a f f f f f f f . . . . .
. . . . a . . . . . . . . . . .
. . . . . a a . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 2:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 a a a c c c c c 1 c c c c
. c 1 f 1 a c 1 1 1 1 c f a a .
. . a a a 6 6 4 4 4 4 4 f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.HarlequinDuck),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 a a a c c c c c 1 c c c c
. c 1 f 1 a a a a a 1 c f a a .
. . a a a 6 6 4 4 4 4 4 f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 a a a c c c c c 1 c c c c
. c 1 f 1 a a a a a 1 c f a a .
. . a a a 6 6 a a a a 4 f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 a a a c c c c c 1 c c c c
. c 1 f 1 a a a a a 1 c f a a .
. . a a a 6 6 a a a a 4 f . . .
. . . . . . . . a a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 a a a c c c c c 1 c c c c
. c 1 f 1 a a a a a 1 c f a a .
. . a a a 6 6 a a a a 4 f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 a a a c c c c c 1 c c c c
. c 1 f 1 a a a a a 1 c f a a .
. . a a a 6 6 4 4 4 4 4 f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 a a a c a a a a 1 c c c c
. c 1 f 1 a a a a a 1 c f a a .
. . a a a 6 6 4 4 4 4 4 f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . a a a a . . . .
. . 1 a a a c a a a a 1 c c c c
. c 1 f 1 a a a a a 1 c f a a .
. . a a a 6 6 4 4 4 4 4 f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
c c c c 1 c c c c c a a a 1 . .
. a a f c 1 a a a a a 1 f 1 c .
. . . f 4 4 4 4 4 6 6 a a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
c c c c 1 c c c c c a a a 1 . .
. a a f c 1 a a a a a 1 f 1 c .
. . . f 4 a a a a 6 6 a a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
c c c c 1 c c c c c a a a 1 . .
. a a f c 1 a a a a a 1 f 1 c .
. . . f 4 a a a a 6 6 a a a . .
. . . . a a a a . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
c c c c 1 c c c c c a a a 1 . .
. a a f c 1 a a a a a 1 f 1 c .
. . . f 4 a a a a 6 6 a a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
c c c c 1 c c c c c a a a 1 . .
. a a f c 1 a a a a a 1 f 1 c .
. . . f 4 4 4 4 4 6 6 a a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
c c c c 1 a a a a c a a a 1 . .
. a a f c 1 a a a a a 1 f 1 c .
. . . f 4 4 4 4 4 6 6 a a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . a a a a . . . . . . . .
c c c c 1 a a a a c a a a 1 . .
. a a f c 1 a a a a a 1 f 1 c .
. . . f 4 4 4 4 4 6 6 a a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 a a . . . . . . . . . . .
. c 1 f 1 a . . . . . . . . . .
. . a a a a c c c c 1 c c c c .
. . . a 6 c 1 1 1 1 c f a . . .
. . . . 6 6 4 4 4 4 4 f a . . .
. . . . . . . . . . a a . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . a a 1 . .
. . . . . . . . . . a 1 f 1 c .
. c c c c 1 c c c c a a a a . .
. . . a f c 1 1 1 1 c 6 a . . .
. . . a f 4 4 4 4 4 6 6 . . . .
. . . . a a . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 3:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. d f f d 4 4 4 f f f 1 f f f f
a d a 1 f f d d 1 1 1 a a . . .
. . d f f f f f d 1 1 . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.LongTailedDuck),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. d f f d 4 4 4 f f f 1 f f f f
a d a 1 f a a e e 1 1 a a . . .
. . d f f f f f d 1 1 . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. d f f d 4 4 4 f f f 1 f f f f
a d a 1 f a a e e 1 1 a a . . .
. . d f f f a e e e 1 . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. d f f d 4 4 4 f f f 1 f f f f
a d a 1 f a a e e 1 1 a a . . .
. . d f f f a e e e 1 . . . . .
. . . . . . . a e e e . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. d f f d 4 4 4 f f f 1 f f f f
a d a 1 f a a e e 1 1 a a . . .
. . d f f f a e e e 1 . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. d f f d 4 4 4 f f f 1 f f f f
a d a 1 f a a e e 1 1 a a . . .
. . d f f f f f d 1 1 . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. d f f d 4 a e e e f 1 f f f f
a d a 1 f a a e e 1 1 a a . . .
. . d f f f f f d 1 1 . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . a e e e . . . . .
. d f f d 4 a e e e f 1 f f f f
a d a 1 f a a e e 1 1 a a . . .
. . d f f f f f d 1 1 . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f 1 f f f 4 4 4 d f f d .
. . . a a 1 1 e e a a f 1 a d a
. . . . . 1 1 d f f f f f d . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f 1 f f f 4 4 4 d f f d .
. . . a a 1 1 e e a a f 1 a d a
. . . . . 1 e e e a f f f d . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f 1 f f f 4 4 4 d f f d .
. . . a a 1 1 e e a a f 1 a d a
. . . . . 1 e e e a f f f d . .
. . . . . e e e a . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f 1 f f f 4 4 4 d f f d .
. . . a a 1 1 e e a a f 1 a d a
. . . . . 1 e e e a f f f d . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f 1 f f f 4 4 4 d f f d .
. . . a a 1 1 e e a a f 1 a d a
. . . . . 1 1 d f f f f f d . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f 1 f e e e a 4 d f f d .
. . . a a 1 1 e e a a f 1 a d a
. . . . . 1 1 d f f f f f d . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . e e e a . . . . . . .
f f f f 1 f e e e a 4 d f f d .
. . . a a 1 1 e e a a f 1 a d a
. . . . . 1 1 d f f f f f d . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . d f f . . . . . . . . . . .
. a d a 1 f . . . . . . . . . .
. . f f f 4 4 4 e e f f f f f .
. . . f f d d d d 1 1 . . . . .
. . . f f d d d d 1 a . . . . .
. . . . . . . . . a . . . . . .
. . . . . . . . a . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . f f d . .
. . . . . . . . . . f 1 a d a .
. f f f f f e e 4 4 4 f f f . .
. . . . . 1 1 d d d d f f . . .
. . . . . a 1 d d d d f f . . .
. . . . . . a . . . . . . . . .
. . . . . . . a . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 4:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 c c c c c c c f f f f
2 2 1 f 1 c c c c c c c c a a .
. . 1 1 c c c c c c c c . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.HeermannsGull),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 c c c c c c c f f f f
2 2 1 f 1 c a a a a c c c a a .
. . 1 1 c c c c c c c c . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 c c c c c c c f f f f
2 2 1 f 1 c a a a a c c c a a .
. . 1 1 c c c a a a a c . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 c c c c c c c f f f f
2 2 1 f 1 c a a a a c c c a a .
. . 1 1 c c c a a a a c . . . .
. . . . . . . . a a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 c c c c c c c f f f f
2 2 1 f 1 c a a a a c c c a a .
. . 1 1 c c c a a a a c . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 c c c c c c c f f f f
2 2 1 f 1 c a a a a c c c a a .
. . 1 1 c c c c c c c c . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 c c a a a a c f f f f
2 2 1 f 1 c a a a a c c c a a .
. . 1 1 c c c c c c c c . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . a a a a . . . .
. . 1 1 1 c c a a a a c f f f f
2 2 1 f 1 c a a a a c c c a a .
. . 1 1 c c c c c c c c . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f c c c c c c c 1 1 1 . .
. a a c c c a a a a c 1 f 1 2 2
. . . . c c c c c c c c 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f c c c c c c c 1 1 1 . .
. a a c c c a a a a c 1 f 1 2 2
. . . . c a a a a c c c 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f c c c c c c c 1 1 1 . .
. a a c c c a a a a c 1 f 1 2 2
. . . . c a a a a c c c 1 1 . .
. . . . a a a a . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f c c c c c c c 1 1 1 . .
. a a c c c a a a a c 1 f 1 2 2
. . . . c a a a a c c c 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f c c c c c c c 1 1 1 . .
. a a c c c a a a a c 1 f 1 2 2
. . . . c c c c c c c c 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f c a a a a c c 1 1 1 . .
. a a c c c a a a a c 1 f 1 2 2
. . . . c c c c c c c c 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . a a a a . . . . . . . .
f f f f c a a a a c c 1 1 1 . .
. a a c c c a a a a c 1 f 1 2 2
. . . . c c c c c c c c 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . 1 1 1 . . . . . . . . . .
. 2 2 1 f 1 . . . . . . . . . .
. . . 1 1 c c c c c c f f f f .
. . . . c c c c c c c c . . . .
. . . . . c c c c c a . . . . .
. . . . . . . . . a . . . . . .
. . . . . . . . a . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . 1 1 1 . . .
. . . . . . . . . . 1 f 1 2 2 .
. f f f f c c c c c c 1 1 . . .
. . . . c c c c c c c c . . . .
. . . . . a c c c c c . . . . .
. . . . . . a . . . . . . . . .
. . . . . . . a . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 5:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 1 c c c c c 1 1 1 1 1
5 5 1 f 1 1 1 1 1 1 1 1 1 5 5 .
. . 1 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.CaliforniaGull),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 1 c c c c c 1 1 1 1 1
5 5 1 f 1 1 c c c c c 1 1 5 5 .
. . 1 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 1 c c c c c 1 1 1 1 1
5 5 1 f 1 1 c c c c c 1 1 5 5 .
. . 1 1 1 1 1 c c c c c 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 1 c c c c c 1 1 1 1 1
5 5 1 f 1 1 c c c c c 1 1 5 5 .
. . 1 1 1 1 1 c c c c c 1 . . .
. . . . . . . . c c c f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 1 c c c c c 1 1 1 1 1
5 5 1 f 1 1 c c c c c 1 1 5 5 .
. . 1 1 1 1 1 c c c c c 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 1 c c c c c 1 1 1 1 1
5 5 1 f 1 1 c c c c c 1 1 5 5 .
. . 1 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 1 1 1 c b b b b b 1 1 1 1
5 5 1 f 1 1 b b b b b 1 1 5 5 .
. . 1 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . b b b b b . . .
. . 1 1 1 1 c b b b b b 1 1 1 1
5 5 1 f 1 1 b b b b b 1 1 5 5 .
. . 1 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 c c c c c 1 1 1 1 . .
. 5 5 1 1 c c c c c 1 1 f 1 5 5
. . . 1 1 1 1 1 1 1 1 1 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 c c c c c 1 1 1 1 . .
. 5 5 1 1 c c c c c 1 1 f 1 5 5
. . . 1 c c c c c 1 1 1 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 c c c c c 1 1 1 1 . .
. 5 5 1 1 c c c c c 1 1 f 1 5 5
. . . 1 c c c c c 1 1 1 1 1 . .
. . . f f c c c . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 c c c c c 1 1 1 1 . .
. 5 5 1 1 c c c c c 1 1 f 1 5 5
. . . 1 c c c c c 1 1 1 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 c c c c c 1 1 1 1 . .
. 5 5 1 1 c c c c c 1 1 f 1 5 5
. . . 1 1 1 1 1 1 1 1 1 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 b b b b b c 1 1 1 1 . .
. 5 5 1 1 b b b b b 1 1 f 1 5 5
. . . 1 1 1 1 1 1 1 1 1 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . b b b b b . . . . . . . .
1 1 1 1 b b b b b c 1 1 1 1 . .
. 5 5 1 1 b b b b b 1 1 f 1 5 5
. . . 1 1 1 1 1 1 1 1 1 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . 1 1 1 . . . . . . . . . .
. 5 5 1 f 1 . . . . . . . . . .
. . . 1 1 1 c c c c c 1 1 1 1 .
. . . . 1 1 1 1 1 1 1 1 . . . .
. . . . . 1 1 1 1 1 5 . . . . .
. . . . . . . . . 5 . . . . . .
. . . . . . . . 5 . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . 1 1 1 . . .
. . . . . . . . . . 1 f 1 5 5 .
. 1 1 1 1 c c c c c 1 1 1 . . .
. . . . 1 1 1 1 1 1 1 1 . . . .
. . . . . 5 1 1 1 1 1 . . . . .
. . . . . . 5 . . . . . . . . .
. . . . . . . 5 . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 6:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 b b b b b 1 1 1 1 1
. a f a f f 1 1 1 1 1 1 1 4 4 .
. . f f f f 1 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.BonapartesGull),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 b b b b b 1 1 1 1 1
. a f a f f b b b b b 1 1 4 4 .
. . f f f f 1 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 b b b b b 1 1 1 1 1
. a f a f f b b b b b 1 1 4 4 .
. . f f f f 1 b b b b f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 b b b b b 1 1 1 1 1
. a f a f f b b b b b 1 1 4 4 .
. . f f f f 1 b b b b f . . . .
. . . . . . . . b b b b f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 b b b b b 1 1 1 1 1
. a f a f f b b b b b 1 1 4 4 .
. . f f f f 1 b b b b f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 b b b b b 1 1 1 1 1
. a f a f f b b b b b 1 1 4 4 .
. . f f f f 1 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . b b b b f . . . .
. . f f f 1 b b b b b 1 1 1 1 1
. a f a f f 1 1 1 1 1 1 1 4 4 .
. . f f f f 1 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . b b b b f . . .
. . . . . . . b b b b f . . . .
. . f f f 1 b b b b b 1 1 1 1 1
. a f a f f 1 1 1 1 1 1 1 4 4 .
. . f f f f 1 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. 4 4 1 1 b b b b b f f a f a .
. . . . 1 1 1 1 1 1 f f f f . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. 4 4 1 1 b b b b b f f a f a .
. . . . f b b b b 1 f f f f . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. 4 4 1 1 b b b b b f f a f a .
. . . . f b b b b 1 f f f f . .
. . . f b b b b . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. 4 4 1 1 b b b b b f f a f a .
. . . . f b b b b 1 f f f f . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. 4 4 1 1 b b b b b f f a f a .
. . . . 1 1 1 1 1 1 f f f f . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f b b b b . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. 4 4 1 1 1 1 1 1 1 f f a f a .
. . . . 1 1 1 1 1 1 f f f f . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f b b b b . . . . . . . .
. . . . f b b b b . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. 4 4 1 1 1 1 1 1 1 f f a f a .
. . . . 1 1 1 1 1 1 f f f f . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f . . . . . . . . . .
. . a f a f . . . . . . . . . .
. . . f f f 1 b b b b 1 1 1 1 .
. . . . f f 1 1 1 1 1 1 . . . .
. . . . . 1 1 1 1 1 4 . . . . .
. . . . . . . . . 4 . . . . . .
. . . . . . . . 4 . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . f f f . . .
. . . . . . . . . . f a f a . .
. 1 1 1 1 b b b b 1 f f f . . .
. . . . 1 1 1 1 1 1 f f . . . .
. . . . . 4 1 1 1 1 1 . . . . .
. . . . . . 4 . . . . . . . . .
. . . . . . . 4 . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 7:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 b b b b b a 1 1 1 1
2 2 1 a 1 1 1 1 1 1 1 1 1 f f .
. . 1 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.CaspianTern),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 b b b b b 1 1 1 1 1
2 2 1 a 1 1 b b b b b 1 1 f f .
. . 1 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 b b b b b 1 1 1 1 1
2 2 1 a 1 1 b b b b b 1 1 f f .
. . 1 1 1 1 1 b b b b b 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 b b b b b 1 1 1 1 1
2 2 1 a 1 1 b b b b b 1 1 f f .
. . 1 1 1 1 1 b b b b b 1 . . .
. . . . . . . . b c c c a . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 b b b b b 1 1 1 1 1
2 2 1 a 1 1 b b b b b 1 1 f f .
. . 1 1 1 1 1 b b b b b 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 b b b b b 1 1 1 1 1
2 2 1 a 1 1 b b b b b 1 1 f f .
. . 1 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . b b b b b . . . .
. . f f f 1 b b b b b 1 1 1 1 1
2 2 1 a 1 1 1 1 1 1 1 1 1 f f .
. . 1 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . b c c c a . . .
. . . . . . . b b b b b . . . .
. . f f f 1 b b b b b 1 1 1 1 1
2 2 1 a 1 1 1 1 1 1 1 1 1 f f .
. . 1 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. f f 1 1 b b b b b 1 1 a 1 2 2
. . . 1 1 1 1 1 1 1 1 1 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. f f 1 1 b b b b b 1 1 a 1 2 2
. . . 1 b b b b b 1 1 1 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. f f 1 1 b b b b b 1 1 a 1 2 2
. . . 1 b b b b b 1 1 1 1 1 . .
. . . a c c c b . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. f f 1 1 b b b b b 1 1 a 1 2 2
. . . 1 b b b b b 1 1 1 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. f f 1 1 b b b b b 1 1 a 1 2 2
. . . 1 1 1 1 1 1 1 1 1 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . b b b b b . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. f f 1 1 1 1 1 1 1 1 1 a 1 2 2
. . . 1 1 1 1 1 1 1 1 1 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . a c c c b . . . . . . . .
. . . . b b b b b . . . . . . .
1 1 1 1 1 b b b b b 1 f f f . .
. f f 1 1 1 1 1 1 1 1 1 a 1 2 2
. . . 1 1 1 1 1 1 1 1 1 1 1 . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f . . . . . . . . .
. . 2 2 1 a 1 . . . . . . . . .
. . . . 1 1 1 b b b b 1 1 1 1 .
. . . . 1 1 1 1 1 1 1 1 1 . . .
. . . . . 1 1 1 1 1 1 f . . . .
. . . . . . . . . . f . . . . .
. . . . . . . . . f . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . f f f . . . .
. . . . . . . . . 1 a 1 2 2 . .
. 1 1 1 1 b b b b 1 1 1 . . . .
. . . 1 1 1 1 1 1 1 1 1 . . . .
. . . . f 1 1 1 1 1 1 . . . . .
. . . . . f . . . . . . . . . .
. . . . . . f . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 8:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f 1 b b b b a a 1 1 1
. f 5 1 a 1 1 1 1 1 1 1 1 4 4 .
. . . 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.LeastTern),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f 1 b b b b 1 1 1 1 1
. f 5 1 a 1 1 a b b b 1 1 f f .
. . . 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f 1 b b b b 1 1 1 1 1
. f 5 1 a 1 1 a b b b 1 1 f f .
. . . 1 1 1 1 1 a b b b 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f 1 b b b b 1 1 1 1 1
. f 5 1 a 1 1 a b b b 1 1 f f .
. . . 1 1 1 1 1 a b b b 1 . . .
. . . . . . . . . a b b b . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f 1 b b b b 1 1 1 1 1
. f 5 1 a 1 1 a b b b 1 1 f f .
. . . 1 1 1 1 1 a b b b 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f 1 b b b b 1 1 1 1 1
. f 5 1 a 1 1 a b b b 1 1 f f .
. . . 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f 1 b b b b 1 1 1 1 1
. f 5 1 a 1 1 b b b b 1 1 f f .
. . . 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f 1 b b b b b 1 1 1 1
. f 5 1 a 1 1 b b b b 1 1 f f .
. . . 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . b b b b . . .
. . . f f f 1 b b b b b 1 1 1 1
. f 5 1 a 1 1 b b b b 1 1 f f .
. . . 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b 1 f f f . . .
. f f 1 1 b b b a 1 1 a 1 5 f .
. . . 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b 1 f f f . . .
. f f 1 1 b b b a 1 1 a 1 5 f .
. . . 1 b b b a 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b 1 f f f . . .
. f f 1 1 b b b a 1 1 a 1 5 f .
. . . 1 b b b a 1 1 1 1 1 . . .
. . . b b b a . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b 1 f f f . . .
. f f 1 1 b b b a 1 1 a 1 5 f .
. . . 1 b b b a 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b 1 f f f . . .
. f f 1 1 b b b a 1 1 a 1 5 f .
. . . 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 b b b b 1 f f f . . .
. f f 1 1 b b b b 1 1 a 1 5 f .
. . . 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 b b b b b 1 f f f . . .
. f f 1 1 b b b b 1 1 a 1 5 f .
. . . 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . b b b b . . . . . . . . .
1 1 1 1 b b b b b 1 f f f . . .
. f f 1 1 b b b b 1 1 a 1 5 f .
. . . 1 1 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f . . . . . . . . .
. . f 5 1 a 1 . . . . . . . . .
. . . . 1 1 1 b b b b a a 1 1 .
. . . . 1 1 1 1 1 1 1 1 1 . . .
. . . . . 1 1 1 1 1 1 4 . . . .
. . . . . . . . . . 4 . . . . .
. . . . . . . . . 4 . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . f f f . . . .
. . . . . . . . . 1 a 1 5 f . .
. 1 1 a a b b b b 1 1 1 . . . .
. . . 1 1 1 1 1 1 1 1 1 . . . .
. . . . 4 1 1 1 1 1 1 . . . . .
. . . . . 4 . . . . . . . . . .
. . . . . . 4 . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 9:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 5 5 5 f f f f f f f f f f f
. 4 1 a 1 f f f f f f f f 4 4 .
4 4 1 f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.TuftedPuffin),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 5 5 5 f f f f f f f f f f f
. 4 1 a 1 f a a a a f f f 4 4 .
4 4 1 f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 5 5 5 f f f f f f f f f f f
. 4 1 a 1 f a a a a f f f 4 4 .
4 4 1 f f f f a a a a f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 5 5 5 f f f f f f f f f f f
. 4 1 a 1 f a a a a f f f 4 4 .
4 4 1 f f f f a a a a f . . . .
. . . . . . . . a a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 5 5 5 f f f f f f f f f f f
. 4 1 a 1 f a a a a f f f 4 4 .
4 4 1 f f f f a a a a f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 5 5 5 f f f f f f f f f f f
. 4 1 a 1 f a a a a f f f 4 4 .
4 4 1 f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 5 5 5 f f a a a a f f f f f
. 4 1 a 1 f a a a a f f f 4 4 .
4 4 1 f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . a a a a . . . .
. . 5 5 5 f f a a a a f f f f f
. 4 1 a 1 f a a a a f f f 4 4 .
4 4 1 f f f f f f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f 5 5 5 . .
. 4 4 f f f a a a a f 1 a 1 4 .
. . . . f f f f f f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f 5 5 5 . .
. 4 4 f f f a a a a f 1 a 1 4 .
. . . . f a a a a f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f 5 5 5 . .
. 4 4 f f f a a a a f 1 a 1 4 .
. . . . f a a a a f f f f 1 4 4
. . . . a a a a . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f 5 5 5 . .
. 4 4 f f f a a a a f 1 a 1 4 .
. . . . f a a a a f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f 5 5 5 . .
. 4 4 f f f a a a a f 1 a 1 4 .
. . . . f f f f f f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f a a a a f f 5 5 5 . .
. 4 4 f f f a a a a f 1 a 1 4 .
. . . . f f f f f f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . a a a a . . . . . . . .
f f f f f a a a a f f 5 5 5 . .
. 4 4 f f f a a a a f 1 a 1 4 .
. . . . f f f f f f f f f 1 4 4
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . 5 5 5 . . . . . . . . . .
. . 4 1 a 1 f . . . . . . . . .
. 4 4 1 f f f f . . . . . . . .
. . . . f f f f f f f f f f f f
. . . . . f f f f f f f f f . .
. . . . . . f f f f f f 4 . . .
. . . . . . . . . . . . 4 . . .
. . . . . . . . . . . 4 . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . 5 5 5 . . .
. . . . . . . . . f 1 a 1 4 . .
. . . . . . . . f f f f 1 4 4 .
f f f f f f f f f f f f . . . .
. . f f f f f f f f f . . . . .
. . . 4 f f f f f f . . . . . .
. . . 4 . . . . . . . . . . . .
. . . . 4 . . . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 10:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f 1 f f f f f f f
a a f a f f f 1 1 f f f f 2 2 .
. . . f f f f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.PigeonGuillemot),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
a a f a f f a a a a f f f 2 2 .
. . . f f f f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
a a f a f f a a a a f f f 2 2 .
. . . f f f f a 1 a a f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
a a f a f f a a a a f f f 2 2 .
. . . f f f f a 1 1 a f f . . .
. . . . . . . . a 1 a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
a a f a f f a a a a f f f 2 2 .
. . . f f f f a 1 a a f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
a a f a f f a a a a f f f 2 2 .
. . . f f f f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f a a a a f f f f f
a a f a f f a a a a f f f 2 2 .
. . . f f f f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . a a a a . . . .
. . f f f f f a a a a f f f f f
a a f a f f a a a a f f f 2 2 .
. . . f f f f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. 2 2 f f f a a a a f f a f a a
. . . f f f f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. 2 2 f f f a a a a f f a f a a
. . . f f a a 1 a f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. 2 2 f f f a a a a f f a f a a
. . . f f a 1 1 a f f f f . . .
. . . . a a 1 a . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. 2 2 f f f a a a a f f a f a a
. . . f f a a 1 a f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. 2 2 f f f a a a a f f a f a a
. . . f f f f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f a a a a f f f f f . .
. 2 2 f f f a a a a f f a f a a
. . . f f f f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . a a a a . . . . . . . .
f f f f f a a a a f f f f f . .
. 2 2 f f f a a a a f f a f a a
. . . f f f f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f . . . . . . . . . .
. a a f a f f . . . . . . . . .
. . . f f f f f f 1 f f f f f f
. . . . f f f f 1 1 f f f f f .
. . . . . f f f f f f f f 2 . .
. . . . . . . . . . . . . . 2 .
. . . . . . . . . . . . . 2 . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . f f f . . .
. . . . . . . . . f f a f a a .
f f f f f f 1 f f f f f f . . .
. f f f f f 1 1 f f f f . . . .
. . 2 f f f f f f f f . . . . .
. 2 . . . . . . . . . . . . . .
. . 2 . . . . . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 11:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . e e 1 e e e e e e e e e e e
a a e f 1 e e e e e e e a a . .
. . e 1 1 e 1 1 1 1 e e . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.PomarineJaeger),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . e e 1 e e e e e e e e e e e
a a e f 1 a a a a a e e a a . .
. . e 1 1 e 1 1 1 1 e e . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . e e 1 e e e e e e e e e e e
a a e f 1 a a a a a e e a a . .
. . e 1 1 e a a a a a e . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . e e 1 e e e e e e e e e e e
a a e f 1 a a a a a e e a a . .
. . e 1 1 e a a a a a e . . . .
. . . . . . . a a a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . e e 1 e e e e e e e e e e e
a a e f 1 a a a a a e e a a . .
. . e 1 1 e a a a a a e . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . e e 1 e e e e e e e e e e e
a a e f 1 a a a a a e e a a . .
. . e 1 1 e 1 1 1 1 e e . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . e e 1 e c c c c c e e e e e
a a e f 1 c c c c c e e a a . .
. . e 1 1 e 1 1 1 1 e e . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . c c c c c . . . .
. . e e 1 e c c c c c e e e e e
a a e f 1 c c c c c e e a a . .
. . e 1 1 e 1 1 1 1 e e . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
e e e e e e e e e e e 1 e e . .
. . a a e e a a a a a 1 f e a a
. . . . e e 1 1 1 1 e 1 1 e . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
e e e e e e e e e e e 1 e e . .
. . a a e e a a a a a 1 f e a a
. . . . e a a a a a e 1 1 e . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
e e e e e e e e e e e 1 e e . .
. . a a e e a a a a a 1 f e a a
. . . . e a a a a a e 1 1 e . .
. . . . a a a a a . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
e e e e e e e e e e e 1 e e . .
. . a a e e a a a a a 1 f e a a
. . . . e a a a a a e 1 1 e . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
e e e e e e e e e e e 1 e e . .
. . a a e e a a a a a 1 f e a a
. . . . e e 1 1 1 1 e 1 1 e . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
e e e e e c c c c c e 1 e e . .
. . a a e e c c c c c 1 f e a a
. . . . e e 1 1 1 1 e 1 1 e . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . c c c c c . . . . . . .
e e e e e c c c c c e 1 e e . .
. . a a e e c c c c c 1 f e a a
. . . . e e 1 1 1 1 e 1 1 e . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . e e 1 . . . . . . . . . .
. a a e f 1 1 . . . . . . . . .
. . . e 1 1 e e e e e e e e e e
. . . . e e e e e e e e e . . .
. . . . . e 1 1 1 e e a . . . .
. . . . . . . . . . a . . . . .
. . . . . . . . . a . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . 1 e e . . .
. . . . . . . . . 1 1 f e a a .
e e e e e e e e e e 1 1 e . . .
. . . e e e e e e e e e . . . .
. . . . a e e 1 1 1 e . . . . .
. . . . . a . . . . . . . . . .
. . . . . . a . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 12:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a a a a a a a a a a
f f a f a a 1 1 1 1 1 1 1 f f .
. . a a 1 1 1 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.CommonMurre),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a a a a a a a a a a
f f a f a a f f f f 1 1 1 f f .
. . a a 1 1 1 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a a a a a a a a a a
f f a f a a f f f f 1 1 1 f f .
. . a a 1 1 1 f f f f 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a a a a a a a a a a
f f a f a a f f f f 1 1 1 f f .
. . a a 1 1 1 f f f f 1 . . . .
. . . . . . . . f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a a a a a a a a a a
f f a f a a f f f f 1 1 1 f f .
. . a a 1 1 1 f f f f 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a a a a a a a a a a
f f a f a a f f f f 1 1 1 f f .
. . a a 1 1 1 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a f f f f a a a a a
f f a f a a f f f f 1 1 1 f f .
. . a a 1 1 1 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . f f f f . . . .
. . a a a a a f f f f a a a a a
f f a f a a f f f f 1 1 1 f f .
. . a a 1 1 1 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a a a a a . .
. f f 1 1 1 f f f f a a f a f f
. . . . 1 1 1 1 1 1 1 1 a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a a a a a . .
. f f 1 1 1 f f f f a a f a f f
. . . . 1 f f f f 1 1 1 a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a a a a a . .
. f f 1 1 1 f f f f a a f a f f
. . . . 1 f f f f 1 1 1 a a . .
. . . . f f f f . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a a a a a . .
. f f 1 1 1 f f f f a a f a f f
. . . . 1 f f f f 1 1 1 a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a a a a a . .
. f f 1 1 1 f f f f a a f a f f
. . . . 1 1 1 1 1 1 1 1 a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a f f f f a a a a a . .
. f f 1 1 1 f f f f a a f a f f
. . . . 1 1 1 1 1 1 1 1 a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f f . . . . . . . .
a a a a a f f f f a a a a a . .
. f f 1 1 1 f f f f a a f a f f
. . . . 1 1 1 1 1 1 1 1 a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . a a a . . . . . . . . . .
. f f a f a . . . . . . . . . .
. . . a a a a a a a a a a a a a
. . . . a a 1 1 1 1 1 1 1 1 . .
. . . . . 1 1 1 1 1 1 1 f . . .
. . . . . . . . . . f f . . . .
. . . . . . . . . f . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . a a a . . .
. . . . . . . . . . a f a f f .
a a a a a a a a a a a a a . . .
. . 1 1 1 1 1 1 1 1 a a . . . .
. . . f 1 1 1 1 1 1 1 . . . . .
. . . . f f . . . . . . . . . .
. . . . . . f . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 13:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . b b b b a a a a a a a a a a
a a b f b b a a a a 1 1 c c . .
. . b b 4 4 4 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.RedThroatedLoon),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . b b b b a a a a a a a a a a
a a b f b b a a a a 1 1 c c . .
. . b b 4 4 4 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . b b b b a a a a a a a a a a
a a b f b b a a a a 1 1 c c . .
. . b b 4 4 4 a a a a 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . b b b b a a a a a a a a a a
a a b f b b a a a a 1 1 c c . .
. . b b 4 4 4 a a a a 1 . . . .
. . . . . . . . a a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . b b b b a a a a a a a a a a
a a b f b b a a a a 1 1 c c . .
. . b b 4 4 4 a a a a 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . b b b b a a a a a a a a a a
a a b f b b c c a a 1 1 c c . .
. . b b 4 4 4 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . b b b b a c c a a a a a a a
a a b f b b c c a a 1 1 c c . .
. . b b 4 4 4 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . c c c a . . . .
. . b b b b a c c c a a a a a a
a a b f b b c c c a 1 1 c c . .
. . b b 4 4 4 1 1 1 1 1 . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a b b b b . .
. . c c 1 1 a a a a b b f b a a
. . . . 1 1 1 1 1 4 4 4 b b . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a b b b b . .
. . c c 1 1 a a a a b b f b a a
. . . . 1 a a a a 4 4 4 b b . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a b b b b . .
. . c c 1 1 a a a a b b f b a a
. . . . 1 a a a a 4 4 4 b b . .
. . . . a a a a . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a b b b b . .
. . c c 1 1 a a a a b b f b a a
. . . . 1 a a a a 4 4 4 b b . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a b b b b . .
. . c c 1 1 a a c c b b f b a a
. . . . 1 1 1 1 1 4 4 4 b b . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a c c a b b b b . .
. . c c 1 1 a a c c b b f b a a
. . . . 1 1 1 1 1 4 4 4 b b . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . a c c c . . . . . . . .
a a a a a a c c c a b b b b . .
. . c c 1 1 a c c c b b f b a a
. . . . 1 1 1 1 1 4 4 4 b b . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . b b b . . . . . . . . . .
. a a b f b b . . . . . . . . .
. . . b b b a a a a a a a a a a
. . . . . 4 4 a a a 1 1 1 . . .
. . . . . . 4 1 1 1 1 1 c . . .
. . . . . . . . . . . c . . . .
. . . . . . . . . . c . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . b b b . . .
. . . . . . . . . b b f b a a .
a a a a a a a a a a b b b . . .
. . . 1 1 1 a a a 4 4 . . . . .
. . . c 1 1 1 1 1 4 . . . . . .
. . . . c . . . . . . . . . . .
. . . . . c . . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 14:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. b . . . . . . . . . . . . . .
. b a a 1 a f a a a a a a a a a
4 4 a f a a f f f f b b d d . .
. . a 1 a a a a b b b b . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.RhinocerosAuklet),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. b . . . . . . . . . . . . . .
. b a a 1 a a a a a a a a a a a
4 4 a f a a f f f f b b d d . .
. . a 1 a a a a b b b b . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. b . . . . . . . . . . . . . .
. b a a 1 a a a a a a a a a a a
4 4 a f a a f f f f b b d d . .
. . a 1 a a a f f f f b . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. b . . . . . . . . . . . . . .
. b a a 1 a a a a a a a a a a a
4 4 a f a a f f f f b b d d . .
. . a 1 a a a f f f f b . . . .
. . . . . . . . f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. b . . . . . . . . . . . . . .
. b a a 1 a a a a a a a a a a a
4 4 a f a a f f f f b b d d . .
. . a 1 a a a f f f f b . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. b . . . . . . . . . . . . . .
. b a a 1 a a a a a a a a a a a
4 4 a f a a f f f f b b d d . .
. . a 1 a a a a b b b b . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. b . . . . . . . . . . . . . .
. b a a 1 a a f f f f a a a a a
4 4 a f a a f f f f b b d d . .
. . a 1 a a a a b b b b . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. b . . . . . . f f f f . . . .
. b a a 1 a a f f f f a a a a a
4 4 a f a a f f f f b b d d . .
. . a 1 a a a a b b b b . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . b .
a a a a a a a a a a a 1 a a b .
. . d d b b f f f f a a f a 4 4
. . . . b b b b a a a a 1 a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . b .
a a a a a a a a a a a 1 a a b .
. . d d b b f f f f a a f a 4 4
. . . . b f f f f a a a 1 a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . b .
a a a a a a a a a a a 1 a a b .
. . d d b b f f f f a a f a 4 4
. . . . b f f f f a a a 1 a . .
. . . . f f f f . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . b .
a a a a a a a a a a a 1 a a b .
. . d d b b f f f f a a f a 4 4
. . . . b f f f f a a a 1 a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . b .
a a a a a a a a a a a 1 a a b .
. . d d b b f f f f a a f a 4 4
. . . . b b b b a a a a 1 a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . b .
a a a a a f f f f a a 1 a a b .
. . d d b b f f f f a a f a 4 4
. . . . b b b b a a a a 1 a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f f f f . . . . . . b .
a a a a a f f f f a a 1 a a b .
. . d d b b f f f f a a f a 4 4
. . . . b b b b a a a a 1 a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . b . . . . . . . . . . . . .
. . b a a 1 . . . . . . . . . .
. 4 4 a f a a . . . . . . . . .
. . . a 1 a f a a a a a a a a a
. . . . a a f f f f b b b . . .
. . . . . a a a b b b b d . . .
. . . . . . . . . . . d . . . .
. . . . . . . . . . d . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . b . .
. . . . . . . . . . 1 a a b . .
. . . . . . . . . a a f a 4 4 .
a a a a a a a a a f a 1 a . . .
. . . b b b f f f f a a . . . .
. . . d b b b b a a a . . . . .
. . . . d . . . . . . . . . . .
. . . . . d . . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 15:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
c c 2 a f f f f f f 1 1 f a a .
. . . . . . f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.PelagicCormorant),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
c c 2 a f f a a a a a 1 f a a .
. . . . . . f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
c c 2 a f f a a a a a 1 f a a .
. . . . . . f a a a a a f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
c c 2 a f f a a a a a 1 f a a .
. . . . . . f a a a a a f . . .
. . . . . . . . a a a a a . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
c c 2 a f f a a a a a 1 f a a .
. . . . . . f a a a a a f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f f f f f f f f f f
c c 2 a f f a a a a a 1 f a a .
. . . . . . f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f f a a a a a f f f f
c c 2 a f f a a a a a 1 f a a .
. . . . . . f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . a a a a a . . .
. . f f f f f a a a a a f f f f
c c 2 a f f a a a a a 1 f a a .
. . . . . . f f f f f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. a a f 1 a a a a a f f a 2 c c
. . . f f f f f f f . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. a a f 1 a a a a a f f a 2 c c
. . . f a a a a a f . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. a a f 1 a a a a a f f a 2 c c
. . . f a a a a a f . . . . . .
. . . a a a a a . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. a a f 1 a a a a a f f a 2 c c
. . . f a a a a a f . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f f f f f f f f f f f . .
. a a f 1 a a a a a f f a 2 c c
. . . f f f f f f f . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
f f f f a a a a a f f f f f . .
. a a f 1 a a a a a f f a 2 c c
. . . f f f f f f f . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . a a a a a . . . . . . . .
f f f f a a a a a f f f f f . .
. a a f 1 a a a a a f f a 2 c c
. . . f f f f f f f . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f . . . . . . . . . .
. c c 2 a f . . . . . . . . . .
. . . . f f f . . . . . . . . .
. . . . f f f f f f f f f f f f
. . . . f f a a a a 1 1 f f f .
. . . . . f f f f f f f f a . .
. . . . . . . . . . . . a . . .
. . . . . . . . . . . a . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . f f f . . .
. . . . . . . . . . f a 2 c c .
. . . . . . . . . f f f . . . .
f f f f f f f f f f f f . . . .
. f f f 1 1 a a a a f f . . . .
. . a f f f f f f f f . . . . .
. . . a . . . . . . . . . . . .
. . . . a . . . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 16:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 d 4 4 4 1 1 1 1 1 1 1 1 1
6 6 1 f 4 1 1 1 1 1 1 1 a a . .
. . . 1 1 1 1 1 1 1 1 . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.NorthernGannet),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 d 4 4 4 1 1 1 1 1 1 1 1 1
6 6 1 f 4 1 b b b b 1 1 a a . .
. . . 1 1 1 1 1 1 1 1 . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 d 4 4 4 1 1 1 1 1 1 1 1 1
6 6 1 f 4 1 b b b b 1 1 a a . .
. . . 1 1 1 1 b b f f . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 d 4 4 4 1 1 1 1 1 1 1 1 1
6 6 1 f 4 1 b b b b 1 1 a a . .
. . . 1 1 1 1 b f f f . . . . .
. . . . . . . . b f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 d 4 4 4 1 1 1 1 1 1 1 1 1
6 6 1 f 4 1 b b b b 1 1 a a . .
. . . 1 1 1 1 b b f f . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 d 4 4 4 1 1 1 1 1 1 1 1 1
6 6 1 f 4 1 b b b b 1 1 a a . .
. . . 1 1 1 1 1 1 1 1 . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . 1 d 4 4 4 b b a a 1 1 1 1 1
6 6 1 f 4 1 b b b b 1 1 a a . .
. . . 1 1 1 1 1 1 1 1 . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . b b a a . . . .
. . 1 d 4 4 4 b b a a 1 1 1 1 1
6 6 1 f 4 1 b b b b 1 1 a a . .
. . . 1 1 1 1 1 1 1 1 . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 1 1 1 1 4 4 4 d 1 . .
. . a a 1 1 b b b b 1 4 f 1 6 6
. . . . . 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 1 1 1 1 4 4 4 d 1 . .
. . a a 1 1 b b b b 1 4 f 1 6 6
. . . . . f f b b 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 1 1 1 1 4 4 4 d 1 . .
. . a a 1 1 b b b b 1 4 f 1 6 6
. . . . . f f f b 1 1 1 1 . . .
. . . . f f f b . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 1 1 1 1 4 4 4 d 1 . .
. . a a 1 1 b b b b 1 4 f 1 6 6
. . . . . f f b b 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 1 1 1 1 4 4 4 d 1 . .
. . a a 1 1 b b b b 1 4 f 1 6 6
. . . . . 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 a a b b 4 4 4 d 1 . .
. . a a 1 1 b b b b 1 4 f 1 6 6
. . . . . 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . a a b b . . . . . . . .
1 1 1 1 1 a a b b 4 4 4 d 1 . .
. . a a 1 1 b b b b 1 4 f 1 6 6
. . . . . 1 1 1 1 1 1 1 1 . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . 1 d 4 . . . . . . . . . .
. 6 6 1 f 4 4 . . . . . . . . .
. . . 1 1 1 4 4 . . . . . . . .
. . . . 1 1 1 1 1 1 1 1 1 1 1 1
. . . . 1 1 1 1 1 1 1 1 1 . . .
. . . . . 1 1 1 1 1 1 a . . . .
. . . . . . . . . . a . . . . .
. . . . . . . . . a . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . 4 d 1 . . .
. . . . . . . . . 4 4 f 1 6 6 .
. . . . . . . . 4 4 1 1 1 . . .
1 1 1 1 1 1 1 1 1 1 1 1 . . . .
. . . 1 1 1 1 1 1 1 1 1 . . . .
. . . . a 1 1 1 1 1 1 . . . . .
. . . . . a . . . . . . . . . .
. . . . . . a . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 17:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f 1 f c c c a a 1 a .
. a f a f 1 f c c c c 1 1 1 . .
. . . f f f c c c c c a a . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.Brant),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f 1 f c c c a a 1 a .
. a f a f 1 a a a f f 1 1 1 . .
. . . f f f c c c c c a a . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f 1 f c c c a a 1 a .
. a f a f 1 a a a f f 1 1 1 . .
. . . f f f c a a a f f a . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f 1 f c c c a a 1 a .
. a f a f 1 a a a f f 1 1 1 . .
. . . f f f c a a a f f a . . .
. . . . . . . . a a a f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f 1 f c c c a a 1 a .
. a f a f 1 a a a f f 1 1 1 . .
. . . f f f c a a a f f a . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f f 1 a a a f f a 1 a .
. a f a f 1 a a a f f 1 1 1 . .
. . . f f f c c c c c a a . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . a a a f f . . .
. . f f f f 1 a a a f f a 1 a .
. a f a f 1 a a a f f 1 1 1 . .
. . . f f f c c c c c a a . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. a 1 a a c c c f 1 f f f f . .
. . 1 1 1 f f a a a 1 f a f a .
. . . a a c c c c c f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. a 1 a a c c c f 1 f f f f . .
. . 1 1 1 f f a a a 1 f a f a .
. . . a f f a a a c f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. a 1 a a c c c f 1 f f f f . .
. . 1 1 1 f f a a a 1 f a f a .
. . . a f f a a a c f f f . . .
. . . f f a a a . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. a 1 a a c c c f 1 f f f f . .
. . 1 1 1 f f a a a 1 f a f a .
. . . a f f a a a c f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. a 1 a f f a a a 1 f f f f . .
. . 1 1 1 f f a a a 1 f a f a .
. . . a a c c c c c f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f a a a . . . . . . . .
. a 1 a f f a a a 1 f f f f . .
. . 1 1 1 f f a a a 1 f a f a .
. . . a a c c c c c f f f . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f . . . . . . . . . .
. . a f a f . . . . . . . . . .
. . . f f 1 f . . . . . . . . .
. . . . 1 f f c c c a 1 1 a a .
. . . . f f c c c c 1 1 1 . . .
. . . . c c c c c c a . . . . .
. . . . . . . . . a . . . . . .
. . . . . . . . a . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . f f f . . .
. . . . . . . . . . f a f a . .
. . . . . . . . . f 1 f f . . .
. a a 1 1 a c c c f f 1 . . . .
. . . 1 1 1 c c c c f f . . . .
. . . . . a c c c c c c . . . .
. . . . . . a . . . . . . . . .
. . . . . . . a . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 18:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a a a a a a a a a a
f f a f a a a a a a a a a c c .
. . a a a a a a a a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.SootyShearwater),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a a a a a a a a a a
f f a f a a f f f f f a a c c .
. . a a a a a a a a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a a a a a a a a a a
f f a f a a f f f f f a a c c .
. . a a a a a f f f f a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a a a a a a a a a a
f f a f a a f f f f f a a c c .
. . a a a a a f f f f a . . . .
. . . . . . . . f f . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a a a a a a a a a a
f f a f a a f f f f f a a c c .
. . a a a a a f f f f a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a a a a a a a a a a
f f a f a a f f f f f a a c c .
. . a a a a a a a a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . a a a a a f f f f a a a a a
f f a f a a b b f f f a a c c .
. . a a a a a a a a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . f f . . . . . .
. . a a a a a b b f f a a a a a
f f a f a a b b b f f a a c c .
. . a a a a a a a a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a a a a a . .
. c c a a f f f f f a a f a f f
. . . . a a a a a a a a a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a a a a a . .
. c c a a f f f f f a a f a f f
. . . . a f f f f a a a a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a a a a a . .
. c c a a f f f f f a a f a f f
. . . . a f f f f a a a a a . .
. . . . . . f f . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a a a a a . .
. c c a a f f f f f a a f a f f
. . . . a f f f f a a a a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a a a a a a a a a a . .
. c c a a f f f f f a a f a f f
. . . . a a a a a a a a a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
a a a a a f f f f a a a a a . .
. c c a a f f f b b a a f a f f
. . . . a a a a a a a a a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . f f . . . . . . . .
a a a a a f f b b a a a a a . .
. c c a a f f b b b a a f a f f
. . . . a a a a a a a a a a . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . a a a . . . . . . . . . .
. f f a f a . . . . . . . . . .
. . . a a a a a a a a a a a a a
. . . . a a a a a a a a a a . .
. . . . . a a a a a a a c . . .
. . . . . . . . . . c c . . . .
. . . . . . . . . c . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . a a a . . .
. . . . . . . . . . a f a f f .
a a a a a a a a a a a a a . . .
. . a a a a a a a a a a . . . .
. . . c a a a a a a a . . . . .
. . . . c c . . . . . . . . . .
. . . . . . c . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
elif chosenBird == 19:
spawnBird(sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 1 1 1 1 1 1 1 1 1
. 5 1 a 1 6 1 f f f f f f a a .
5 1 1 1 1 6 1 1 f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.CommonEider),
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 1 1 1 1 1 1 1 1 1
. 5 1 a 1 6 1 f a a a f f a a .
5 1 1 1 1 6 1 1 f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 1 1 1 1 1 1 1 1 1
. 5 1 a 1 6 1 1 a a a f f a a .
5 1 1 1 1 6 1 1 1 a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 1 1 1 1 1 1 1 1 1
. 5 1 a 1 6 1 1 a a a f f a a .
5 1 1 1 1 6 1 1 1 a a a . . . .
. . . . . . . . 1 1 a a a . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 1 1 1 1 1 1 1 1 1
. 5 1 a 1 6 1 1 a a a f f a a .
5 1 1 1 1 6 1 1 1 a a a . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 1 1 1 1 1 1 1 1 1
. 5 1 a 1 6 1 f a a a f f a a .
5 1 1 1 1 6 1 1 f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . f f f 1 1 1 1 a a a 1 1 1 1
. 5 1 a 1 6 1 1 a a a f f a a .
5 1 1 1 1 6 1 1 f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . 1 1 a a a . . .
. . f f f 1 1 1 1 a a a 1 1 1 1
. 5 1 a 1 6 1 1 a a a f f a a .
5 1 1 1 1 6 1 1 f f f f . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
[img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 1 1 1 1 1 1 f f f . .
. a a f f a a a f 1 6 1 a 1 5 .
. . . . f f f f 1 1 6 1 1 1 1 5
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 1 1 1 1 1 1 f f f . .
. a a f f a a a 1 1 6 1 a 1 5 .
. . . . a a a 1 1 1 6 1 1 1 1 5
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 1 1 1 1 1 1 f f f . .
. a a f f a a a 1 1 6 1 a 1 5 .
. . . . a a a 1 1 1 6 1 1 1 1 5
. . . a a a 1 1 . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 1 1 1 1 1 1 f f f . .
. a a f f a a a 1 1 6 1 a 1 5 .
. . . . a a a 1 1 1 6 1 1 1 1 5
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 1 1 1 1 1 1 1 f f f . .
. a a f f a a a f 1 6 1 a 1 5 .
. . . . f f f f 1 1 6 1 1 1 1 5
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
1 1 1 1 a a a 1 1 1 1 f f f . .
. a a f f a a a 1 1 6 1 a 1 5 .
. . . . f f f f 1 1 6 1 1 1 1 5
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . a a a 1 1 . . . . . . . .
1 1 1 1 a a a 1 1 1 1 f f f . .
. a a f f a a a 1 1 6 1 a 1 5 .
. . . . f f f f 1 1 6 1 1 1 1 5
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
""")],
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . f f f . . . . . . . . . .
. . 5 f a 1 6 . . . . . . . . .
. 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1
. . . . 1 1 f f f f f f 1 . . .
. . . . . f f f f f f f a . . .
. . . . . . . . . . . a . . . .
. . . . . . . . . a a . . . . .
"""),
img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . f f f . . .
. . . . . . . . . 6 1 a f 5 . .
1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 .
. . . 1 f f f f f f 1 1 . . . .
. . . a f f f f f f f . . . . .
. . . . a . . . . . . . . . . .
. . . . . a a . . . . . . . . .
"""),
False,
True,
Math.percent_chance(10),
True)
else:
pass
game.on_update_interval(randint(5000, 6000), on_update_interval)
def on_update_interval2():
behavior(SpriteKind.SurfScoter)
behavior(SpriteKind.WhiteWingedScoter)
behavior(SpriteKind.HarlequinDuck)
behavior(SpriteKind.LongTailedDuck)
behavior(SpriteKind.CommonEider)
behavior(SpriteKind.HeermannsGull)
behavior(SpriteKind.CaliforniaGull)
behavior(SpriteKind.BonapartesGull)
behavior(SpriteKind.CaspianTern)
behavior(SpriteKind.LeastTern)
behavior(SpriteKind.TuftedPuffin)
behavior(SpriteKind.PigeonGuillemot)
behavior(SpriteKind.PomarineJaeger)
behavior(SpriteKind.CommonMurre)
behavior(SpriteKind.RedThroatedLoon)
behavior(SpriteKind.RhinocerosAuklet)
behavior(SpriteKind.PelagicCormorant)
behavior(SpriteKind.NorthernGannet)
behavior(SpriteKind.Brant)
behavior(SpriteKind.SootyShearwater)
game.on_update_interval(randint(5000, 6000), on_update_interval2)
图形编程参考实验程序

通过模拟器,调试与模拟运行

实验场景记录





评论