當前位置: 首頁>>代碼示例>>Python>>正文


Python Gui.aff方法代碼示例

本文整理匯總了Python中Gui.aff方法的典型用法代碼示例。如果您正苦於以下問題:Python Gui.aff方法的具體用法?Python Gui.aff怎麽用?Python Gui.aff使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Gui的用法示例。


在下文中一共展示了Gui.aff方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: __init__

# 需要導入模塊: import Gui [as 別名]
# 或者: from Gui import aff [as 別名]
class Game:
    def __init__(self, mx=10, my=10):
        self.board = Board(mx, my)
        self.gui = Gui(mx, my)
        self.last = sdl2.SDLK_UP
        self.dir = {
            sdl2.SDLK_UP: [-1, 0],
            sdl2.SDLK_DOWN: [1, 0],
            sdl2.SDLK_LEFT: [0, -1],
            sdl2.SDLK_RIGHT: [0, 1],
            }

    def start(self):
        run = True
        self.board.init_board()
        while run:
            for e in sdl2.ext.get_events():
                if e.type == sdl2.SDL_QUIT:
                    exit()
                if e.type == sdl2.SDL_KEYDOWN:
                    k = e.key.keysym.sym
                    if k in self.dir.keys() and self.last != k:
                        self.last = self.check_key(k)
                    if k == sdl2.SDLK_ESCAPE:
                        self.quit()
            run = self.move(self.dir[self.last])
            self.gui.aff(self.board.get_map())
            sdl2.SDL_Delay(200)
        sdl2.ext.quit()
        return 0

    def check_key(self, k):
        l = self.dir[self.last]
        n = self.dir[k]
        return self.last if n[0] == l[0] or n[1] == l[1] else k

    def move(self, d):
        h = self.board.get_head()
        n = (h[0] + d[0], h[1] + d[1])
        self.board.set_head(n[0], n[1])
        if self.board.body.is_body(n):
            return False
        if self.board.apple.is_apple(n):
            self.board.body.rise(d)
            self.board.apple.set_apple(self.board.get_map())
        elif self.board.cherry.is_cherry(self.board.get_map(), n):
            self.board.body.rise(d)
            self.board.cherry.set_cherry(self.board.get_map())
        else:
            self.board.body.move(d)
        self.board.update_board()
        ret = self.board.is_wall(n)
        return ret

    def aff(self):
        self.gui.draw(self.board)

    def quit(self):
        exit()
開發者ID:djavrell,項目名稱:snake,代碼行數:61,代碼來源:Game.py


注:本文中的Gui.aff方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。