溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python代碼中能玩的童年游戲有哪些

發(fā)布時(shí)間:2021-10-09 15:49:02 來(lái)源:億速云 閱讀:115 作者:柒染 欄目:編程語(yǔ)言

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Python代碼,能玩30多款童年游戲有哪些,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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

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

使用工具:

  • Python3.8、pycharm2020

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

1.五子棋

Python代碼中能玩的童年游戲有哪些

源碼:

'''游戲開(kāi)始界面''' class gameStartUI(QWidget):     def __init__(self, parent=None, **kwargs):         super(gameStartUI, self).__init__(parent)         self.setFixedSize(760, 650)         self.setWindowTitle('五子棋 —— 九歌')         self.setWindowIcon(QIcon(cfg.ICON_FILEPATH))         # 背景圖片         palette = QPalette()         palette.setBrush(self.backgroundRole(), QBrush(QPixmap(cfg.BACKGROUND_IMAGEPATHS.get('bg_start'))))         self.setPalette(palette)         # 按鈕         # --人機(jī)對(duì)戰(zhàn)         self.ai_button = PushButton(cfg.BUTTON_IMAGEPATHS.get('ai'), self)         self.ai_button.move(250, 200)         self.ai_button.show()         self.ai_button.click_signal.connect(self.playWithAI)         # --聯(lián)機(jī)對(duì)戰(zhàn)         self.online_button = PushButton(cfg.BUTTON_IMAGEPATHS.get('online'), self)         self.online_button.move(250, 350)         self.online_button.show()         self.online_button.click_signal.connect(self.playOnline)     '''人機(jī)對(duì)戰(zhàn)'''     def playWithAI(self):         self.close()         self.gaming_ui = playWithAIUI(cfg)         self.gaming_ui.exit_signal.connect(lambda: sys.exit())         self.gaming_ui.back_signal.connect(self.show)         self.gaming_ui.show()     '''聯(lián)機(jī)對(duì)戰(zhàn)'''     def playOnline(self):         self.close()         self.gaming_ui = playOnlineUI(cfg, self)         self.gaming_ui.show()     '''run''' if __name__ == '__main__':     app = QApplication(sys.argv)     handle = gameStartUI()     font = QFont()     font.setPointSize(12)     handle.setFont(font)     handle.show()     sys.exit(app.exec_())

2.超級(jí)瑪麗

 else:         break Interface(screen, cfg, mode='game_end')  me.display.update()         clock.tick(cfg.FPS)     if is_win_flag:

Python代碼中能玩的童年游戲有哪些

3.炸彈人

Python代碼中能玩的童年游戲有哪些

源碼:

