python玛丽冒险超级游戏程序源码
wx供重浩:創(chuàng)享日記
對話框發(fā)送:python瑪麗
免費獲取完整源碼源文件+配置教程說明+可執(zhí)行文件
在PyCharm中運行《瑪麗冒險》即可進入如圖1所示的游戲主界面。
具體的操作步驟如下:
(1)游戲主窗體界面顯示后,游戲的背景地圖將自動加載與移動,此時會隨機出現(xiàn)管道、導(dǎo)彈障礙物。當(dāng)遇到障礙物時按下鍵盤中的空格按鍵,瑪麗將實現(xiàn)跳躍,如圖2所示。
(2)每當(dāng)越過一次障礙時,右上角的積分將自動增加1分。如圖3所示。
(3)如果瑪麗在移動的過程中不小心撞到了障礙物,此時游戲主界面的中間位置將顯示“Game Over”游戲結(jié)束的文字。如圖4所示。
游戲結(jié)束后,再次按下空格鍵將重新啟動游戲。
(4)如果不需要播放游戲的背景音樂時,可以單擊左上角的音樂按鈕,背景音樂播放時,控制按鈕的運行效果如圖5所示。背景音樂停止時,控制按鈕的運行效果如圖6所示。
部分源碼如下,其余完整詳見下載。
import random # 隨機數(shù) # 障礙物類 class Obstacle():score = 1 # 分?jǐn)?shù)move = 5 # 移動距離obstacle_y = 150 # 障礙物y坐標(biāo)def __init__(self):# 初始化障礙物矩形self.rect = pygame.Rect(0, 0, 0, 0)# 加載障礙物圖片self.missile = pygame.image.load("image/missile.png").convert_alpha()self.pipe = pygame.image.load("image/pipe.png").convert_alpha()# 加載分?jǐn)?shù)圖片self.numbers = (pygame.image.load('image/0.png').convert_alpha(),pygame.image.load('image/1.png').convert_alpha(),pygame.image.load('image/2.png').convert_alpha(),pygame.image.load('image/3.png').convert_alpha(),pygame.image.load('image/4.png').convert_alpha(),pygame.image.load('image/5.png').convert_alpha(),pygame.image.load('image/6.png').convert_alpha(),pygame.image.load('image/7.png').convert_alpha(),pygame.image.load('image/8.png').convert_alpha(),pygame.image.load('image/9.png').convert_alpha())# 加載加分音效self.score_audio = pygame.mixer.Sound('audio/score.wav') # 加分# 0和1隨機數(shù)r = random.randint(0, 1)if r == 0: # 如果隨機數(shù)為0顯示導(dǎo)彈障礙物相反顯示管道self.image = self.missile # 顯示導(dǎo)彈障礙self.move = 15 # 移動速度加快self.obstacle_y = 100 # 導(dǎo)彈坐標(biāo)在天上else:self.image = self.pipe # 顯示管道障礙# 根據(jù)障礙物位圖的寬高來設(shè)置矩形self.rect.size = self.image.get_size()# 獲取位圖寬高self.width, self.height = self.rect.size# 障礙物繪制坐標(biāo)self.x = 800self.y = self.obstacle_yself.rect.center = (self.x, self.y)# 障礙物移動def obstacle_move(self):self.rect.x -= self.move# 繪制障礙物def draw_obstacle(self):SCREEN.blit(self.image, (self.rect.x, self.rect.y))# 獲取分?jǐn)?shù)def getScore(self):self.scoretmp = self.score;if tmp == 1:self.score_audio.play() # 播放加分音樂self.score = 0;return tmp;# 顯示分?jǐn)?shù)def showScore(self, score):# 獲取得分?jǐn)?shù)字self.scoreDigits = [int(x) for x in list(str(score))]totalWidth = 0 # 要顯示的所有數(shù)字的總寬度for digit in self.scoreDigits:# 獲取積分圖片的寬度totalWidth += self.numbers[digit].get_width()# 分?jǐn)?shù)橫向位置Xoffset = (SCREENWIDTH - (totalWidth+30))for digit in self.scoreDigits:# 繪制分?jǐn)?shù)SCREEN.blit(self.numbers[digit], (Xoffset, SCREENHEIGHT * 0.1))# 隨著數(shù)字增加改變位置Xoffset += self.numbers[digit].get_width()是任天堂出品的著名橫版過關(guān)游戲,該作最早在紅白機上推出,有多款后續(xù)作品,其中的主角馬里奧、路易、碧奇公主、奇諾比奧等已成為任天堂的招牌人物[1]。在游戲中,玩家控制馬里奧從庫巴手上設(shè)法營救碧奇公主。馬里奧的弟弟路易只能在游戲的多人模式中作為第二玩家加入,其角色情節(jié)與馬里奧完全相同。馬里奧是靠吃蘑菇成長,聞名世界的超級巨星。特征是大鼻子、頭戴帽子、身穿背帶工作服、還留著胡子。與他的雙胞胎兄弟路易基一起,長年擔(dān)任任天堂的招牌角色。帽子加背帶工作服、大鼻子和胡子等特征,離英雄的形象相差甚遠。再加上少許肥胖的身材,稍不留神可能就會把我們的英雄馬里奧當(dāng)成在便利店打工的中年大叔。但是形象上所帶來的個性和親切感,卻在玩家的心中根深蒂固。馬里奧的誕生之父宮本茂的設(shè)計理念就是“像記號一般讓人一目了然的外貌,容易表現(xiàn)動作的配色”。當(dāng)時限于硬件的機能,無法表現(xiàn)精密的畫面。為了清楚表現(xiàn)人物的動作,就把馬里奧的服裝設(shè)計成了背帶工作服,這樣可以很好地表現(xiàn)出手臂的動作。關(guān)于臉部的設(shè)計,當(dāng)時的考慮是,就算設(shè)計得很仔細(xì),在電視上也無法表現(xiàn)出來。有特點、容易辨認(rèn),才是設(shè)計的重點。所以就有了大鼻子、留胡子、戴帽子的設(shè)計。
總結(jié)
以上是生活随笔為你收集整理的python玛丽冒险超级游戏程序源码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【网络协议】TCP和HTTP中keep
- 下一篇: 基于Python和R的多元线性回归分析实