import pygame # 匯入遊戲包執行結果:pygame.init() # 匯入並初始化所有pygame模組,使用其他模組之前必須先呼叫init()方法
print('下面是遊戲**:')
# 繪製矩形
# 座標系 左上角(0,0),向右x+,向下y+
# 遊戲中,所有可見元素都是以矩形區域來描述位置,矩形區域四個要素(x,y)(width,height)
# pygame提供了乙個矩形區域類pygame.rect
hero_rect = pygame.rect(150, 300, 102, 126) # 繪製矩形,記錄飛機初始位置
print('英雄原點:%d %d, 英雄尺寸:%d %d' % (hero_rect.x, hero_rect.y, hero_rect.width, hero_rect.height))
print('英雄size: %d %d' % hero_rect.size) # 英雄size: 120 130
print(hero_rect) # # 建立遊戲主視窗
# pygame提供乙個模組pygame.display,用來建立遊戲視窗
# pygame.模組名稱.類名稱 類首字母大寫
# pygame.display.set_mode() 初始化遊戲顯示視窗,後續所有影象繪製基於這個返回結果
# pygame.display.update() 重新整理螢幕顯示內容,稍後使用
# pygame.display.set_mode((width,height) 預設和螢幕大小一致, 螢幕附加選項 是否全屏等 預設為空, 顏色位數 預設自動匹配)
screen = pygame.display.set_mode((480, 700)) # 此時screen物件是乙個記憶體中的螢幕資料物件,理解為乙個畫布
# 繪製影象
# 遊戲元素大多都是影象,影象初始儲存在磁碟上,需要時,載入到記憶體
# pygame.image.load(影象path) 載入影象資料
# 使用主視窗遊戲螢幕物件,呼叫blit()方法,blit(影象,位置)將影象繪製到指定位置
# 呼叫pygame.display.update()方法,更新整個螢幕顯示
bg = pygame.image.load('./images/background.png') # 繪製背景影象
screen.blit(bg, (0, 0))
hero = pygame.image.load('./images/me1.png') # 繪製英雄飛機影象
# screen.blit(hero, (100, 100))
# pygame.display.update() # 更新螢幕
# 遊戲時鐘
# pygame提供的類pygame.time.clock()可以方便的設定螢幕繪製速度--重新整理幀率
# 遊戲初始化階段建立乙個時鐘物件
# 在遊戲迴圈中讓時鐘物件呼叫tick()方法,tick(幀率),每秒執行多少次
# tick()自動設定遊戲迴圈中的延時
clock = pygame.time.clock() # 建立時鐘物件
# ******************************=== 上方是遊戲初始化 ******************************===
# ***************= 設定遊戲視窗 === 繪製影象初始位置 === 設定遊戲時鐘 ***************====
# *************************== 遊戲迴圈 意味著遊戲真正的開始 *************************==
# *****=== 設定重新整理幀率 === 檢測使用者互動 === 更新所有影象位置 === 更新螢幕顯示 **********=
# 動畫
# 動畫原理:快速在螢幕上繪製影象,每秒繪製60次,就能達到連續高品質動畫效果,每次繪製結果為 幀 frame
# 每呼叫一次update(),就是一幀
# 每次呼叫update()之前,需要把遊戲影象都重新繪製一遍,最先繪製背景
# 遊戲迴圈中監聽事件
# 事件event 使用者針對遊戲所做的操作
# 捕獲事件: pygame.event.get() 獲得當前 事件列表
# 只有捕獲到事件,才能做出相應的響應
# 遊戲迴圈
# 遊戲迴圈作用:
# 1.保證遊戲不會直接退出
# 2.變化影象位置,產生動畫效果,1/60秒移動一下影象位置,呼叫pygame.display.update()更新螢幕
# 3.檢測使用者互動,按鍵滑鼠等
while true:
clock.tick(20) # 指定迴圈體內部**執行的頻率
# 捕獲事件
event_list = pygame.event.get() # 獲取事件列表
if len(event_list) > 0:
print(event_list) # 有事件就列印事件列表
# 事件監聽 做出響應
for event in event_list:
if event.type == pygame.quit:
print('退出遊戲')
pygame.quit() # 解除安裝pygame模組,退出遊戲
# break()只能退出當前迴圈,for外面還有while,所以使用內建函式exit()直接退出程式系統
exit() # 直接退出系統
# 判斷飛機位置
if hero_rect.y <= 0: # 飛機出視野迴圈到底部出現
hero_rect.y = 700
hero_rect.y -= 1 # 修改飛機位置
screen.blit(bg, (0, 0)) # 重新繪製背景
screen.blit(hero, hero_rect) # 將飛機影象繪製到指定位置
pygame.display.update() # 更新螢幕
pygame.quit() # 解除安裝pygame模組,清空記憶體,結束遊戲
python學習 小遊戲
基於python3.4 while迴圈 1 usr bin python32 coding utf 8 34 import random 5import sys6 importos7 8 lucky num int random.randint 0,9 9 guess count 0 10 os.s...
python初學小遊戲 python學習(小遊戲)
小遊戲 1.身份選擇 顯示提示資訊 歡迎光臨 遊戲!請選擇你的身份 1.2.請選擇 x 根據使用者選擇來分配身份 顯示不同的提示訊息 1.2.3.2 遊戲逬行 顯示玩家的基本資訊 攻擊力生命值 顯示玩家可以逬行的操作 1 練級 提公升玩家的攻擊力和生命值 2 打boss 玩家對 boss逬行攻擊,玩...
猜拳小遊戲(python)
import random 載入模組random 隨機數 win 0 定義勝場 lose 0 定義敗場 dogfall 0 定義平局 while true while 迴圈 print 10 猜拳遊戲 10 遊戲開頭輸出 遊戲名 print 勝 s,敗 s,平 s win,lose,dogfall ...