日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Python代碼,能玩30多款童年游戲!這些有幾個(gè)是你玩過(guò)的

大游戲小游戲有千千萬(wàn)萬(wàn),這些小游戲應(yīng)該只有90后才玩過(guò)和懂吧

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括福綿網(wǎng)站建設(shè)、福綿網(wǎng)站制作、福綿網(wǎng)頁(yè)制作以及福綿網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,福綿網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到福綿省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

兒童節(jié)即將到來(lái),雖然禿頭程序員沒(méi)有頭發(fā),但是童心還是一直都在的,今天就分享一些私藏的童年游戲,十幾行代碼就能進(jìn)入使用Python開發(fā)的小游戲快樂(lè)玩耍!

使用工具:

  • Python3.8、pycharm2020

也可以不安裝pycharm2020也可以直接運(yùn)行~但是安裝了些會(huì)好一點(diǎn)

1.五子棋

源碼:

 
 
 
 
  1. '''游戲開始界面'''
  2. class gameStartUI(QWidget):
  3.     def __init__(self, parent=None, **kwargs):
  4.         super(gameStartUI, self).__init__(parent)
  5.         self.setFixedSize(760, 650)
  6.         self.setWindowTitle('五子棋 —— 九歌')
  7.         self.setWindowIcon(QIcon(cfg.ICON_FILEPATH))
  8.         # 背景圖片
  9.         palette = QPalette()
  10.         palette.setBrush(self.backgroundRole(), QBrush(QPixmap(cfg.BACKGROUND_IMAGEPATHS.get('bg_start'))))
  11.         self.setPalette(palette)
  12.         # 按鈕
  13.         # --人機(jī)對(duì)戰(zhàn)
  14.         self.ai_button = PushButton(cfg.BUTTON_IMAGEPATHS.get('ai'), self)
  15.         self.ai_button.move(250, 200)
  16.         self.ai_button.show()
  17.         self.ai_button.click_signal.connect(self.playWithAI)
  18.         # --聯(lián)機(jī)對(duì)戰(zhàn)
  19.         self.online_button = PushButton(cfg.BUTTON_IMAGEPATHS.get('online'), self)
  20.         self.online_button.move(250, 350)
  21.         self.online_button.show()
  22.         self.online_button.click_signal.connect(self.playOnline)
  23.     '''人機(jī)對(duì)戰(zhàn)'''
  24.     def playWithAI(self):
  25.         self.close()
  26.         self.gaming_ui = playWithAIUI(cfg)
  27.         self.gaming_ui.exit_signal.connect(lambda: sys.exit())
  28.         self.gaming_ui.back_signal.connect(self.show)
  29.         self.gaming_ui.show()
  30.     '''聯(lián)機(jī)對(duì)戰(zhàn)'''
  31.     def playOnline(self):
  32.         self.close()
  33.         self.gaming_ui = playOnlineUI(cfg, self)
  34.         self.gaming_ui.show()
  35.  
  36.  
  37. '''run'''
  38. if __name__ == '__main__':
  39.     app = QApplication(sys.argv)
  40.     handle = gameStartUI()
  41.     font = QFont()
  42.     font.setPointSize(12)
  43.     handle.setFont(font)
  44.     handle.show()
  45.     sys.exit(app.exec_())

2.超級(jí)瑪麗

這個(gè)源碼超級(jí)多多,文件很大很大~需要源碼的同學(xué)關(guān)注小編,并私信“01”領(lǐng)取

 
 
 
 
  1.  else:
  2.         break
  3. Interface(screen, cfg, mode='game_end')
  4. me.display.update()
  5.         clock.tick(cfg.FPS)
  6.     if is_win_flag:

3.炸彈人

