精品久久久久久久久久久院品网_男女男精品视频_日韩**一区毛片_在线免费不卡电影_亚洲少妇屁股交4_久久国内精品视频_日韩一区二区三免费高清_亚洲成人手机在线_91看片淫黄大片一级在线观看_中文字幕亚洲在_日本一区二区在线不卡_欧美酷刑日本凌虐凌虐_理论电影国产精品_国产精品视频yy9299一区_99久久精品免费观看_国产精品久久三

您現在所在的位置:首頁 >關于奇酷 > 媒體報道 > 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
精品久久久久久久久久久院品网_男女男精品视频_日韩**一区毛片_在线免费不卡电影_亚洲少妇屁股交4_久久国内精品视频_日韩一区二区三免费高清_亚洲成人手机在线_91看片淫黄大片一级在线观看_中文字幕亚洲在_日本一区二区在线不卡_欧美酷刑日本凌虐凌虐_理论电影国产精品_国产精品视频yy9299一区_99久久精品免费观看_国产精品久久三
先锋影音一区二区三区| 三级亚洲高清视频| 成人av免费在线看| 久久91精品久久久久久秒播| 亚洲午夜av在线| 亚洲一区二区在线免费看| 国产婷婷色一区二区三区在线| xf在线a精品一区二区视频网站| 欧美综合欧美视频| 欧美色区777第一页| 亚洲人成在线观看一区二区| 色婷婷综合久久久中文一区二区| 国产一区二区三区美女| 中文字幕一区二区三| 精品一区久久久| 婷婷激情综合网| 欧美精品在线一区二区三区| 91亚洲国产成人精品一区二区三 | 青青草成人在线观看| 欧美一区二区三区精美影视 | 日韩成人午夜精品| 日韩在线卡一卡二| 国产精品亚洲综合一区在线观看| 九九久久精品视频 | 欧美不卡一区二区三区四区| 久久免费视频一区| 亚洲日本韩国一区| 日韩电影在线观看网站| 99久久久国产精品免费蜜臀| 精品欧美一区二区精品久久| 中文字幕日韩精品一区二区| 欧美大黄免费观看| 无码av中文一区二区三区桃花岛| 国产乱码精品一区二区三区五月婷 | 日韩免费av电影| 日韩精品一区二区三区蜜臀| 亚洲欧洲精品一区二区三区| 五月天激情综合网| 波多野结衣成人在线| 色综合久久88色综合天天免费| 日韩一级免费观看| 午夜精品福利久久久| 91精品久久久久久蜜桃| 欧美日韩夫妻久久| 亚洲v精品v日韩v欧美v专区| 97视频资源在线观看| 欧美性欧美巨大黑白大战| 中文字幕日本乱码精品影院| 国产99久久久久| 在线观看免费一区| 日韩中文字幕区一区有砖一区| yellow视频在线观看一区二区| 欧美日韩免费观看一区二区三区 | 91福利区一区二区三区| 一区二区三区在线视频免费| 91原创在线视频| 欧美一区日本一区韩国一区| 日本不卡视频在线| 在线观看亚洲视频啊啊啊啊| 一区二区三区欧美视频| 久久精品一二三区| 一区二区三区毛片| 日韩精品第一页| 亚洲一区二区三区免费视频| 久久福利电影| 亚洲成人资源网| 欧美色中文字幕| 丰满少妇在线播放bd日韩电影| 8x8x8国产精品| 91在线播放网址| 亚洲裸体xxx| 色婷婷亚洲婷婷| 风间由美一区二区av101| 精品少妇一区二区| 国产精品一区二区三区精品| 综合久久给合久久狠狠狠97色| 欧美日韩一区二区三区在线视频| 一区二区三区在线不卡| 一区国产精品| 影音先锋亚洲视频| 亚洲自拍偷拍九九九| 国产欧美在线观看一区| 精品日产卡一卡二卡麻豆| 蜜桃免费一区二区三区| 99精品欧美一区二区三区小说| 丝袜诱惑制服诱惑色一区在线观看| 国产精品人成在线观看免费 | 国产一区二区导航在线播放| 久久综合久久久久88| 欧美日韩在线播放三区四区| 亚洲美女搞黄| 在线国产精品网| 日本在线观看一区二区| 国内精品久久久久久久果冻传媒| 欧美精品在线一区二区三区| 色94色欧美sute亚洲线路一久| 三区精品视频观看| 神马影院一区二区三区| 日本一区二区三区视频在线观看 | 国产精品久久一区二区三区| 不卡欧美aaaaa| 99精品视频一区| 国产精华一区二区三区| 国产精品青青草| 久久66热这里只有精品| 日本精品一区| 欧美在线观看一区二区| 色天天综合久久久久综合片| 中文一区二区在线观看| 91精品国产色综合久久| 4438x成人网最大色成网站| 影音先锋欧美资源| 日韩免费av电影| 国产精品一级久久久| 99精品视频在线免费观看| 99精品国产91久久久久久| 国产超碰91| 日韩亚洲视频| 91麻豆精品国产无毒不卡在线观看| 日韩欧美国产综合| 久久久久久久久久久99999| 亚洲精品在线观看网站| 久久久精品国产免费观看同学| 精品三级av在线| 国产欧美一区二区在线观看| 精品亚洲免费视频| 久久av资源网| 91小视频在线观看| 亚洲7777| 91行情网站电视在线观看高清版| 欧洲视频一区二区| 精品国产一区二区三区久久久蜜月 | 国产在线一区二区| 91亚洲永久精品| 亚洲精品久久区二区三区蜜桃臀| 欧美色综合影院| 国产精品色眯眯| 久久精品国产99久久6| 99国产精品久久久| 亚洲欧美日韩国产成人综合一二三区| 色8久久精品久久久久久蜜| 日韩精品中文字幕一区二区三区| 中文字幕乱码一区二区免费| 老汉av免费一区二区三区| 精品一区二区国产| 国产日韩欧美综合在线| 国产高清精品一区| 国产精品视频你懂的| 99一区二区三区| 国产亚洲欧美中文| 91一区二区三区在线观看| 91黄色激情网站| 亚洲一区二区影院| 欧美精品一区二区三区在线看午夜 | 国产麻豆日韩欧美久久| 久久免费看av| www成人在线观看| 国产美女久久久久| 欧美日韩精品一区| 久久久久亚洲综合| 99久久免费国产| 日韩欧美一区在线观看| 亚洲另类春色国产| 97人人澡人人爽| 在线91免费看| 色综合久久久久网| 日韩亚洲欧美一区二区三区| 国产精品伊人色| 日韩免费在线观看| 色综合久久88色综合天天免费| 亚洲日本va午夜在线电影| 精品国产一区二区三区麻豆免费观看完整版 | 一个色综合网站| 欧美日韩精品中文字幕一区二区| 日本韩国一区二区三区| 欧美日韩在线高清| 国产在线精品一区二区三区》| 日韩av一区二区在线影视| 日韩中文字幕不卡| 国产高清在线观看免费不卡| 51精品国产人成在线观看| 成人3d动漫一区二区三区91| 国产午夜精品一区| 91成人看片片| 久久精品亚洲一区二区三区浴池| 亚洲人成网站影音先锋播放| 亚洲成人自拍一区| 粉嫩一区二区三区在线看| 国产99视频精品免费视频36| 亚洲一区二区三区涩| 日韩欧美一级二级| 亚洲人成人一区二区在线观看| 五月婷婷欧美视频| 91麻豆swag| 91精品久久久久久蜜臀| 亚洲欧美激情插| 91一区二区在线观看| 欧美午夜不卡视频| 五月天亚洲精品| 国产一区二区视频在线免费观看|