導航:首頁 > 編程語言 > python編程外星人游戲代碼

python編程外星人游戲代碼

發布時間:2022-12-09 22:10:56

1. 外星人入侵python代碼編寫出錯求大神指導

答: pygame裡面都是有init()這個函數的,但是錯誤提示卻是這個模塊沒有init這個方法。那我覺得你可以按以下步驟去檢查一下。

  1. 確保自己有沒有安裝pygame這個模塊,安裝命令pip install pyname,或者pip3 install pygame,如果你是用anaconda的話,也可以用conda install pyname來安裝;
  2. 仔細再檢查一下,你有沒有重名的文件pyname,之前我也是認為沒有的,後來自己看了一下,真的有一個重名的,你根據那個報錯路徑去看一看。
  3. 如果還不行的話,你乾脆重建一個項目目錄,再試試,或者重裝那個模塊。

希望可以幫助到你~

2. Python外星人入侵問題求助

你好,我也遇到了同樣的問題。debug可以發現其實你的程序仍然是36個外星人,但是每行外星人的位置重合導致了顯示結果看起來只有一列外星人響應。這是由於每個外星人的初始位置相同。

我當初寫的時候理所當然地在def create_alien中(該函數目的是生成一組外星人),對函數體中每個alien的位置都是用精靈的實際位置計算,即alien.rect.x和alien.rect.y。但你可以觀察到Alien類的update函數計算對象是alien.x, 所以你可能需要在別的文件中補上這個關鍵的中間變數,加上這句話(圖中紅字):alien.x=alien.rect.x

這樣才能夠將真實的位置alien.rect.x和我們數學計算的變數alien.x對應起來,實現一堆外星人動起來的效果!請採納!!!!!!


3. 《外星人入侵》的python完整代碼


項目名如標題,在《python編程:從入門到實踐》里有完整詳細的說明,網上也能查到源碼,這里只是在重復這種程序

不過學編程,借鑒模仿很重要,即使抄輪子也得抄個像模像樣才行,抄到即是學到。

進入正題:

游戲很簡單,就是一個打飛機類型的游戲,以下代碼將實現游戲的主程序,飛船的基本操作等。

註:這里提醒新上手的萌新,python的代碼不要隨便復制粘貼!

不要隨便復制粘貼!

不要隨便復制粘貼!

python的縮進很嚴格,復制粘貼後一定要注意格式是否正確,否則會報出異常:

IndentationError: unexpected indent

未知的縮進錯誤

當出現此提示時,要檢查一下哪裡的縮進出現了問題,小段的代碼還好,大段的代碼就呵呵了

注意下載好的文件後綴名為.whl

然後新建一個文件夾,名字叫alien_invasion,將下載好的模塊放在此文件夾下,

然後你要新建以下文件:

1.alien_invasion.py 游戲主程序

2.game_functions.py 存放游戲函數

3.bullet.py 子彈模塊

4.settings.py 游戲設置模塊

5.ship.py 飛船模塊

然後新建images文件夾存放飛船素材。

這些會讓我們實現啟動游戲,飛船的顯示與移動,以及開火功能。

為避免文章冗~長,這里貼一段主程序代碼,其它代碼下周見(偷懶)。

alien_invasion.py

#!usr/bin/env python3
#_*_ coding:utf-8 _*_
#此模塊是游戲的主程序
import sys
import game_functions as gf #導入game_functions文件,並指定了別名gf
import pygame
from settings import Settings
from ship import Ship
from pygame.sprite import Group
def run_game():
# 初始化游戲並創建一個屏幕對象
pygame.init() #pygame的init函數,用於創建一個游戲對象
#把Setting類實例化
ai_settings = Settings()
#顯示游戲窗口並設置其大小
screen = pygame.display.set_mode(
(ai_settings.screen_width,ai_settings.screen_height))
#設置窗口標題
pygame.display.set_caption("Alien Invasion")
# 把Ship類實例化,用於創建飛船
ship = Ship(ai_settings,screen)
#存儲子彈的編組
bullets = Group()
#開始游戲的主循環
while True:
#用於響應滑鼠,鍵盤事件
gf.check_events(ai_settings,screen,ship,bullets)
#更新飛船在屏幕的位置
ship.update()
#更新子彈位置並刪除消失的子彈
gf.update_bullets(bullets)
#用於更新屏幕背景色,更新飛船,子彈等
gf.update_screen(ai_settings,screen,ship,bullets)
run_game() #運行游戲

4. python外星人入侵游戲左移正常,右移屏幕上不顯示

主要看看向右移動的地方的代碼有沒有問題:設置向右移動flag self.move_right = False def listening_key_down(self, event):...

5. python很基礎的外星人項目

項目名如標題,在《python編程:從入門到實踐》里有完整詳細的說明,網上也能查到源碼,這里只是在重復這種程序

不過學編程,借鑒模仿很重要,即使抄輪子也得抄個像模像樣才行,抄到即是學到。

進入正題:

游戲很簡單,就是一個打飛機類型的游戲,以下代碼將實現游戲的主程序,飛船的基本操作等。

註:這里提醒新上手的萌新,python的代碼不要隨便復制粘貼!

不要隨便復制粘貼!

不要隨便復制粘貼!

python的縮進很嚴格,復制粘貼後一定要注意格式是否正確,否則會報出異常:


IndentationError: unexpected indent

未知的縮進錯誤

當出現此提示時,要檢查一下哪裡的縮進出現了問題,小段的代碼還好,大段的代碼就呵呵了


注意下載好的文件後綴名為.whl

然後新建一個文件夾,名字叫alien_invasion,將下載好的模塊放在此文件夾下,

然後你要新建以下文件:

1.alien_invasion.py 游戲主程序

2.game_functions.py 存放游戲函數

3.bullet.py 子彈模塊

4.settings.py 游戲設置模塊

5.ship.py 飛船模塊

然後新建images文件夾存放飛船素材。

這些會讓我們實現啟動游戲,飛船的顯示與移動,以及開火功能。

為避免文章冗~長,這里貼一段主程序代碼,其它代碼下周見(偷懶)。

alien_invasion.py

#!usr/bin/env python3
#_*_ coding:utf-8 _*_

#此模塊是游戲的主程序

import sys

import game_functions as gf #導入game_functions文件,並指定了別名gf

import pygame

from settings import Settings
from ship import Ship
from pygame.sprite import Group

def run_game():

# 初始化游戲並創建一個屏幕對象

pygame.init() #pygame的init函數,用於創建一個游戲對象

#把Setting類實例化
ai_settings = Settings()

#顯示游戲窗口並設置其大小
screen = pygame.display.set_mode(
(ai_settings.screen_width,ai_settings.screen_height))

#設置窗口標題
pygame.display.set_caption("Alien Invasion")

# 把Ship類實例化,用於創建飛船
ship = Ship(ai_settings,screen)
#存儲子彈的編組
bullets = Group()

#開始游戲的主循環
while True:
#用於響應滑鼠,鍵盤事件
gf.check_events(ai_settings,screen,ship,bullets)
#更新飛船在屏幕的位置
ship.update()
#更新子彈位置並刪除消失的子彈
gf.update_bullets(bullets)
#用於更新屏幕背景色,更新飛船,子彈等
gf.update_screen(ai_settings,screen,ship,bullets)


run_game() #運行游戲

6. python程序提示AttributeError屬性錯誤怎麼解決

你看class scoreboard裡面有self.level嗎.如果有的話你試著
1.把文件名字改一下,我看你取的名字也是scoreboard.py,一般不要取和預留命、模塊名什麼的相同的名字;
2.把已經生成的.pyc文件刪了。

7. python外星人入侵游戲左移正常,右移屏幕上不顯示,但實際上已經移動了


主要看看向右移動的地方的代碼有沒有問題:

#設置向右移動flag
self.move_right=False
deflistening_key_down(self,event):
"""
監聽key_down事件
:paramevent:
"""
ifevent.key==pygame.K_RIGHT:
self.air_ship.move_right=True
elifevent.key==pygame.K_LEFT:
self.air_ship.move_left=True

deflistening_key_up(self,event):
"""
監聽key_up事件
:paramevent:
"""
ifevent.key==pygame.K_RIGHT:
self.air_ship.move_right=False
elifevent.key==pygame.K_LEFT:
self.air_ship.move_left=False

defmove(self):
"""
更新飛船橫軸位置,實現左右移動
"""
ifself.move_rightandself.air_ship_rect.right<=self.screen_rect.right:
self.center+=self.speed_factorifself.move_leftandself.air_ship_rect.left>=self.screen_rect.left:
self.center-=self.speed_factor
self.air_ship_rect.centerx=self.center

deflistening_game_event(self):
"""
監聽事件
"""
foreventinpygame.event.get():ifevent.type==pygame.QUIT:
pygame.quit()
sys.exit()elifevent.type==pygame.KEYDOWN:
self.listening_key_down(event)elifevent.type==pygame.KEYUP:
self.listening_key_up(event)

#游戲主循環
whileTrue:self.listening_game_event()self.air_ship.move()self.update_game_screen()

8. python,外星人入侵游戲,Pycharm,pygame,寫完了,但是有bug,希望幫我找一下原因

只能說明你復制粘貼的能力還欠缺

9. Python 編程從入門到實踐一書中,外星人項目里14章按鍵

編程沒有問題就不會報錯!難道你是發現了Python的BUG?另外,最好不要使用中文路徑。

10. python開發飛機大戰外星人游戲怎麼弄雙人模式

主函數
import pygamefrom settings import Settingsfrom ship import Shipimport game_function as gffrom pygame.sprite import Groupfrom alien import Alienfrom game_stats import GameStatsfrom button import Buttonfrom scoreboard import Scoreboarddef run_game():"""初始化游戲並創建一個屏幕對象"""pygame.init()ai_settings = Settings()screen = pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))pygame.display.set_caption("Alien Invasion")# 創建Play按鈕play_button = Button(ai_settings, screen, "Play")# 創建一個用於存儲游戲統計信息的實例, 並創建記分牌stats = GameStats(ai_settings)sb = Scoreboard(ai_settings, screen, stats)# 創建一艘飛船ship = Ship(ai_settings, screen)# 創建一個用於存儲子彈的數組bullets = Group()aliens = Group()# 創建外星人群gf.create_fleet(ai_settings, screen, ship, aliens)# 開始游戲主循環while True:gf.check_events(ai_settings, screen, stats, play_button, ship, aliens, bullets)if stats.game_active:ship.update()gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets)gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets)gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)run_game()

閱讀全文

與python編程外星人游戲代碼相關的資料

熱點內容
相機卡滿了沒文件夾 瀏覽:747
如何批量快速壓縮視頻 瀏覽:432
我的世界如何加入ice伺服器 瀏覽:873
兄弟cnc編程說明書 瀏覽:204
php閃電入門教程學習 瀏覽:152
金岳霖邏輯pdf 瀏覽:938
linuxtomcat線程 瀏覽:77
pboc長度加數據加密 瀏覽:187
英雄聯盟國際服手游怎麼下安卓 瀏覽:297
程序員的思路 瀏覽:234
只能用命令獲得的四種方塊 瀏覽:358
怎麼用命令方塊防止開創造 瀏覽:807
掃描版的pdf 瀏覽:790
編程貓怎樣做3d游戲 瀏覽:207
怎麼查找雲伺服器上的ftp 瀏覽:156
我的世界伺服器如何注冊賬號 瀏覽:934
統計英文字元python 瀏覽:424
linux信息安全 瀏覽:910
壓縮機接線柱爆 瀏覽:1001
程序員自主創業 瀏覽:586