Python小型項(xiàng)目實(shí)戰(zhàn)教學(xué)課《羊了個(gè)羊》
一、項(xiàng)目開發(fā)大綱(初級(jí))
版本1.0:基本開發(fā)
課次 |
內(nèi)容 |
技術(shù) |
第一天 |
基本游戲地圖數(shù)據(jù) |
面向過程 |
第二天 |
鼠標(biāo)點(diǎn)擊和移動(dòng) |
面向?qū)ο?/p> |
第三天 |
消除 |
設(shè)計(jì)模式:單例模式 |
第四天 |
完整游戲過程 |
架構(gòu):Model-View-ViewModel |
第五天 |
多層重疊的方塊 |
數(shù)據(jù)結(jié)構(gòu) (計(jì)算機(jī)考研數(shù)據(jù)結(jié)構(gòu)課程) |
第六天 |
多層重疊的方塊 |
數(shù)據(jù)結(jié)構(gòu) (計(jì)算機(jī)考研數(shù)據(jù)結(jié)構(gòu)課程) |
二、項(xiàng)目開發(fā)大綱(中級(jí)、高級(jí))
版本2.0:游戲道具
技術(shù):設(shè)計(jì)模式
版本3.0:單機(jī)版改為網(wǎng)絡(luò)版多人聯(lián)機(jī)游戲
技術(shù):網(wǎng)絡(luò)編程、多人對(duì)戰(zhàn)
版本4.0:JS改寫,發(fā)布小程序
版本5.0:安卓編程、蘋果ios編程,發(fā)布APP
版本6.0:小程序、APP,接入廣告聯(lián)盟,收費(fèi)賺錢!
版本7.0:游戲道具,接入支付接口,道具收費(fèi)!
版本8.0:多層重疊方塊的高級(jí)實(shí)現(xiàn)方法
第一天功能描述:
? ? 地圖數(shù)據(jù)繪制,包含空格。
第一天截圖:
文章來源:http://www.zghlxwxcb.cn/news/detail-636374.html
版本1.0,第一天源碼:
import pygame
import random
#導(dǎo)入exit方法
from sys import exit
#定義函數(shù)
# ?當(dāng)用戶點(diǎn)擊關(guān)閉,關(guān)閉窗口
def handleEvent():
????global events
????for e in pygame.event.get():
????????if e.type==pygame.QUIT:
????????????pygame.quit()
????????????sys.exit()
????????????
#地圖初始化 2023.7.5 lyy
def gameMapInit():
????for i in range(9):
????????for j in range(7):
????????????# 0 無效值; ???1-6 有效值
????????????matrix[i][j]=random.randint(0, 6)
#- ---------------------------------------------------- main
#初始化pygame
pygame.init()
back=pygame.image.load('images/background.png')
cardBox=pygame.image.load('images/box.png')
c1=pygame.image.load('images/card1.png')
c2=pygame.image.load('images/card2.png')
c3=pygame.image.load('images/card3.png')
c4=pygame.image.load('images/card4.png')
c5=pygame.image.load('images/card5.png')
c6=pygame.image.load('images/card6.png')
cardAll=[c1,c2,c3,c4,c5,c6]
#設(shè)置窗口大小
canvas=pygame.display.set_mode((400,700))
#數(shù)據(jù) MVVM模式
# 純數(shù)據(jù) ?MODEL
matrix = [[0 for i in range(8)] for i in range(10)]
#設(shè)置窗口標(biāo)題
pygame.display.set_caption('羊了個(gè)羊')
gameMapInit()
print(matrix)
#循環(huán)語句
#重復(fù)繪制畫面,重復(fù)檢測用戶是否點(diǎn)擊了關(guān)閉按鈕
while True:
????#繪制背景
????canvas.blit(back,(0,0))
????#繪制卡牌空槽
????canvas.blit(cardBox,(20,550))
????#循環(huán)語句 輸出多行多列圖片
????x=25
????y=50
????for i in range(9):
????????x=25
????????for j in range(7):
????????????????????card_id= matrix[i][j]
????????????????????if card_id!=0:
????????????????????????canvas.blit(cardAll[ card_id-1 ],(x,y))
????????????????????x=x+50
????????y=y+50
????#調(diào)用函數(shù),當(dāng)用戶點(diǎn)擊關(guān)閉,關(guān)閉窗口
????handleEvent()
????#刷新畫面
????pygame.display.update()
????文章來源地址http://www.zghlxwxcb.cn/news/detail-636374.html
到了這里,關(guān)于python版《羊了個(gè)羊》游戲開發(fā)第一天的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!