源碼:

 
 
 
 
  1. '''游戲主程序'''
  2. def main(cfg):
  3.     # 初始化
  4.     pygame.init()
  5.     pygame.mixer.init()
  6.     pygame.mixer.music.load(cfg.BGMPATH)
  7.     pygame.mixer.music.play(-1, 0.0)
  8.     screen = pygame.display.set_mode(cfg.SCREENSIZE)
  9.     pygame.display.set_caption('Bomber Man —— 九歌')
  10.     # 開始界面
  11.     Interface(screen, cfg, mode='game_start')
  12.     # 游戲主循環(huán)
  13.     font = pygame.font.SysFont('Consolas', 15)
  14.     for gamemap_path in cfg.GAMEMAPPATHS:
  15.         # -地圖
  16.         map_parser = mapParser(gamemap_path, bg_paths=cfg.BACKGROUNDPATHS, wall_paths=cfg.WALLPATHS, blocksize=cfg.BLOCKSIZE)
  17.         # -水果
  18.         fruit_sprite_group = pygame.sprite.Group()
  19.         used_spaces = []
  20.         for i in range(5):
  21.             coordinate = map_parser.randomGetSpace(used_spaces)
  22.             used_spaces.append(coordinate)
  23.             fruit_sprite_group.add(Fruit(random.choice(cfg.FRUITPATHS), coordinate=coordinate, blocksize=cfg.BLOCKSIZE))
  24.         # -我方Hero
  25.         coordinate = map_parser.randomGetSpace(used_spaces)
  26.         used_spaces.append(coordinate)
  27.         ourhero = Hero(imagepaths=cfg.HEROZELDAPATHS, coordinate=coordinate, blocksize=cfg.BLOCKSIZE, map_parser=map_parser, hero_name='ZELDA')
  28.         # -電腦Hero
  29.         aihero_sprite_group = pygame.sprite.Group()
  30.         coordinate = map_parser.randomGetSpace(used_spaces)
  31.         aihero_sprite_group.add(Hero(imagepaths=cfg.HEROBATMANPATHS, coordinate=coordinate, blocksize=cfg.BLOCKSIZE, map_parser=map_parser, hero_name='BATMAN'))
  32.         used_spaces.append(coordinate)
  33.         coordinate = map_parser.randomGetSpace(used_spaces)
  34.         aihero_sprite_group.add(Hero(imagepaths=cfg.HERODKPATHS, coordinate=coordinate, blocksize=cfg.BLOCKSIZE, map_parser=map_parser, hero_name='DK'))
  35.         used_spaces.append(coordinate)
  36.         # -炸彈bomb
  37.         bomb_sprite_group = pygame.sprite.Group()
  38.         # -用于判斷游戲勝利或者失敗的flag
  39.         is_win_flag = False
  40.         # -主循環(huán)
  41.         screen = pygame.display.set_mode(map_parser.screen_size)
  42.         clock = pygame.time.Clock()
  43.         while True:
  44.             dt = clock.tick(cfg.FPS)
  45.             for event in pygame.event.get():
  46.                 if event.type == pygame.QUIT:
  47.                     pygame.quit()
  48.                     sys.exit(-1)
  49.                 # --↑↓←→鍵控制上下左右, 空格鍵丟炸彈
  50.                 elif event.type == pygame.KEYDOWN:
  51.                     if event.key == pygame.K_UP:
  52.                         ourhero.move('up')
  53.                     elif event.key == pygame.K_DOWN:
  54.                         ourhero.move('down')
  55.                     elif event.key == pygame.K_LEFT:
  56.                         ourhero.move('left')
  57.                     elif event.key == pygame.K_RIGHT:
  58.                         ourhero.move('right')
  59.                     elif event.key == pygame.K_SPACE:
  60.                         if ourhero.bomb_cooling_count <= 0:
  61.                             bomb_sprite_group.add(ourhero.generateBomb(imagepath=cfg.BOMBPATH, digitalcolor=cfg.YELLOW, explode_imagepath=cfg.FIREPATH))
  62.             screen.fill(cfg.WHITE)
  63.             # --電腦Hero隨機(jī)行動(dòng)
  64.             for hero in aihero_sprite_group:
  65.                 action, flag = hero.randomAction(dt)
  66.                 if flag and action == 'dropbomb':
  67.                     bomb_sprite_group.add(hero.generateBomb(imagepath=cfg.BOMBPATH, digitalcolor=cfg.YELLOW, explode_imagepath=cfg.FIREPATH))
  68.             # --吃到水果加生命值(只要是Hero, 都能加)
  69.             ourhero.eatFruit(fruit_sprite_group)
  70.             for hero in aihero_sprite_group:
  71.                 hero.eatFruit(fruit_sprite_group)
  72.             # --游戲元素都綁定到屏幕上
  73.             map_parser.draw(screen)
  74.             for bomb in bomb_sprite_group:
  75.                 if not bomb.is_being:
  76.                     bomb_sprite_group.remove(bomb)
  77.                 explode_area = bomb.draw(screen, dt, map_parser)
  78.                 if explode_area:
  79.                     # --爆炸火焰范圍內(nèi)的Hero生命值將持續(xù)下降
  80.                     if ourhero.coordinate in explode_area:
  81.                         ourhero.health_value -= bomb.harm_value
  82.                     for hero in aihero_sprite_group:
  83.                         if hero.coordinate in explode_area:
  84.                             hero.health_value -= bomb.harm_value
  85.             fruit_sprite_group.draw(screen)
  86.             for hero in aihero_sprite_group:
  87.                 hero.draw(screen, dt)
  88.             ourhero.draw(screen, dt)
  89.             # --左上角顯示生命值
  90.             pos_x = showText(screen, font, text=ourhero.hero_name+'(our):'+str(ourhero.health_value), color=cfg.YELLOW, position=[5, 5])
  91.             for hero in aihero_sprite_group:
  92.                 pos_x, pos_y = pos_x+15, 5
  93.                 pos_x = showText(screen, font, text=hero.hero_name+'(ai):'+str(hero.health_value), color=cfg.YELLOW, position=[pos_x, pos_y])
  94.             # --我方玩家生命值小于等于0/電腦方玩家生命值均小于等于0則判斷游戲結(jié)束
  95.             if ourhero.health_value <= 0:
  96.                 is_win_flag = False
  97.                 break
  98.             for hero in aihero_sprite_group:
  99.                 if hero.health_value <= 0:
  100.                     aihero_sprite_group.remove(hero)
  101.             if len(aihero_sprite_group) == 0:
  102.                 is_win_flag = True
  103.                 break
  104.             pygame.display.update()
  105.             clock.tick(cfg.FPS)
  106.         if is_win_flag:
  107.             Interface(screen, cfg, mode='game_switch')
  108.         else:
  109.             break
  110.     Interface(screen, cfg, mode='game_end')
  111.  
  112.  
  113. '''run'''
  114. if __name__ == '__main__':
  115.     while True:
  116.         main(cfg)

4.推箱子

因?yàn)槠?,下面的游戲都不貼源碼了,需要的同學(xué)關(guān)注小編,并私信“01”獲取下載

5.掃雷

上學(xué)時(shí)恨不得一直待在電腦房玩這個(gè)游戲,哈哈哈

第二種AI貪吃蛇

經(jīng)典游戲俄羅斯方塊


當(dāng)前名稱:Python代碼,能玩30多款童年游戲!這些有幾個(gè)是你玩過(guò)的
分享網(wǎng)址:http://www.5511xx.com/article/cddpgdh.html