コード例 #1
0
    def showGameover(self):
        pos = ((game.SCREEN_SIZE[0] - 320) / 2,
               (game.SCREEN_SIZE[1] - 600) / 2)
        self.widgets.append(
            widgets.Icon(pygame.Rect(pos[0], pos[1], 320, 600),
                         game.assets['img/gameover.png']))

        pos = (pos[0] + 10, pos[1] + 10)
        rect = pygame.Rect(pos[0], pos[1], 300, 40)
        self.widgets.append(widgets.Text(rect, 'Game over!', font='gameover1'))

        pollution = len([
            i for i in range(game.corruption.size[0] * game.corruption.size[1])
            if game.corruption.surface[i] > 1
        ])

        rect.top += 50
        self.widgets.append(
            widgets.Text(rect,
                         'You survived %d nights.' %
                         int(game.clock / game.dayTicks),
                         font='gameover2'))
        rect.top += 50
        self.widgets.append(
            widgets.Text(rect,
                         'You killed %d defenseless people.' %
                         game.spawnedTotal,
                         font='gameover2'))
        rect.top += 50
        self.widgets.append(
            widgets.Text(rect,
                         'You destroyed %d acres of land.' % pollution,
                         font='gameover2'))
        rect.top += 50
        self.widgets.append(widgets.Text(rect, 'And why?', font='gameover3'))
        rect.top += 50
        self.widgets.append(
            widgets.Text(rect,
                         'They were only defending themselves.',
                         font='gameover2'))
        rect.top += 100

        def quitCb(*_):
            game.gameIsRunning = False

        self.widgets.append(
            widgets.TextButton(rect,
                               'Exit.',
                               font='gameover3',
                               callback=quitCb))
        rect.top += 50

        def mainCb(*_):
            self.nextScene = self.parent

        self.widgets.append(
            widgets.TextButton(rect,
                               'Main menu.',
                               font='gameover3',
                               callback=mainCb))
コード例 #2
0
    def showGamePause(self):
        if game.isPaused:
            #Hiding menu
            game.isPaused = False

            for n in self.pausedWidgets:
                self.widgets.remove(n)

            self.pausedWidgets = None
        else:
            self.pausedWidgets = []
            pos = ((game.SCREEN_SIZE[0] - 320) / 2,
                   (game.SCREEN_SIZE[1] - 600) / 2)
            self.pausedWidgets.append(
                widgets.Icon(pygame.Rect(pos[0], pos[1], 320, 600),
                             game.assets['img/gameover.png']))

            pos = (pos[0] + 10, pos[1] + 10)
            rect = pygame.Rect(pos[0], pos[1], 300, 40)
            self.pausedWidgets.append(
                widgets.Text(rect, 'Paused.', font='gameover1'))

            pollution = len([
                i for i in range(game.corruption.size[0] *
                                 game.corruption.size[1])
                if game.corruption.surface[i] > 1
            ])

            def quitCb(*_):
                game.gameIsRunning = False

            def resumeCb(*_):
                self.showGamePause()

            def mainCb(*_):
                self.nextScene = self.parent

            rect.top += 300
            self.pausedWidgets.append(
                widgets.TextButton(rect,
                                   'Resume.',
                                   font='gameover3',
                                   callback=resumeCb))
            rect.top += 50
            self.pausedWidgets.append(
                widgets.TextButton(rect,
                                   'Exit to menu.',
                                   font='gameover3',
                                   callback=mainCb))
            rect.top += 50
            self.pausedWidgets.append(
                widgets.TextButton(rect,
                                   'Exit game.',
                                   font='gameover3',
                                   callback=quitCb))

            for n in self.pausedWidgets:
                self.widgets.append(n)

            game.isPaused = True
コード例 #3
0
    def __init__(self, master: wx.BookCtrl):
        super(InfoTab, self).__init__(parent=master, name='PNL_ITEM_INFO')
        self.panel = master.GetParent()

        leftSizer = wx.BoxSizer(wx.VERTICAL)
        rightSizer = wx.BoxSizer(wx.VERTICAL)

        # icon path
        self.icon = wx.FilePickerCtrl(parent=self, wildcard='*.png')
        leftSizer.Add(self.icon)

        # calc ent count
        self.calcEntCount = widgets.TextButton(
            parent=self, label=loc('root.book.itempage.book.info.cec.label'))

        # main sizer
        sizer = wx.BoxSizer()
        sizer.Add(leftSizer, wx.SizerFlags(1).Expand())
        sizer.Add(rightSizer, wx.SizerFlags(1).Expand())
        self.SetSizer(sizer)
コード例 #4
0
WINDOW_WIDTH = 1024
WINDOW_HEIGHT = 728

pygame.init()
pygame.font.init
screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
clock = pygame.time.Clock()
FPS = 60
running = True

if __name__ == "__main__":
    panel = widgets.Panel(core.Grid((3, 7), (WINDOW_WIDTH, WINDOW_HEIGHT)),
                          None, None, (0, 0))
    panel.set_color((100, 100, 100, 255))
    buttons = [
        widgets.TextButton(panel, (1, n), core.Text("Button " + str(n), 32))
        for n in range(7)
    ]
    [x.set_image("gfx/bg1.bmp") for x in buttons]

    def redraw():
        pygame.display.flip()
        screen.fill((0, 0, 0))
        panel.draw(screen)
        [x.draw(screen) for x in buttons]


while (running):
    clock.tick(FPS)
    redraw()
    for e in pygame.event.get():
コード例 #5
0
pygame.font.init
screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
clock = pygame.time.Clock()
FPS = 60
running = True

if __name__ == "__main__":
    panel = widgets.Panel(core.Grid((3, 7), (WINDOW_WIDTH, WINDOW_HEIGHT)),
                          None, None, (0, 0))
    panel.set_color((55, 55, 55, 255))
    midpanel = widgets.Panel(
        core.Grid((1, 1), (panel.get_cell_width(), panel.get_cell_height())),
        panel, (1, 1), None)
    midpanel.set_color((0, 0, 0, 255))
    midpanel.set_span((0, 6))
    button = widgets.TextButton(midpanel, (0, 0),
                                core.Text("Button " + str(0), 32))
    button.set_color((0, 100, 0, 255))
    button.set_border((255, 0, 0, 255), 16)

    def redraw():
        pygame.display.flip()
        screen.fill((0, 0, 0))
        panel.draw(screen)
        midpanel.draw(screen)
        button.draw(screen)


while (running):
    clock.tick(FPS)
    redraw()
    for e in pygame.event.get():