'''游戲主程序''' def main(cfg):     # 初始化     pygame.init()     pygame.mixer.init()     pygame.mixer.music.load(cfg.BGMPATH)     pygame.mixer.music.play(-1, 0.0)     screen = pygame.display.set_mode(cfg.SCREENSIZE)     pygame.display.set_caption('Bomber Man &mdash;&mdash; 九歌')     # 開(kāi)始界面     Interface(screen, cfg, mode='game_start')     # 游戲主循環(huán)     font = pygame.font.SysFont('Consolas', 15)     for gamemap_path in cfg.GAMEMAPPATHS:         # -地圖         map_parser = mapParser(gamemap_path, bg_paths=cfg.BACKGROUNDPATHS, wall_paths=cfg.WALLPATHS, blocksize=cfg.BLOCKSIZE)         # -水果         fruit_sprite_group = pygame.sprite.Group()         used_spaces = []         for i in range(5):             coordinate = map_parser.randomGetSpace(used_spaces)             used_spaces.append(coordinate)             fruit_sprite_group.add(Fruit(random.choice(cfg.FRUITPATHS), coordinate=coordinate, blocksize=cfg.BLOCKSIZE))         # -我方Hero         coordinate = map_parser.randomGetSpace(used_spaces)         used_spaces.append(coordinate)         ourhero = Hero(imagepaths=cfg.HEROZELDAPATHS, coordinate=coordinate, blocksize=cfg.BLOCKSIZE, map_parser=map_parser, hero_name='ZELDA')         # -電腦Hero         aihero_sprite_group = pygame.sprite.Group()         coordinate = map_parser.randomGetSpace(used_spaces)         aihero_sprite_group.add(Hero(imagepaths=cfg.HEROBATMANPATHS, coordinate=coordinate, blocksize=cfg.BLOCKSIZE, map_parser=map_parser, hero_name='BATMAN'))         used_spaces.append(coordinate)         coordinate = map_parser.randomGetSpace(used_spaces)         aihero_sprite_group.add(Hero(imagepaths=cfg.HERODKPATHS, coordinate=coordinate, blocksize=cfg.BLOCKSIZE, map_parser=map_parser, hero_name='DK'))         used_spaces.append(coordinate)         # -炸彈bomb         bomb_sprite_group = pygame.sprite.Group()         # -用于判斷游戲勝利或者失敗的flag         is_win_flag = False         # -主循環(huán)         screen = pygame.display.set_mode(map_parser.screen_size)         clock = pygame.time.Clock()         while True:             dt = clock.tick(cfg.FPS)             for event in pygame.event.get():                 if event.type == pygame.QUIT:                     pygame.quit()                     sys.exit(-1)                 # --&uarr;&darr;&larr;&rarr;鍵控制上下左右, 空格鍵丟炸彈                 elif event.type == pygame.KEYDOWN:                     if event.key == pygame.K_UP:                         ourhero.move('up')                     elif event.key == pygame.K_DOWN:                         ourhero.move('down')                     elif event.key == pygame.K_LEFT:                         ourhero.move('left')                     elif event.key == pygame.K_RIGHT:                         ourhero.move('right')                     elif event.key == pygame.K_SPACE:                         if ourhero.bomb_cooling_count <= 0:                             bomb_sprite_group.add(ourhero.generateBomb(imagepath=cfg.BOMBPATH, digitalcolor=cfg.YELLOW, explode_imagepath=cfg.FIREPATH))             screen.fill(cfg.WHITE)             # --電腦Hero隨機(jī)行動(dòng)             for hero in aihero_sprite_group:                 action, flag = hero.randomAction(dt)                 if flag and action == 'dropbomb':                     bomb_sprite_group.add(hero.generateBomb(imagepath=cfg.BOMBPATH, digitalcolor=cfg.YELLOW, explode_imagepath=cfg.FIREPATH))             # --吃到水果加生命值(只要是Hero, 都能加)             ourhero.eatFruit(fruit_sprite_group)             for hero in aihero_sprite_group:                 hero.eatFruit(fruit_sprite_group)             # --游戲元素都綁定到屏幕上             map_parser.draw(screen)             for bomb in bomb_sprite_group:                 if not bomb.is_being:                     bomb_sprite_group.remove(bomb)                 explode_area = bomb.draw(screen, dt, map_parser)                 if explode_area:                     # --爆炸火焰范圍內(nèi)的Hero生命值將持續(xù)下降                     if ourhero.coordinate in explode_area:                         ourhero.health_value -= bomb.harm_value                     for hero in aihero_sprite_group:                         if hero.coordinate in explode_area:                             hero.health_value -= bomb.harm_value             fruit_sprite_group.draw(screen)             for hero in aihero_sprite_group:                 hero.draw(screen, dt)             ourhero.draw(screen, dt)             # --左上角顯示生命值             pos_x = showText(screen, font, text=ourhero.hero_name+'(our):'+str(ourhero.health_value), color=cfg.YELLOW, position=[5, 5])             for hero in aihero_sprite_group:                 pos_x, pos_y = pos_x+15, 5                 pos_x = showText(screen, font, text=hero.hero_name+'(ai):'+str(hero.health_value), color=cfg.YELLOW, position=[pos_x, pos_y])             # --我方玩家生命值小于等于0/電腦方玩家生命值均小于等于0則判斷游戲結(jié)束             if ourhero.health_value <= 0:                 is_win_flag = False                 break             for hero in aihero_sprite_group:                 if hero.health_value <= 0:                     aihero_sprite_group.remove(hero)             if len(aihero_sprite_group) == 0:                 is_win_flag = True                 break             pygame.display.update()             clock.tick(cfg.FPS)         if is_win_flag:             Interface(screen, cfg, mode='game_switch')         else:             break     Interface(screen, cfg, mode='game_end')     '''run''' if __name__ == '__main__':     while True:         main(cfg)

4.推箱子

Python代碼中能玩的童年游戲有哪些

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

5.掃雷

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

Python代碼中能玩的童年游戲有哪些

第二種AI貪吃蛇

Python代碼中能玩的童年游戲有哪些

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

Python代碼中能玩的童年游戲有哪些

Python代碼中能玩的童年游戲有哪些

Python代碼中能玩的童年游戲有哪些

Python代碼中能玩的童年游戲有哪些

Python代碼中能玩的童年游戲有哪些

上述就是小編為大家分享的Python代碼,能玩30多款童年游戲有哪些了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI