十個(gè)Python經(jīng)典小游戲的代碼合集
1.小貓運(yùn)動(dòng)
游戲源碼
# @Author : 辣條
'''
多行注釋
本程序運(yùn)行后會(huì)有一只小貓向前走
安裝模塊 pip install sprites
'''
# 從精靈模塊導(dǎo)入所有命令
from sprites import *
# 新建角色,造型序列為images
images = 'res/cat1.png','res/cat2.png'
# 新建角色
cat = Sprite(shape=images)
# 播放喵聲
cat.play('喵.wav')
# 當(dāng)成立的時(shí)候(重復(fù)執(zhí)行)
while True:
# 前進(jìn)10
cat.fd(10)
# 下一個(gè)造型
cat.nextcostume()
# 等待0.3秒
cat.wait(0.3)
游戲效果

2.彈球
游戲源碼
# @Author : 辣條
"""
彈球,本程序主要演示碰到邊緣就反彈這個(gè)命令
"""
# 從精靈模塊導(dǎo)入所有命令
from sprites import *
# 1代表彈球
ball = Sprite(1)
while True:
# 前進(jìn)0.1
ball.fd(0.1)
# 碰到邊緣就反彈
ball.bounce_on_edge()
游戲效果

3.畫正方形
游戲源碼
# @Author : 大海
from sprites import *
# 新建蟲子精靈
bug=Sprite()
# 繪畫延時(shí)為10毫秒
bug.screen.delay(10)
# 畫筆尺寸
bug.pensize(4)
# 畫筆顏色
# 寶藍(lán)
bug.color('dodger blue')
# 落筆
bug.pendown()
# 重復(fù)4次
for _ in range(4):
# 前進(jìn)100
bug.fd(100)
# 右轉(zhuǎn)90
bug.rt(90)
# 抬筆
bug.penup()
游戲效果

4.彩點(diǎn)實(shí)驗(yàn)
游戲源碼
# @Author : 大海
'''
彩點(diǎn)實(shí)驗(yàn)
'''
import time
from sprites import *
d = Sprite(shape='black',visible=False)
d.screen.bgcolor('black')
while True:
d.randompos()
d.randomcolor()
time.sleep(0.1)
d.dot(random.randint(10,100))
游戲效果

5.彩點(diǎn)實(shí)驗(yàn)圓形
游戲源碼
from sprites import *
d = Sprite(shape='blank',visible=False)
d.screen.bgcolor('black')
radius = 200
while True:
d.randomcolor()
d.randomheading()
d.fd(random.randint(1,radius))
d.dot(10)
d.home()
游戲效果

6.彩點(diǎn)實(shí)驗(yàn)下三角
游戲源碼
'''
6.彩點(diǎn)實(shí)驗(yàn)下三角
'''
from sprites import *
d = Sprite(shape='blank',visible=False)
d.screen.bgcolor('black')
while True:
d.randompos()
if d.xcor() > d.ycor():
d.randomcolor()
d.dot(10)
游戲效果

7.彩點(diǎn)實(shí)驗(yàn)拋物線
游戲源碼
'''
7.彩點(diǎn)實(shí)驗(yàn)拋物線
'''
from sprites import *
d = Sprite(shape='blank',visible=False)
d.screen.bgcolor('black')
while True:
d.randompos()
if d.ycor() > 0.5 * d.xcor() * d.xcor() /100:
d.randomcolor()
d.dot(10)
游戲效果

8.彩點(diǎn)實(shí)驗(yàn)橢圓形
游戲源碼
'''
8.彩點(diǎn)實(shí)驗(yàn)橢圓形
'''
from sprites import *
d = Sprite(shape='blank',visible=False)
d.screen.bgcolor('black')
dot1 = (-100,0)
dot2 = (100,0)
while True:
d.randompos()
d1 = d.distance(dot1)
d2 = d.distance(dot2)
if d1 + d2 < 300:
d.randomcolor()
d.dot(10)
游戲效果

9.旋轉(zhuǎn)文字
游戲源碼
from sprites import *
# 新建屏幕
screen = Screen()
# 設(shè)定背景顏色
screen.bgcolor('dodger blue')
# 設(shè)定標(biāo)題
screen.title('旋轉(zhuǎn)的文字')
# 新建不可見的角色
t=Sprite(visible=False)
# 設(shè)定角色為白色
t.color('white')
# a是一個(gè)全局變量,這里代表角度
a= 0
# 要旋轉(zhuǎn)的文字
info = '大海老師大帥比'
# 定義字體樣式
ft = ('黑體',32,'normal')
# 定義rotate函數(shù)
def rotate():
# 申明a為全局變量
global a
# 清除以前所寫內(nèi)容
t.clear()
t.write(info,align='center',font=ft,angle=a)
a = a + 10
screen.ontimer(rotate,50)
rotate()
screen.mainloop()
游戲效果

