91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4.55KB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2024-05-05
  • 語言: Python
  • 標簽: 貪吃蛇??游戲??

資源簡介

【實例簡介】
【實例
【核心代碼】

資源截圖

代碼片段和文件信息

#?encoding:?utf-8
import?pygame
import?sys
import?random

#?全局定義
SCREEN_X?=?600
SCREEN_Y?=?600


#?蛇類
#?點以25為單位
class?Snake(object):
????#?初始化各種需要的屬性?[開始時默認向右/身體塊x5]
????def?__init__(self):
????????self.dirction?=?pygame.K_RIGHT
????????self.body?=?[]
????????for?x?in?range(5):
????????????self.addnode()

????#?無論何時?都在前端增加蛇塊
????def?addnode(self):
????????left?top?=?(0?0)
????????if?self.body:
????????????left?top?=?(self.body[0].left?self.body[0].top)
????????node?=?pygame.Rect(left?top?25?25)
????????if?self.dirction?==?pygame.K_LEFT:
????????????node.left?-=?25
????????elif?self.dirction?==?pygame.K_RIGHT:
????????????node.left?+=?25
????????elif?self.dirction?==?pygame.K_UP:
????????????node.top?-=?25
????????elif?self.dirction?==?pygame.K_DOWN:
????????????node.top?+=?25
????????self.body.insert(0?node)

????#?刪除最后一個塊
????def?delnode(self):
????????self.body.pop()

????#?死亡判斷
????def?isdead(self):
????????#?撞墻
????????if?self.body[0].x?not?in?range(SCREEN_X):
????????????return?True
????????if?self.body[0].y?not?in?range(SCREEN_Y):
????????????return?True
????????#?撞自己
????????if?self.body[0]?in?self.body[1:]:
????????????return?True
????????return?False

????#?移動!
????def?move(self):
????????self.addnode()
????????self.delnode()

????#?改變方向?但是左右、上下不能被逆向改變
????def?changedirection(self?curkey):
????????LR?=?[pygame.K_LEFT?pygame.K_RIGHT]
????????UD?=?[pygame.K_UP?pygame.K_DOWN]
????????if?curkey?in?LR+UD:
????????????if?(curkey?in?LR)?and?(self.dirction?in?LR):
????????????????return
????????????if?(curkey?in?UD)?and?(self.dirction?in?UD):
????????????????return
????????????self.dirction?=?curkey


#?食物類
#?方法:?放置/移除
#?點以25為單位
class?Food:
????def?__init__(self):
????????self.rect?=?pygame.Rect(-25?0?25?25)

????def?remove(self):
????????self.rect.x?=?-25

????def?set(self):
????????if?self.rect.x?==?-25:
????????????allpos?=?[]
????????????#?不靠墻太近?25?~?SCREEN_X-25?之間
????????????for?pos?in?range(25?SCREEN_X-25?25):
????????????????allpos.append(pos)
????????????self.rect.left?=?random.choice(allp

評論

共有 條評論