Exemple #1
0
 def __init__(self):
     # 初始化
     self.clock = pygame.time.Clock()
     self.gameOver = False
     self.screen = screen
     # 创建游戏对象列表
     self.gameObjects = []
     # 载入背景
     self.bg = bg.Bg()
     self.gameObjects.append(self.bg)
     # 载入玩家
     self.me = player.Player(width, height)
     self.gameObjects.append(self.me)
     self.me.group.add(self.me)
     # 载入岩浆
     self.lavalist = []
     for i in range(11):
         self.lavalist.append(
             pygame.image.load('img/lavalist/' + str(i) +
                               '.png').convert_alpha())
     self.lava = lava.Lava(imglist=self.lavalist)
     self.gameObjects.append(self.lava)
     self.lava.group.add(self.lava)
     # 载入地面
     self.landlist = []
     for i in range(11):
         self.landlist.append(
             pygame.image.load('img/landlist/' + str(i) +
                               '.png').convert_alpha())
     self.land = land.Land(imglist=self.landlist)
     self.gameObjects.append(self.land)
     self.land.group.add(self.land)
     # 载入游戏控制器
     self.gameObjects.append(GameController())
Exemple #2
0
def initialize_world(screen_size: int, land_radius: int):
    land_pack = Land_package(land=ld.Land(land_radius, screen_size, 20),
                             color=pg.Color(255, 255, 255))

    life_packs = {}

    pos1 = land_pack.land.map[(0, 0)]
    l1 = lv.Living('Adam', 'Adam', pos1)
    l1.state = lv.LivingState.SEARCHING
    p10 = list(l1.position.neighbors.values())[0]
    p11 = list(p10.neighbors.values())[0]
    p12 = list(p11.neighbors.values())[0]
    p13 = list(p12.neighbors.values())[0]
    l1.path = [p10, p11, p12, p13]
    life_packs[l1] = Living_package(living = l1,
          color = pg.Color(0, 255, 0),\
          img = living_img(l1.uid, land_pack.land.terrain_size))

    pos2 = list(land_pack.land.map.values())[-10]
    l2 = lv.Living('Eve', 'Eve', pos2)
    life_packs[l2] = Living_package(living=l2,
                                    color=pg.Color(255, 0, 0),
                                    img=living_img(
                                        l2.uid, land_pack.land.terrain_size))

    pos3 = list(land_pack.land.map.values())[12]
    l3 = lv.Living('Plissken', 'Plissken', pos3)
    life_packs[l3] = Living_package(living=l3,
                                    color=pg.Color(0, 0, 255),
                                    img=living_img(
                                        l3.uid, land_pack.land.terrain_size))

    return land_pack, life_packs
Exemple #3
0
    def init_random_land(self):
        self.map = []

        for i in range(0, self.mapx):
            r = []
            for b in range(0, self.mapy):
                terrain = 0
                resources = []

                new_land = land.Land(i, b, terrain, resources)
                new_land.randomize_resources()

                r.append(new_land)
            self.map.append(r)
