1. 程式人生 > >pygame入門小遊戲(外星人入侵(6) 外星飛船來啦!)

pygame入門小遊戲(外星人入侵(6) 外星飛船來啦!)

既然我們的飛船都能發射子彈了,那麼接下來我們新增一些敵機(外星飛船)給遊戲增加點樂趣。

我們的思路是讓敵機隨機從螢幕上空下來,並且在每一次迴圈中都向下移動,飛船的速度會變化,當飛出螢幕下方後,就回到螢幕上方重新開始。

import pygame
import random
class Alien():
    def restart(self):
        #重置外星飛船的位置和速度(self.x的範圍可以在保證敵機在螢幕內的情況下隨意給定)
        self.x = random.randint(66, 734)
        self.y = random.randint(-166
, -66) self.speed = random.random() + 0.1 def __init__(self): #初始化 self.restart() self.image = pygame.image.load(r'images\alien.bmp') def move(self): if self.y < 600: #向下移動 self.y += self.speed else: #重置 self.restart()

然後在update_screen()中新增外星飛船來更新它的位置,

#這裡只寫出修改的部分
def update_screen(my_setting, screen, ship, bullets, aliens):
    .........................................
    screen.blit(aliens.image, (aliens.x, aliens.y))

然後在主程式中匯入Alien()就好

執行程式,我們看到飛船隨機的從螢幕上方飛下
這裡寫圖片描述
這裡寫圖片描述

此時,發射子彈或者敵機碰到我方飛船,並不會導致我方飛船爆炸。。。。。。T-T

…………………………………………………………………………………………………………………………………………………………………..
T-T好吧 ,本來是看著課本上的程式有點無聊,想著讓外星飛船隨機的落下來。不過怎麼除錯,都不能實現擊落它(剛開始玩兒pygame……),整整搞了一天也沒成功,先這樣吧,有空了再修改下,
ppppp:寫這個東西也就是記錄下自己的學習歷程,沒課的時候寫一點,感覺挺好的,那麼,等能實現擊落敵機再見O.o

相關推薦

pygame入門遊戲外星人入侵6 飛船

既然我們的飛船都能發射子彈了,那麼接下來我們新增一些敵機(外星飛船)給遊戲增加點樂趣。 我們的思路是讓敵機隨機從螢幕上空下來,並且在每一次迴圈中都向下移動,飛船的速度會變化,當飛出螢幕下方後,就回到螢幕上方重新開始。 import pygame impo

pygame入門遊戲外星人入侵6 飛船【二】

