不卡一区二区三区四区_乱中年女人伦av一区二区_美洲天堂一区二卡三卡四卡视频 _国产一区在线精品_91精品国产品国语在线不卡_99在线精品视频_99这里都是精品_国产99久久精品_99re成人在线_亚洲二区在线视频_久久先锋资源网_国产69精品久久久久毛片_亚洲一区二区三区视频在线_91小视频免费观看_欧美制服丝袜第一页_欧美日韩视频在线一区二区

您現在所在的位置:首頁 >關于奇酷 > 媒體報道 > Python版羊了個羊,代碼不到100行

Python版羊了個羊,代碼不到100行

來源:奇酷教育 發表于:

Python版羊了個羊,代碼不到100行

  Python版羊了個羊,代碼也很簡單,一共不到100行。代碼已開源:
 
  python666.cn/c/8
 
 
  1.
 
  游戲用了 pygame-zero 這個庫(所以才能這么少的代碼實現),運行前需要安裝 pgzero 庫:
 
  pip install pgzero
 ?。ɑ蛘咄ㄟ^ IDE 安裝)
 
 
  2.
 
  運行時需要帶上項目里的 images 和 music 文件夾(你可以替換里面的圖片和音樂)
 
 
  3.
 
  每一張牌是一個 Actor 對象(相當于一般游戲開發中的精靈類),具有種類(12種各12張)、層級、狀態(不可點/可點/已收集)等屬性。
 
  開局時隨機打亂后擺放,根據種類顯示不同圖片。
 
  除了最上層的牌可點,其余均不可點。
 
  # 初始化牌組,12*12張牌隨機打亂
  ts = list(range(1, 13))*12
  random.shuffle(ts)
  n = 0
  for k in range(7):    # 7層
      for i in range(7-k):    #每層減1行
          for j in range(7-k):
              t = ts[n]        #獲取排種類
              n += 1
              tile = Actor(f'tile{t}')       #使用tileX圖片創建Actor對象
              tile.pos = 120 + (k * 0.5 + j) * tile.width, 100 + (k * 0.5 + i) * tile.height * 0.9    #設定位置
              tile.tag = t            #記錄種類
              tile.layer = k          #記錄層級
              tile.status = 1 if k == 6 else 0        #除了最頂層,狀態都設置為0(不可點)這里是個簡化實現
              tiles.append(tile)
 
  4.
 
  判斷鼠標點擊的位置是否處于某張可點的牌內,是的話就從所有牌列表中移除,加到下方牌堆列表里。
 
  然后遍歷與這張牌有重疊的下一層牌,對于每張下層牌,反過來檢查是否有其他上層牌覆蓋它,如果沒有,就把它變成可點。
 
  for tile in reversed(tiles):    #逆序循環是為了先判斷上方的牌,如果點擊了就直接跳出,避免重復判定
      if tile.status == 1 and tile.collidepoint(pos):
          # 狀態1可點,并且鼠標在范圍內
          tile.status = 2
          tiles.remove(tile)
          diff = [t for t in docks if t.tag != tile.tag]    #獲取牌堆內不相同的牌
          if len(docks) - len(diff) < 2:    #如果相同的牌數量<2,就加進牌堆
              docks.append(tile)
          else:             #否則用不相同的牌替換牌堆(即消除相同的牌)
              docks = diff
          for down in tiles:      #遍歷所有的牌
              if down.layer == tile.layer - 1 and down.colliderect(tile):   #如果在此牌的下一層,并且有重疊
                  for up in tiles:      #那就再反過來判斷這種被覆蓋的牌,是否還有其他牌覆蓋它
                      if up.layer == down.layer + 1 and up.colliderect(down):     #如果有就跳出
                          break
                  else:      #如果全都沒有,說明它變成了可點狀態
                      down.status = 1
          return
 
  5.
 
  下方牌堆達到7張為失敗,上方沒有剩牌則為勝利
 
  # 達到7張,失敗
  if len(docks) >= 7:
      screen.blit('end', (0, 0))
  # 沒有剩牌,勝利
  if len(tiles) == 0:
      screen.blit('win', (0, 0))
 
  6.
 
  本demo距離《羊了個羊》尚有改進空間,有興趣的小伙伴可自行嘗試擴展,包括但不限于:
 
  道具功能
 
  增加收牌的動畫效果(可以用 pgzero 提供的 animate 方法)
 
  更多的關卡布局
 
  打包成exe
 
  游戲排行榜
 
  當然還有游戲最最核心的部分:觀看廣告
 
  代碼已開源:
  python666.cn/c/8