10.迷宮游戲
游戲源碼
"""
大迷宮游戲.py
小老鼠在一個(gè)偌大的迷宮中迷失了方向,請(qǐng)按上下左右方向箭頭操作它移動(dòng)。
找到出口,走出迷宮。
本程序需要python精靈模塊1.35版本以上支持。
安裝最新版本請(qǐng)用cmd打開命令提示符管理員窗口輸入以下命令:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites --upgrade
本程序主要演示的像素級(jí)碰撞檢測命令pixelcollide。它返回碰撞點(diǎn)坐標(biāo),
主碰方(在這里是老鼠)碰撞點(diǎn)的像素值,被碰方(這時(shí)是迷宮),重疊區(qū)域矩形。就像下面這樣:
((14.0, 3.0), (45, 45, 45), (104, 104, 104), (-17.0, 9.0, 18.0, -9.0, 630.0))
最后重疊區(qū)域是一個(gè)五元組,這個(gè)五元組最后一個(gè)值是重疊區(qū)域的面積。
問題是,小老鼠最后找到了綠色的出口,可怎么也無法進(jìn)門!
當(dāng)你理解了pixelcollide的返回值后,相信你能對(duì)此程序進(jìn)行修改,從而解決小老鼠的問題。
"""
from sprites import * # 從精靈模塊導(dǎo)入所有命令
from pygame import mixer # 從pygame模塊導(dǎo)入混音器
screen = Screen()
screen.setup(480,360)
screen.title('大迷宮游戲')
mixer.init()
mixer.music.load('胡偉立 - 周旋過場.mp3')
mixer.music.play(-1,0) # 從頭開始循環(huán)播放
maze = Sprite('1.png') # 新建迷宮
maze.scale(2) # 迷宮長寬擴(kuò)大為原來2倍
maze.ondrag(None) # 讓迷宮不可拖動(dòng),(maze.draggable()能讓它重新可拖動(dòng))
# 新建有兩個(gè)造型的老鼠角色
rat = Sprite(['res/rat1.png','res/rat2.png'])
rat.shapesize(0.5,0.6)
leftkey = Key("Left") # 向左方向箭頭
rightkey = Key("Right") # 向右方向箭頭
upkey = Key("Up") # 向上方向箭頭
downkey = Key("Down") # 向下方向箭頭
screen.listen() # 監(jiān)聽屏幕按鍵
r = None
while True:
if leftkey.down(): # 按左方向箭頭往左移
rat.nextcostume()
rat.setheading(180)
maze.addx(5)
r = rat.pixelcollide(maze)
if r:maze.addx(-5)
if rightkey.down(): # 按右方向箭頭往左移
rat.nextcostume()
rat.setheading(0)
maze.addx(-5)
r = rat.pixelcollide(maze)
if r:maze.addx(5)
if upkey.down(): # 按上方向箭頭往左移
rat.nextcostume()
rat.setheading(90)
maze.addy(-5)
r = rat.pixelcollide(maze)
if r:maze.addy(5)
if downkey.down(): # 按下方向箭頭往左移
rat.nextcostume()
rat.setheading(-90)
maze.addy(5)
r = rat.pixelcollide(maze) # 對(duì)rat和maze進(jìn)行像素極碰撞檢測
if r:maze.addy(-5)
if r: print(r)
screen.update()
游戲效果

以上就是十個(gè)Python經(jīng)典小游戲的代碼合集的詳細(xì)內(nèi)容,更多關(guān)于Python游戲合集的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
淺析Python中壓縮zipfile與解壓縮tarfile模塊的使用
Python?提供了兩個(gè)標(biāo)準(zhǔn)庫模塊來處理文件的壓縮和解壓縮操作:zipfile和tarfile,本文將分享?這兩個(gè)模塊的使用方法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10
Python 如何實(shí)時(shí)向文件寫入數(shù)據(jù)(附代碼)
這篇文章主要介紹了Python 如何實(shí)時(shí)向文件寫入數(shù)據(jù)(附代碼),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
Python turtle庫繪制菱形的3種方式小結(jié)
今天小編就為大家分享一篇Python turtle庫繪制菱形的3種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Python統(tǒng)計(jì)節(jié)假日剩余天數(shù)的腳本
過完春節(jié),盼著下一個(gè)節(jié)日,那么如何判斷距離節(jié)假日還有多少天呢?今天小編給大家介紹使用python腳本來解決這個(gè)問題,對(duì)Python統(tǒng)計(jì)節(jié)假日倒計(jì)時(shí)腳本感興趣的朋友一起看看吧2022-02-02
Python使用py2neo操作圖數(shù)據(jù)庫neo4j的方法詳解
這篇文章主要介紹了Python使用py2neo操作圖數(shù)據(jù)庫neo4j的方法,結(jié)合實(shí)例形式詳細(xì)分析了Python使用py2neo操作圖數(shù)據(jù)庫neo4j的具體步驟、原理、相關(guān)使用技巧與操作注意事項(xiàng),需要的朋友可以參考下2020-01-01
20個(gè)Python?random模塊常用函數(shù)的應(yīng)用與代碼示例
隨機(jī)數(shù)在計(jì)算機(jī)科學(xué)和數(shù)據(jù)科學(xué)領(lǐng)域中扮演著重要角色,Python的標(biāo)準(zhǔn)庫中提供了random模塊,用于生成各種隨機(jī)數(shù),本文將深入探討random模塊的各種函數(shù),以及它們的應(yīng)用場景和代碼示例,需要的可以參考下2024-03-03
Python利用Xpath選擇器爬取京東網(wǎng)商品信息
這篇文章主要介紹了Python利用Xpath選擇器爬取京東網(wǎng)商品信息,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06