看了課本和幾個例項,發現還是使用精靈中的groupcollide()來檢測碰撞比較簡單,所以我們接著第五節,把外星飛船也使用精靈來繪製,(上節因為並沒有使用Sprite,感覺實現擊落飛船有點困難,所以咱們接著5,繼續) 首先建立一個儲存外星飛船的類Alien(

pygame入門遊戲外星人入侵9

雖然遊戲已經能正常運行了,是不是總覺得少了點什麼,下面我們給遊戲新增一個開始按鈕, 首先建立一個新類 play.py #匯入pygame.font模組(渲染文字到螢幕上) import pygame.font class Button():

Python 項目實踐一外星人入侵遊戲第二篇

包含 容易 設置 調用 底部 itme 圖片 import 建立 接著上次的繼續學習。 一 創建一個設置類 每次給遊戲添加新功能時,通常也將引入一些新設置。下面來編寫一個名為settings的模塊,其中包含一個名為Settings的類,用於將所有設置存儲在一個地方,以免在代

python ---- pygame建立遊戲《飛機射擊》

建立視窗,構建飛機 **alien_invasion.py** ``` from settings import Settings from ship import Ship import pygame import game_function as gf def

react 框架入門遊戲三子棋狀態提升

前言:本文針對react框架講述react官方教程上的入門教程(三子棋)參考網址如下:點選開啟連結主要涉及知識點是狀態提升,注:本文只講解js程式碼官網中在這個遊戲中所加的css程式碼本文不會去講述1.首先先看圖形的形狀程式碼沒有加任何的互動,只是通過react元件來實現:c

[知了堂學習筆記]_JS遊戲之打飛機3-飛機之間的互相撞擊,boss的出現,以及控制boss死亡

時間 i++ score console function sss 間隔 app tint 我的小飛機和敵軍小飛機撞擊的效果的實現: 1 /** 2 * 定義我的飛機與敵機碰撞的方法: 3 */ 4 function destoryMyPlane(){ 5

Python 項目實踐一外星人入侵第一篇

應用 系統 循環 post 第一篇 開始遊戲 mage 安裝程序 tps python斷斷續續的學了一段實踐,基礎課程終於看完了,現在跟著做三個小項目,第一個是外星人入侵的小遊戲: 一 Pygame pygame 是一組功能強大而有趣的模塊,可用於管理圖形,動畫乃至聲音

Python遊戲 井字棋人機對戰,玩家對戰

pan urn utf-8 erl ext print cef () nbsp # -*- coding:utf-8 -*-import timeimport random#井字棋 人機對戰def drawBoard(board): blank_board = '|

微信遊戲踩坑記錄

微信視訊元件 這次是關於視訊元件的,creator的視訊元件在小遊戲中是沒有用的,只能使用小遊戲自帶的元件。使用小遊戲Video的時候需要注意三點: 座標系的區別:微信使用的是UI座標系,以左上角為(0,0)點,x軸向右,y軸向下。而cocos的世界座標以左下角為(0,0)點,x軸向

creator遊戲踩坑記錄

隨手記一下今天遇到的幾個坑,先說下開發環境: cocos creator 1.9.3 開發者工具v1.02.1807120 iOS小遊戲Label元件文字被截斷的問題 描述 在iOS裝置小遊戲環境中,所有的文字上半部分被截斷。注意,只有在真實iOS裝置的小遊戲環境

cocos creator微信遊戲優化之路

目前在做一個放置類的微信小遊戲,時間過去了一個多月,大的功能已經很少了,是時候來一波優化了。策劃那邊還是在瀏覽器上檢視遊戲,反映了幾個問題,主要是操作延遲。這個分為幾個方面: 網路延遲:包括資源伺服器延遲,小程式的資源大部分都是放在資源伺服器上的,載入這些資源會出現延遲;另外還有遊戲邏輯

猜數字遊戲+折半查詢法二分法+三次密碼輸入+字母大小寫轉換

猜數字小遊戲: #include<stdio.h> #include<time.h> #include<stdlib.h> /* 猜數字小遊戲 */ int menu() { printf("**********1.開始遊戲**********\n

C++遊戲(原創)——數獨sudoku

  #include <iostream> #include <cstring> #include <time.h> #include <cstdlib> #include<windows.h> using

微信遊戲開發文件2

微信小遊戲系統API wx.getFileSystemManager() 檔案管理器 FileSystemManager.access FileSystemManager.accessSync FileSystemManager.copyFile FileSystemManager.copy

微信遊戲開發文件6

微信小遊戲介面介面: wx.offKeyboardComplete wx.showKeyboard wx.setMenuStyle wx.onWindowResize wx.offWindowResize 微信小遊戲媒體介面: InnerAudioContext.offStop Inne

微信遊戲開發文件5

微信小程式介面介面: wx.hideKeyboard wx.onKeyboardInput wx.offKeyboardInput wx.onKeyboardConfirm wx.offKeyboardConfirm wx.onKeyboardComplete 微信小遊戲work: wx

微信遊戲開發文件4

微信小遊戲系統API: wx.onTouchEnd wx.offTouchEnd wx.onTouchCancel wx.offTouchCancel Touch 觸點 微信小遊戲資料快取介面: wx.removeStorage wx.removeStorageSync wx.setSt

Python10_專案一 :Pygame庫的安裝 及 外星人入侵遊戲01

從現在開始,做一個外星人入侵的遊戲,記錄在整個專案中所遇到的問題 首先,我們應該考慮到,用Python做遊戲需要安裝pygame庫,對於安裝pygame庫,步驟如下: 1、確定你的電腦安裝了Python環境 檢視方式為:命令列 輸入  python  得到結果如下:

學以致用——Java原始碼——騎士之旅跳馬遊戲_宿命版Knight’s Tour - Non-heuristic version

遊戲規則: 一個8*8的棋盤上站著一個騎士(Knight),騎士在棋盤上只能走L形(橫走1步後豎走2步,或橫走2步後豎走1步),要求棋盤上每個方格只能停留一次,請問騎士應該怎麼走才能走完64個方格? 如,當騎士位於下圖中K位置時,其移動方式共有以下0-7共8種。 程式功能: