成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手教你用Python改造一款外星人入侵小游戲

開發(fā) 后端
本期奇思妙想之超級魔改版外星人入侵小游戲,從小游戲入手去學Python是個很不錯的選擇,希望對你有所幫助!

[[417337]]

前言

這篇文章主要分為三個部分進行展開:

一、原始版本再現(xiàn)

原始1.0版本:

原始1.0版本有如下特點:

1.玩家可以控制屏幕底下的炮口(書中說是飛船)左右移動并射擊僵尸

2.僵尸群固定3排,固定數(shù)量,固定間距生成,不會隨著關卡升級而變化

3.玩家有3條生命,左上角代表剩余生命,被僵尸群碰到或尸群到達屏幕底部則生命-1

4.玩家每次射擊都要按一下射擊鍵(這里是空格),不能連續(xù)射擊

5.尸群作為一個整體左右移動碰到屏幕邊緣便前進一步,如果不能及時消滅尸群最邊緣的僵尸,那么尸群將會移動得很快

6.只有一種怪物,而且怪物沒有設置血量,關卡升級只是怪物左右橫移變快

7.玩法單調,沒有特效,沒有技能,沒有道具,沒有地圖

8.不能實現(xiàn)分數(shù)存儲,每次運行程序時的最高分記錄不會保存

只能說原始1.0版本實現(xiàn)了一個小游戲的基本框架,如下圖:

此時左上角有3個大炮的圖標,意為我還有3條生命。

屏幕上方中央是最高分,屏幕最右上角是當前分數(shù),由于這是運行程序后的第一次游戲,當前分即最高分。

屏幕最右上角當前分數(shù)的下面的數(shù)字是當前關卡,消滅全部僵尸進入下一關,隨著關卡的升級尸群的移動速度會越來越快。

被僵尸群碰到或尸群到達屏幕底部則生命會減一哦,上圖就只剩下2條命了。

原始1.0版本要用到的文件如下:

其中分門別類,各文件都有其明確分工,alien是專門寫外星人的,alien_invasion是主程序,bullet是控制子彈及相關參數(shù)的,button是控制開始游戲按鈕,game_stats是游戲的一些初始化設置,scoreboard是控制分數(shù)面板,settings用于游戲參數(shù)設置,ship專門控制飛船。

原始1.0版本要用到的圖片也非常簡單,存在images里面,只有一個外星人和一個飛船,這里我用的是一個僵尸和一個大炮。你也可以選用自己喜歡的形象替換。

原始1.0版本的源碼免費獲取地址:

https://download.csdn.net/download/x978404178/20299596?spm=1001.2014.3001.5501

二、魔改思路

本文將初步推出魔改后的版本,不妨記為魔改2.0版。

1. 醒目亮眼的UI界面

通過精心設計的登錄封面,游戲取名星際前線,并達到如下效果:

此登錄界面支持鼠標點擊開始游戲按鈕即開始游戲,鼠標點擊或按下鍵盤s鍵可進入/退出積分商城,鼠標點擊聯(lián)系我們可以看到作者信息。

部分代碼:

  1. self.color=(230,230,230) 
  2.     self.fm = pygame.image.load('images/fm.png').convert_alpha() 
  3.     self.title = pygame.image.load('images/title.png').convert_alpha() 
  4.     self.titlerect = pygame.Rect(-190, -60, 1920, 1000)  # 矩形(x,y,width,height) 
  5.     self.play = pygame.image.load('images/play.png').convert_alpha() 
  6.     self.playrect = pygame.Rect(645,300, 280, 280)#矩形(x,y,width,height) 
  7.     self.shop = pygame.image.load('images/shop.png').convert_alpha() 
  8.     self.shoprect = pygame.Rect(0, 700, 330, 158)  # 矩形(x,y,width,height) 
  9.     self.lianxi1 = pygame.image.load('images/lianxi1.png').convert_alpha() 
  10.     self.lianxi1rect = pygame.Rect(1330, 780, 187, 80)  # 矩形(x,y,width,height) 
  11.  
  12.     self.shop2 = pygame.image.load('images/shop2.png').convert_alpha() 
  13.     self.shop2rect = pygame.Rect(1395, 735, 140, 126)  # 矩形(x,y,width,height) 

2.實現(xiàn)地圖,怪物,血量多樣化

所有怪物生成數(shù)量與關卡有關,生成數(shù)量在一定限度內(nèi)隨機,但關卡越高,生成數(shù)量趨向于越多。

怪物生成范圍也為一定限度內(nèi)隨機生成。

怪物移動速度與關卡有關,關卡越高,前進速度越快,但設置了一個速度上限。

怪物以一定概率在一個身位內(nèi)瞬移移動,可以閃避飛船的子彈。

第一關是可愛的小機器人,1點血量,在第三關出現(xiàn)了手拿盾牌的機器人,3點血量。

在第5關出現(xiàn)了BOSS,上方是它的紅色血條,很長。

BOSS嘛,不抗揍怎么當老大?

我在游戲中設置了豐富的地圖,每10關切換一個場景。

BOSS的安排遵循每5關一小boss,每10關一大BOSS的規(guī)律,讓玩家盡情體驗激戰(zhàn)。

部分代碼:

  1. def _create_fleet(self): 
  2.      "創(chuàng)建怪物群1" 
  3.      self.alien_bloodmax=1 
  4.      self.alien_blood=1 
  5.      if self.stats.level>=5: 
  6.          self.alien_bloodmax =2 
  7.          self.alien_blood = 2 
  8.          if self.stats.level >=10: 
  9.              self.alien_bloodmax = 3 
  10.              self.alien_blood = 3 
  11.  
  12.              if self.stats.level >=15: 
  13.                  self.settings.guainum = 2 
  14.                  self.alien_bloodmax =5 
  15.                  self.alien_blood =5 
  16.                  if self.stats.level >=25: 
  17.                      self.alien_bloodmax =10 
  18.                      self.alien_blood =10 
  19.                      if self.stats.level >= 30: 
  20.                          self.alien_bloodmax = 20 
  21.                          self.alien_blood = 20 
  22.  
  23.                          if self.stats.level >= 40: 
  24.                              self.settings.guainum = 3 
  25.                              self.alien_bloodmax = 50 
  26.                              self.alien_blood = 50 
  27.                              if self.stats.level >= 45: 
  28.                                  self.alien_bloodmax = 100 
  29.                                  self.alien_blood = 100 
  30.                                  if self.stats.level >= 50: 
  31.                                      self.alien_bloodmax = 150 
  32.                                      self.alien_blood = 150 
  33.      number_alien=random.randint(5+self.stats.level*1,15+self.stats.level*2) 
  34.      for row_number in range(number_alien): 
  35.          alien = Alien(self) 
  36.          self.aliens.add(alien) 

3.實現(xiàn)游戲商城和豐富金融體系

怎么樣,小白作者自己一點點做出來的游戲商城還看得過去吧?

左上角是金幣,與游戲中殺怪獲得的積分掛鉤。

右上角是鉆石,顧名思義,是屬于氪金大佬和少數(shù)精英玩家的稀缺資源。

鼠標移動到對應商品上會顯示半透明的簡介,名稱,價格,類別和功能。

加載圖片和位置:

  1. self.gaosi1 = pygame.image.load('images/gaosi1.png').convert_alpha() 
  2. self.gaosi1rect = pygame.Rect(230, 480, 751, 240)  # 矩形(x,y,width,height) 

由鼠標位置確定是否顯示商品簡介:

  1. button3_clicked = self.gaosirect.collidepoint(mouse_pos) 
  2. if button3_clicked: 
  3.     self.screen.blit(self.gaosi1, self.gaosi1rect) 

至于魔改版的更多講解和源碼我們留到以后講解。

三、總結

本期奇思妙想之超級魔改版外星人入侵小游戲-01就到這里了。

對本游戲有更好想法的朋友也可以提出你的魔改思路,讓游戲變得更有趣更好玩,讓大家創(chuàng)新思維的火花盡情地碰撞。

【編輯推薦】

【責任編輯:姜華 TEL:(010)68476606】

 

責任編輯:姜華 來源: Python爬蟲與數(shù)據(jù)挖掘
相關推薦

2023-05-22 10:04:24

2021-02-01 08:41:06

Java考試系統(tǒng)

2022-02-17 10:26:17

JavaScript掃雷游戲前端

2021-02-04 15:52:46

Java考試系統(tǒng)

2017-09-14 09:09:04

php應用LibreOfficeWord轉HTML

2021-01-04 09:55:26

Java移動互聯(lián)網(wǎng)

2021-08-09 13:31:25

PythonExcel代碼

2021-11-01 10:26:07

CanvasAPI畫布技術HTML5

2021-01-05 09:04:20

Javatxt文件

2024-01-07 20:00:27

2021-01-21 06:04:55

Go語言TCP目錄生成器

2022-10-19 14:30:59

2021-12-11 20:20:19

Python算法線性

2021-02-02 13:31:35

Pycharm系統(tǒng)技巧Python

2021-05-10 06:48:11

Python騰訊招聘

2022-08-04 10:39:23

Jenkins集成CD

2021-01-10 08:14:01

Go語言TCP掃描器

2021-12-30 08:56:57

Python摸魚倒計界面Python基礎

2011-03-28 16:14:38

jQuery

2021-02-06 14:55:05

大數(shù)據(jù)pandas數(shù)據(jù)分析
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 真人女人一级毛片免费播放 | 免费网站国产 | 国产男女视频 | 国产欧美精品一区 | 自拍偷拍中文字幕 | 欧美不卡视频 | 国产精品无码久久久久 | 亚洲免费成人av | 久日精品| 在线电影日韩 | 隔壁老王国产在线精品 | a级在线观看 | 欧美日韩一| 精品视频一区二区三区四区 | 欧美一级欧美一级在线播放 | 亚洲 精品 综合 精品 自拍 | 羞羞的视频在线观看 | 国产免费一区二区 | 欧美不卡一区二区三区 | 国产视频二区 | 久久精品国产久精国产 | 久久久久久女 | 中文在线一区二区 | 成人在线精品视频 | 激情福利视频 | 国产亚洲精品精品国产亚洲综合 | 亚洲国产免费 | 狠狠亚洲 | 91精品在线播放 | 欧美精品一区二区三区在线播放 | 男人天堂99 | 久久九| 91在线免费视频 | 香蕉久久a毛片 | 日韩精品久久久久 | 国产在线精品一区二区 | 国产成人免费视频网站视频社区 | 国产日韩欧美一区 | 国产女人与拘做受免费视频 | 免费一级黄 | 毛片视频观看 |