基于Python+Pygame實現(xiàn)變異狗大戰(zhàn)游戲
前言
只有你想不到,沒有我找不到寫不了的好游戲!
哈嘍。我是你們的栗子同學啦~
今天小編去了我朋友家里玩兒,看到了一個敲可愛的小狗狗,是我朋友養(yǎng)的薩摩耶啦。心里羨慕一下下蠻。嘿嘿,但是我養(yǎng)肯定養(yǎng)不了滴~養(yǎng)狗狗的話要花費好多時間遛一遛的啦,小編除了代碼就是代碼,沒這么多時間的啦~
嘿嘿,雖說我養(yǎng)不了狗,但是我們可以擁有一款專屬的狗子游戲啊~
PS——
Python代碼版本的狗子大戰(zhàn), 你值得擁有, 哈哈哈,可以放心的玩哦~
吐槽:這華麗突出丑的出奇的出場方式以及界面,**以至于我都不知道怎么吹了~你說呢?我覺得咳咳咳......主要是學習來的哈(學習編程知識,丑一點兒沒關(guān)系哈,我突然良心通了一下下)。其實你可以給你的狗狗裝飾一下也不是不行,換一只也行,創(chuàng)造一只專屬于你的最強狗子吧!(其實確實有丑的出奇,23333~我自爆了。)
一、準備環(huán)境
1)環(huán)境安裝
本文用到的環(huán)境如下——
Python3、Pycharm社區(qū)版,pygame其他自帶的庫只要安裝完 Python就可以直接使用了
一般安裝:pip install +模塊名
鏡像源安裝:pip install -i pypi.douban.com/simple/+模塊名…
(之前有說過安裝報錯的幾種方式跟解決方法,不會安裝的可以去看下,還有很多國內(nèi)鏡像源 也有文章的)
二、代碼展示
1)導入庫
import pygame, sys from pygame.locals import *
2)主程序
def pygame_run():
pygame.init()
_display_surf = pygame.display.set_mode((480, 320))
pygame.display.set_caption('py夢')
_font_type = pygame.font.match_font('Microsoft YaHei')
# 敵方精靈狀態(tài),文字顯示
_ord_pym_rect = pygame.Rect(-260, 0, 220, 50)
# 敵方精靈名字,文字顯示設置
_ord_pym_name = pygame.font.Font(_font_type, 16)
_ord_pym_name_surf_obj = _ord_pym_name.render("lv10:它狗", True, BLACK, None)
_ord_pym_name_rect = _ord_pym_name_surf_obj.get_rect()
_ord_pym_name_rect.left = -200
_ord_pym_name_rect.top = 0
# 敵方精靈血量,文字顯示設置
_ord_pym_blood = pygame.font.Font(_font_type, 16)
_ord_pym_blood_surf_obj = _ord_pym_blood.render("血量:----------[69/69]", True, BLACK, None)
_ord_pym_blood_rect = _ord_pym_blood_surf_obj.get_rect()
_ord_pym_blood_rect.left = -200
_ord_pym_blood_rect.top = 20
# 敵方精靈貼圖顯示設置
_ord_pym_img = pygame.image.load('dog1.png')
_ord_pym_img_top = 20
_ord_pym_img_left = 320+220
# 我方精靈狀態(tài),文字顯示設置
_my_pym_rect = pygame.Rect(260, 170, 220, 50)
# 我方精靈名字,文字顯示設置
_my_pym_name = pygame.font.Font(_font_type, 16)
_my_pym_name_surf_obj = _my_pym_name.render("lv18:我狗", True, BLACK, None)
_my_pym_name_rect = _my_pym_name_surf_obj.get_rect()
_my_pym_name_rect.left = 480
_my_pym_name_rect.top = 170
# 我方精靈血量,文字顯示設置
_my_pym_blood = pygame.font.Font(_font_type, 16)
_my_pym_blood_surf_obj = _my_pym_blood.render("血量:----------[99/99]", True, BLACK, None)
_my_pym_blood_rect = _my_pym_blood_surf_obj.get_rect()
_my_pym_blood_rect.left = 480
_my_pym_blood_rect.top = 190
# 我方精靈貼圖顯示設置
_my_pym_img = pygame.image.load('dog2.png')
_my_pym_img_top = 80
_my_pym_img_left = 20-220
# 對戰(zhàn)面板,顯示設置
_select_rect = pygame.Rect(480, 220, 220, 95)
# 戰(zhàn)斗,文字顯示設置
_select_font_1 = pygame.font.Font(_font_type, 30)
_select_font_1_surf_obj = _select_font_1.render("戰(zhàn)斗", True, BLACK, None)
_select_font_1_rect = _select_font_1_surf_obj.get_rect()
_select_font_1_rect.left = 480
_select_font_1_rect.top = 220
# 道具,文字顯示設置
_select_font_2 = pygame.font.Font(_font_type, 30)
_select_font_2_surf_obj = _select_font_2.render("道具", True, BLACK, None)
_select_font_2_rect = _select_font_2_surf_obj.get_rect()
_select_font_2_rect.left = 580
_select_font_2_rect.top = 220
# 精靈,文字顯示設置
_select_font_3 = pygame.font.Font(_font_type, 30)
_select_font_3_surf_obj = _select_font_3.render("精靈", True, BLACK, None)
_select_font_3_rect = _select_font_3_surf_obj.get_rect()
_select_font_3_rect.left = 480
_select_font_3_rect.top = 270
# 逃跑,文字顯示設置
_select_font_4 = pygame.font.Font(_font_type, 30)
_select_font_4_surf_obj = _select_font_4.render("逃跑", True, BLACK, None)
_select_font_4_rect = _select_font_4_surf_obj.get_rect()
_select_font_4_rect.left = 580
_select_font_4_rect.top = 270
while True:
_display_surf.fill(WHITE)
pygame.draw.rect(_display_surf, BLACK, _select_rect, 1)
pygame.draw.rect(_display_surf, WHITE, _my_pym_rect, 0)
_display_surf.blit(_ord_pym_img, (_ord_pym_img_left, _ord_pym_img_top))
_display_surf.blit(_my_pym_img, (_my_pym_img_left, _my_pym_img_top))
_display_surf.blit(_ord_pym_name_surf_obj, _ord_pym_name_rect)
_display_surf.blit(_ord_pym_blood_surf_obj, _ord_pym_blood_rect)
_display_surf.blit(_my_pym_name_surf_obj, _my_pym_name_rect)
_display_surf.blit(_my_pym_blood_surf_obj, _my_pym_blood_rect)
_display_surf.blit(_select_font_1_surf_obj, _select_font_1_rect)
_display_surf.blit(_select_font_2_surf_obj, _select_font_2_rect)
_display_surf.blit(_select_font_3_surf_obj, _select_font_3_rect)
_display_surf.blit(_select_font_4_surf_obj, _select_font_4_rect)
if _select_rect.left != 260:
_select_rect.left = _select_rect.left - 5
_select_font_1_rect.left = _select_font_1_rect.left - 5
_select_font_2_rect.left = _select_font_2_rect.left - 5
_select_font_3_rect.left = _select_font_3_rect.left - 5
_select_font_4_rect.left = _select_font_4_rect.left - 5
_my_pym_name_rect.left = _my_pym_name_rect.left - 5
_my_pym_blood_rect.left = _my_pym_blood_rect.left - 5
_ord_pym_name_rect.left = _ord_pym_name_rect.left + 5
_ord_pym_blood_rect.left = _ord_pym_blood_rect.left + 5
_ord_pym_img_left = _ord_pym_img_left - 5
_my_pym_img_left = _my_pym_img_left + 5
for _event in pygame.event.get():
if _event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
_fps_Clock.tick(FPS)
if __name__ == '__main__':
pygame_run()三、效果展示
1)出場方式第一步

2)出場方式第二步

3)出場方式第三步

到此這篇關(guān)于基于Python+Pygame實現(xiàn)變異狗大戰(zhàn)游戲的文章就介紹到這了,更多相關(guān)Python Pygame變異狗游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 字符串轉(zhuǎn)列表 list 出現(xiàn)\ufeff的解決方法
下面小編就為大家?guī)硪黄猵ython 字符串轉(zhuǎn)列表 list 出現(xiàn)\ufeff的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
Python量化交易實戰(zhàn)之使用Resample函數(shù)轉(zhuǎn)換“日K”數(shù)據(jù)
resample函數(shù)是Python數(shù)據(jù)分析庫Pandas的方法函數(shù),它主要用于轉(zhuǎn)換時間序列的頻次,今天通過本文給大家分享python使用Resample函數(shù)轉(zhuǎn)換時間序列的相關(guān)知識,感興趣的朋友一起看看吧2021-06-06
pytorch之inception_v3的實現(xiàn)案例
今天小編就為大家分享一篇pytorch之inception_v3的實現(xiàn)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01