不卡一区二区三区四区_乱中年女人伦av一区二区_美洲天堂一区二卡三卡四卡视频 _国产一区在线精品_91精品国产品国语在线不卡_99在线精品视频_99这里都是精品_国产99久久精品_99re成人在线_亚洲二区在线视频_久久先锋资源网_国产69精品久久久久毛片_亚洲一区二区三区视频在线_91小视频免费观看_欧美制服丝袜第一页_欧美日韩视频在线一区二区
亚洲欧洲一区二区在线播放| 亚洲一二三专区| 亚洲国产另类久久久精品极度| 91视频最新| 91亚洲精华国产精华精华液| 成人手机电影网| 精品亚洲国内自在自线福利| 国产自产高清不卡| 国产91精品入口| 5566中文字幕一区二区| 国产视频一区二区三区四区| 蜜桃在线一区二区三区精品| 香蕉久久免费影视| 精品1区2区3区| 欧美精品一区二区高清在线观看| 国产校园另类小说区| 亚洲婷婷国产精品电影人久久| 一区二区三区.www| 久久精品国产一区二区三 | 麻豆精品一区二区三区| 久久97超碰色| 99re热视频精品| 久久精品国产美女| 在线一区二区三区四区五区 | 国产米奇在线777精品观看| 丰满少妇在线播放bd日韩电影| 99精品欧美一区二区三区综合在线| 国产视频99| 欧美主播一区二区三区| 久久综合成人精品亚洲另类欧美| 亚洲精品久久嫩草网站秘色| 精品制服美女丁香| 国产超碰91| 欧美性欧美巨大黑白大战| 国产视频一区在线观看 | 2022国产精品| 欧美自拍资源在线| 欧美精品久久一区| 自拍av一区二区三区| 韩国精品主播一区二区在线观看| 91啦中文在线观看| 色婷婷激情久久| 久久久91精品国产一区二区精品| 亚洲bt欧美bt精品777| 成人h动漫精品| 亚洲蜜桃在线| 国产三级欧美三级| 精彩视频一区二区| 免费国产在线精品一区二区三区| 欧美精品123区| 亚洲图片欧美综合| 147欧美人体大胆444| 欧美色偷偷大香| 亚洲精品视频自拍| 国产成人精品一区二区三区四区 | 国产美女在线观看一区| 欧美精品v日韩精品v国产精品| 欧美酷刑日本凌虐凌虐| 亚洲激情六月丁香| 97精品视频在线观看自产线路二| 色视频一区二区| 亚洲欧美影音先锋| 成人av在线网站| 色天天综合色天天久久| 亚洲老司机在线| 99蜜桃在线观看免费视频网站| 欧美伊人精品成人久久综合97| 亚洲丝袜另类动漫二区| 91在线播放网址| 欧美一级黄色大片| 日韩av中文字幕一区二区| 激情伦成人综合小说| 精品国产乱码久久| 国产美女娇喘av呻吟久久| 一区二区免费电影| 亚洲精选视频在线| 精品一卡二卡三卡四卡日本乱码 | 国产成人亚洲精品狼色在线| 亚洲精品在线视频观看| 亚洲欧洲综合另类在线| 成人9ⅰ免费影视网站| 日韩女优av电影在线观看| 蜜臀精品久久久久久蜜臀| 欧洲精品一区色| 国产精品不卡在线观看| 91性感美女视频| 欧美zozo另类异族| 国产成人在线视频网站| 欧美日韩国产一二三| 天堂成人免费av电影一区| 日韩欧美激情一区二区| 悠悠色在线精品| 欧美理论一区二区| 一区二区三区在线高清| 久久久7777| 亚洲男人电影天堂| 久久久久久久久久码影片| 国产精品久久久久久久久久久免费看| 91aaaa| 国产亚洲欧美在线| 91香蕉视频在线| 久久精品亚洲精品国产欧美 | 精品福利在线导航| www.爱久久.com| 26uuu亚洲| 91蝌蚪porny| 国产精品麻豆久久久| 粉嫩高清一区二区三区精品视频| 国产亚洲精品中文字幕| 国产精品国模大尺度私拍| 国产精品免费丝袜| 欧美欧美一区二区| 亚洲国产精品影院| 色猫猫国产区一区二在线视频| 欧美aaaaaa午夜精品| 欧美午夜精品久久久久久超碰| 精品亚洲免费视频| 精品捆绑美女sm三区| aa成人免费视频| 亚洲三级小视频| 一本高清dvd不卡在线观看| 精品一区二区三区香蕉蜜桃| 日韩一区二区在线观看视频| 99久久免费精品| 亚洲日本欧美天堂| 色综合一个色综合| 国产福利一区二区三区在线视频| 亚洲精品一区二区三区影院 | 日韩三级视频在线观看| 999国产在线| 洋洋av久久久久久久一区| 色999日韩国产欧美一区二区| 国产一区二区三区电影在线观看 | 色综合久久88色综合天天提莫| 视频一区免费在线观看| 欧美日本韩国一区二区三区视频| 国产成人av自拍| 中文字幕在线一区二区三区| 神马一区二区影院| 国产精品自在欧美一区| 欧美国产1区2区| 亚洲精品久久区二区三区蜜桃臀| 麻豆国产一区二区| 国产日韩精品一区| 一本色道亚洲精品aⅴ| 波多野结衣视频一区| 亚洲免费av在线| 91麻豆精品91久久久久同性| 国产精品免费在线播放| 青青青伊人色综合久久| 国产亚洲精品bt天堂精选| 五月天久久狠狠| 丁香婷婷综合激情五月色| 亚洲精品久久久蜜桃| 日韩欧美一区二区免费| 日本一区二区三区免费观看| 国产盗摄女厕一区二区三区| 亚洲日本在线a| 日韩欧美在线观看一区二区三区| 欧美一区亚洲二区| 国产高清在线精品| 亚洲mv在线观看| 国产精品污污网站在线观看| 欧美系列在线观看| 欧美乱偷一区二区三区在线| 成人精品国产一区二区4080| 午夜精品影院在线观看| 久久久www成人免费无遮挡大片| 一级日韩一区在线观看| 国产精品我不卡| 国产九色精品成人porny| 曰韩精品一区二区| 国产亚洲婷婷免费| 6080日韩午夜伦伦午夜伦| 日本成人黄色| 国产激情一区二区三区在线观看| 国内精品久久久久影院色| 亚洲一区二区在线免费看| 欧美激情一区二区三区不卡| 91麻豆精品国产| 91久久一区二区| 日韩jizzz| 国产九区一区在线| 成人ar影院免费观看视频| 蜜臀久久99精品久久久久久9| 亚洲欧美日韩电影| 久久久不卡影院| 欧美不卡一区二区三区四区| 欧美性感一区二区三区| 亚洲欧美一区二区原创| 久久综合久久久| 福利视频久久| 96成人在线视频| 不卡的av中国片| 懂色一区二区三区免费观看| 精品一区二区三区欧美| 日韩高清在线一区| 午夜精品久久久久久久99水蜜桃| 亚洲欧洲三级电影| 国产精品久久久久三级|