Exemple #4
0
    def init_pics(self):
        # 加载背景与地面
        self.bg_black = pygame.image.load("assets/images/bg_black.png")\
            .convert_alpha()
        self.background_list = [
            pygame.image.load("assets/images/bg_day.png").convert(),
            pygame.image.load("assets/images/bg_night.png").convert()
        ]
        self.land = land.Land(self.bg_size)

        # 游戏开始画面
        # 游戏标题
        self.title = pygame.image.load("assets/images/start/title.png")\
            .convert_alpha()
        self.title_rect = self.title.get_rect()
        self.title_rect.left = (self.width - self.title_rect.width) // 2
        self.title_rect.top = 80

        # 开始按钮
        self.start_image = pygame.image.load("assets/images/start/start.png")\
            .convert_alpha()
        self.start_image_rect = self.start_image.get_rect()
        self.start_image_rect.left = (self.width -
                                      self.start_image_rect.width) // 2
        self.start_image_rect.top = 240

        # 排行榜按钮
        self.score_image = pygame.image.load("assets/images/start/score.png")\
            .convert_alpha()
        self.score_image_rect = self.score_image.get_rect()
        self.score_image_rect.left = (self.width -
                                      self.score_image_rect.width) // 2
        self.score_image_rect.top = 310

        # 设置按钮
        self.setting_image = pygame.image.load("assets/images/start/setting.png")\
            .convert_alpha()
        self.setting_image_rect = self.setting_image.get_rect()
        self.setting_image_rect.left = (self.width -
                                        self.setting_image_rect.width - 10)
        self.setting_image_rect.top = 10

        # 排行画面
        # 奖杯
        self.cups = [
            pygame.image.load(
                "assets/images/rank/gold_cup.png").convert_alpha(),
            pygame.image.load(
                "assets/images/rank/silver_cup.png").convert_alpha(),
            pygame.image.load(
                "assets/images/rank/brooze_cup.png").convert_alpha()
        ]
        self.cup_rects = [(50, 120), (50, 200), (50, 280)]

        # 字体
        self.rank_font = pygame.font.Font("assets/font/hanyihaiyun.ttf", 24)

        # 设置画面
        # 设置面板
        self.board_image = pygame.image.load("assets/images/board.png")\
            .convert_alpha()
        self.board_rect = self.board_image.get_rect()
        self.board_rect.top = 20
        self.board_rect.left = (self.width - self.board_rect.width) // 2

        # 左右箭头
        self.array_right = pygame.image.load("assets/images/start/array.png")\
            .convert_alpha()
        self.array_left = pygame.transform.rotate(self.array_right, 180)

        # 设置字体
        self.setting_font = pygame.font.Font("assets/font/hanyihaiyun.ttf", 16)
        # 小鸟设置
        self.random_text = self.setting_font.render("随机", True, (0, 0, 0))
        self.custom_text = self.setting_font.render("自定义", True, (0, 0, 0))

        # 随机小鸟设置
        self.random_bird = [
            pygame.image.load(
                "assets/images/birds/random_0.png").convert_alpha(),
            pygame.image.load(
                "assets/images/birds/random_1.png").convert_alpha(),
            pygame.image.load(
                "assets/images/birds/random_2.png").convert_alpha()
        ]
        # 自定义小鸟设置
        self.body_text = self.setting_font.render("身体", True, (0, 0, 0))
        self.mouth_text = self.setting_font.render("嘴", True, (0, 0, 0))

        self.R_text = self.setting_font.render("R", True, (0, 0, 0))
        self.G_text = self.setting_font.render("G", True, (0, 0, 0))
        self.B_text = self.setting_font.render("B", True, (0, 0, 0))

        self.customize_bird = setting.Customize_bird()

        # 背景设置
        self.bg_text = self.setting_font.render("背景:", True, (0, 0, 0))
        self.bg_text_list = [
            self.setting_font.render("白天", True, (0, 0, 0)),
            self.setting_font.render("夜晚", True, (0, 0, 0)), self.random_text
        ]

        # 音量设置
        self.volume_text = self.setting_font.render("音量:", True, (0, 0, 0))
        self.sound_text = self.setting_font.render("音效:", True, (0, 0, 0))

        # 游戏画面
        # 准备图片
        self.ready_image = pygame.image.load("assets/images/game/ready.png")\
            .convert_alpha()
        self.ready_rect = self.ready_image.get_rect()
        self.ready_rect.left = (self.width - self.ready_rect.width) // 2
        self.ready_rect.top = self.height * 0.12

        # 点击开始图片
        self.press_start_image = pygame.image.load("assets/images/game/tutorial.png")\
            .convert_alpha()
        self.press_start_rect = self.press_start_image.get_rect()
        self.press_start_rect.left = (self.width -
                                      self.press_start_rect.width) // 2
        self.press_start_rect.top = self.height * 0.5

        # 暂停按钮
        self.pause_image = pygame.image.load("assets/images/game/pause.png")\
            .convert_alpha()
        self.pause_image_rect = self.pause_image.get_rect()
        self.pause_image_rect.left = (self.width -
                                      self.pause_image_rect.width - 10)
        self.pause_image_rect.top = 10

        # 继续按钮
        self.resume_image = pygame.image.load("assets/images/game/resume.png")\
            .convert_alpha()
        self.resume_image_rect = self.resume_image.get_rect()
        self.resume_image_rect.left = (self.width -
                                       self.resume_image_rect.width - 10)
        self.resume_image_rect.top = 10

        # 分享画面
        # 复制到剪贴板
        self.copy_image = pygame.image.load("assets/images/share/copy.png")\
            .convert_alpha()
        self.copy_rect = self.copy_image.get_rect()
        self.copy_rect.left = (self.width - self.copy_rect.width) // 2
        self.copy_rect.top = 110

        # 保存至本地
        self.save_image = pygame.image.load("assets/images/share/save.png")\
            .convert_alpha()
        self.save_rect = self.save_image.get_rect()
        self.save_rect.left = (self.width - self.save_rect.width) // 2
        self.save_rect.top = 200

        # 使用邮件分享
        self.email_image = pygame.image.load("assets/images/share/email.png")\
            .convert_alpha()
        self.email_rect = self.email_image.get_rect()
        self.email_rect.left = (self.width - self.email_rect.width) // 2
        self.email_rect.top = 290

        # 返回
        self.back_image = pygame.image.load("assets/images/share/back.png")\
            .convert_alpha()
        self.back_rect = self.back_image.get_rect()
        self.back_rect.left = (self.width - self.back_rect.width) // 2
        self.back_rect.top = 380

        # 游戏结束画面
        # 游戏结束图片
        self.gameover_image = pygame.image.load("assets/images/end/gameover.png")\
            .convert_alpha()
        self.gameover_image_rect = self.gameover_image.get_rect()
        self.gameover_image_rect.left = (self.width -
                                         self.gameover_image_rect.width) // 2
        self.gameover_image_rect.top = self.height * 0.12

        # 得分面版
        self.score_panel = pygame.image.load("assets/images/end/score_panel.png")\
            .convert_alpha()
        self.score_panel_rect = self.score_panel.get_rect()
        self.score_panel_rect.left = (self.width -
                                      self.score_panel_rect.width) // 2
        self.score_panel_rect.top = self.height * 0.24

        # 奖牌图片
        self.white_medal = pygame.image.load("assets/images/end/medal0.png")\
            .convert_alpha()
        self.gold_medal = pygame.image.load("assets/images/end/medal1.png")\
            .convert_alpha()
        self.silver_medal = pygame.image.load("assets/images/end/medal2.png")\
            .convert_alpha()
        self.brooze_medal = pygame.image.load("assets/images/end/medal3.png")\
            .convert_alpha()
        self.medal_rect = (57, 165)

        # 新纪录图片
        self.new_image = pygame.image.load("assets/images/end/new.png")\
            .convert_alpha()
        self.new_rect = self.new_image.get_rect()
        self.new_rect.left, self.new_rect.top = 150, 139

        # 再来一次图片
        self.retry_image = pygame.image.load("assets/images/end/retry.png")\
            .convert_alpha()
        self.retry_rect = self.retry_image.get_rect()
        self.retry_rect.left = (self.width - self.retry_rect.width) // 2
        self.retry_rect.top = self.height * 0.5

        # 分享按钮
        self.share_image = pygame.image.load("assets/images/end/share.png")\
            .convert_alpha()
        self.share_rect = self.share_image.get_rect()
        self.share_rect.left = (self.width - self.share_rect.width) // 2
        self.share_rect.top = self.retry_rect.top + 30

        # 主菜单按钮
        self.menu_image = pygame.image.load("assets/images/end/menu.png")\
            .convert_alpha()
        self.menu_rect = self.menu_image.get_rect()
        self.menu_rect.left = (self.width - self.menu_rect.width) // 2
        self.menu_rect.top = self.retry_rect.top + 60
Exemple #5
0
# -*- coding: UTF-8 -*-
from tkinter import *
import win32ui
import sqlite3
import sys
import os
import land

land1 = land.Land()
land1.main()


def build1():
    def destory():
        top.destroy()

    top = Toplevel()
    top.title('保存')
    lab = Label(top, text='文件名')
    lab.grid(row=0, column=0, sticky='w')
    entry = Entry(top)
    entry.grid(row=0, column=1)
    button = Button(top, text='确认', command=destory)
    button.grid(row=0, column=2)
    filename = entry.get()
    fp = open(filename, 'a+')
    root.title(filename)
    fp.close()


def build():