python:pygame的各种使用方法

加小汽车

python:pygame的各种使用方法_第1张图片

import pygame,sys
pygame.init()
screen =pygame.display.set_caption("带透视的马路牙子")
def lineleft():
    plotpoints=[]
    for x in range(0,640):
        y=1000-5*x
        plotpoints.append([x,y])
    pygame.draw.lines(screen,[44,100,200],False,plotpoints,5)
    pygame.display.flip()

def linerinht():
    plotpoints=[]
    for x in range(0,640):
        y=5*x-2000
        plotpoints.append([x,y])
    pygame.draw.lines(screen,[44,100,200],False,plotpoints,5)
    pygame.display.flip()

def linemiddle():
    x=300
    plotpoints=[]
    for y in  range(0,480,40):
        plotpoints.append([x,y])
        if len(plotpoints)==2:
            pygame.draw.lines(screen,[0,0,255],False,plotpoints,5)
            plotpoints=[]
    pygame.display.flip()
def loadcar(y):#声明函数
    my_car=pygame.image.load("素材/汽车.png")#加载汽车到my_car
    screen.blit(my_car,[310,y])#画出汽车,位置为[310,定义的y函数]
    pygame.display.flip()#刷新窗口
def loadtext(x,y):
    textsr="location:"+str(x)+","+str(y)
    text_screen=my_font.render(textsr,True,(255,0,0))#textse渲染的文字内容,True表示打开抗锯齿模式,F表示不打开 (255,0,0)颜色
    screen.blit(text_screen,(10,10))#text_screen渲染内容,(10,10)位置
    pygame.display.flip()#刷新








screen=pygame.display.set_mode([640,480])#窗体大小

my_font=pygame.font.SysFont(None,22)#字体设置
screen.fill([255,255,255])#待刷新窗体颜色,此行代码无法单独运行
lineleft()#调用上文定义的函数
linerinht()
linemiddle()

#loadcar()
##clock=pygame.time.Clock()
y=480#窗口底部
##speed=250
while True:#判断退出窗口
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            sys.exit()
        elif event.type==pygame.KEYDOWN:#键盘按键复制到pygam按下的健
            if event.key==pygame.K_UP:#判断键盘键为哪个,执行相应命令
                y=y-50
                ##loadcar(y)
                #loadtext(310, y)
                 # 310为x,ylooper为y轴 20宽,149高像素 矩形遮挡的像素
            if event.key==pygame.K_DOWN:
                y=y+50
                ##loadcar(y)
                #loadtext(310, y)
                  # 310为x,ylooper为y轴 20宽,149高像素 矩形遮挡的像素
        screen.fill([255,255,255])#重新绘制窗口
        loadtext(310, y)
        lineleft()  # 调用上文定义的函数
        linerinht()
        linemiddle()
        loadcar(y)


    ##for ylooper in range(480,-180,-20):
       ## pygame.time.delay(200)
        #擦除上一步小汽车,绘制新的小汽车
        ##pygame.draw.rect(screen,[255,255,255],[310,ylooper+20,20,100],0)#310为x,ylooper为y轴 20宽,149高像素 矩形遮挡的像素
        #画出新的小汽车
        ##loadcar(ylooper)
    ##time_passed=clock.tick()#代码运行时间
    ##time_passed_seconds=time_passed/1000 #算出用的秒数
    ##distance_moved=time_passed_seconds*speed #计算移动距离
    ##y=y-distance_moved
    ##if y<-180:
        ##y=480
        ##linerinht()
    ##loadcar(y)

不属于pygame但涉及多种内容

import time
print("-------------------")
print("我们玩个游戏好吗?")
print("-------------------")
b="好"
print("好还是不好呢,输入好以外的字都会退出程序哦~")
time.sleep(2)
daan=input("请输入:")
if b==daan:
    print("好的,我们马上开始!")
else:
  exit(0) 
time.sleep(2)
print("这是一个文字测试游戏,你的回答会影响最终评论哦~")
time.sleep(3)
print("")
print("")
print("")
print("")
print("")
print("")
print("+++++++++++++++++++++++++++++++")
print("初学原因,字体颜色及背景无法更改,敬请见谅!")
print("+++++++++++++++++++++++++++++++")
print("话不多说开始测试:")
time.sleep(1)
print("3")
print("")
print("")
print("")
print("")
print("")
print("")
time.sleep(1)
print("2")
print("")
print("")
print("")
print("")
print("")
print("")
time.sleep(1)
print("1")
print("")
print("")
print("")
print("")
print("")
print("")
time.sleep(1)
print("本次将从著名心理学家亚瑟·阿论的36问中随机抽选10道题目进行测试")
time.sleep(1)
print("最终根据得出的答案,进行公式分析。ps;准不准不重要,主要是给你们看源码学习-_-")
time.sleep(2)
print("")
print("")
print("")
print("")
print("")
print("")
import random
list1 = ['1.果你能在全世界任选一个人和你共进晚餐,你会选谁?', '2.你想出名吗?你希望以什么样的方式成名?', '3.打电话前,你会预演你即将要说的话吗?为什么?', '4.对你来说,“完美”的一天是什么样的?', '5.上一次一个人唱歌是什么时候?和别人一起是什么时候?', '6.如果你能够活到90岁,并能在你生命的最后60年保留一个30岁的人所拥有的精神或身体,你会选择哪个?', '7.你内心能预感自己何时会离世吗?','8.说出3个你和对方在外表上的共同特征。','9.生命中什么事情让你感激不尽?','10.如果你可以改变自己的成长轨迹,你希望改成什么样子?','11.用4分钟尽可能详细地告诉对方你的生活故事。','12.如果明天醒来你可以获得一个品质或一种能力,你希望是什么?','13.如果有颗水晶球能向你揭示关于你自己、你的生活、你的未来,或是其他任何事情的真相,你想知道些什么?','14.你有没有一直梦想要做的事情?为什么没有做呢?','15.你人生中最大的成就是什么?','16.一段友谊中,你最重视的是什么?','17.珍贵中最珍贵的事情是什么?','18.记忆中最可怕的事情是什么?','19.如果你知道一年后你会突然离世,你会改变现在的生活方式吗?为什么?','20.朋友对你来说意味着什么?','21.恋爱和感情在你的生活中扮演着什么样的角色?','22.逐个列出对方好的一面,共列举5个。','23.你的家庭成员彼此亲密吗?氛围温馨吗?你觉得你的童年比大部分人都开心吗?','24.你和母亲的关系如何?','25.用“我们”组3个基于现有场景的句子,比如,我们在这个房间都感觉……','26.把这个句子补充完整:“我希望有个人能跟我分享……','27.如果你想和对方成为亲密的朋友,请列举出对他/她来说最重要的事情。','28.告诉对方你喜欢他/她的地方,这一次你要非常诚恳,说一些你平常不会跟刚认识的人说的话。','29.和对方分享人生中最尴尬的时刻。','30.上一次你在他人面前哭是什么时候?是莫名地哭吗?'
,'31.告诉对方你已经喜欢他/她很久了。','32.有没有什么事情是你认为非常严肃,不能开玩笑的?','33.假如你今晚会离世,并且没有机会跟任何人交流,你最后悔没有对谁吐露心声?为什么到现在还没有对这个人说出想说的话?','34.你的房子着火了,所有的财产都在里面。救出了亲人和宠物之后,如果你还有时间最后努力一次,并且安全地挽救任何一件物品,你会选择什么?为什么?','35.如果有家庭成员去世,你认为谁的离开最让你恐慌?为什么?','36.说一个个人问题并询问对方的处理意见,让对方向你反馈,你对这个问题所表现出的态度。']
a = random.choice(list1)
print(a)
q = input("请在这里输入:")
print("")
print("")
print("")
print("")
print("")
print("")
time.sleep(2)
c = random.choice(list1)
print(c)
w = input("请在这里输入:")
print("")
print("")
print("")
print("")
print("")
print("")
time.sleep(2)
v = random.choice(list1)
print(v)
e = input("请在这里输入:")
print("")
print("")
print("")
print("")
print("")
print("")
time.sleep(2)
b = random.choice(list1)
print(b)
r= input("请在这里输入:")
print("")
print("")
print("")
print("")
print("")
print("")
time.sleep(2)
n = random.choice(list1)
print(n)
t= input("请在这里输入:")
print("")
print("")
print("")
print("")
print("")
print("")
time.sleep(2)
m = random.choice(list1)
print(m)
u = input("请在这里输入:")
print("")
print("")
print("")
print("")
print("")
print("")
time.sleep(2)
s = random.choice(list1)
print(s)
i = input("请在这里输入:")
print("")
print("")
print("")
print("")
print("")
print("")
time.sleep(2)
h= random.choice(list1)
print(h)
o= input("请在这里输入:")
print("")
print("")
print("")
print("")
print("")
print("")
time.sleep(2)
j = random.choice(list1)
print(j)
p = input("请在这里输入:")
print("")
print("")
print("")
print("")
print("")
print("")
print("什么?你说刷到了一样的题?很正常,32选10还没设定不能重选,当然会有一样的。但是如果你刷到了10道一样的题,请告诉我,帮我买张彩票!")
time.sleep(2)
print("假装生成结果中。。。。。ps:根据公式可以秒生成,但是就想休息一下!!倒计时5秒")
time.sleep(1)
print("5")
time.sleep(1)
print("4")
time.sleep(1)
print("3")
time.sleep(1)
print("2")
time.sleep(1)
print("1")
print("别慌别慌,快了!")
print("想看分析的话还需要最后一步,输入你的生日,真的最后一步了。输入格式例子:生日是4月19的话 输入 419,生日是12月12的话输入 1212  输入错误将结束程序,请谨慎!")
time.sleep(1)
def main():
    data1=int(input("请输入生日:"))
data1=int(input("请输入生日:"))
print("")
print("")
print("")
print("")
print("")
print("")
print("")
#不看代码你永远不知道那几个提问半毛钱用也没有,我又不是心理学家,你回答什么我哪看的懂,更别说给你分析了-_-  最后的生日才是重点,星座性格了解一下----贺健波
if 311<data1<420:
    print("分析结果为;热情冲动、爱冒险、慷慨,天不怕地不怕。而且一旦下定决心,不到黄河心不死,排除万难也要达到目的,脾气差,不过只是炮仗颈,绝对不会放在心上。")
elif 419<data1<521:
 print("分析结果为;喜欢稳定,不爱变动。在性格上则比较慢热,对工作、生活、环境都需要比较长的适应期.往往是财富的象征,在投资理财方面有独到的见解,有大男人倾向,喜欢打扮自己")
elif 520<data1<622:
    print("分析结果为;喜好新鲜事物,有着小聪明,但做事常常不太专一,脑子中那些新鲜的,稀奇古怪的东西会让人好奇,也许是对新鲜事物的追求和好奇,你会让人觉得你很花心,其实不然,只是喜欢新鲜而已")
elif 621<data1<723:
     print("分析结果为;充满爱心,将母性发挥到极限,对你来说,最重要的东西是家庭,就像螃蟹一样,坚硬的外壳下是柔软的内心。对家人朋友非常忠实,做事会坚持到底")
elif 722<data1<823:
    print("分析结果为;热情、阳光、大方,爱面子,自信的有点自大,常常会很在乎别人对自己的看法,也常常因此而不快乐")
elif 822<data1<923:
    print("分析结果为;追求完美,吹毛求疵是你的特性,你很谦虚,但也因此给自己造成了很大的压力。你平常不喜欢闲着,对别人常常乐于服务。缺乏自信的你有时候组织能力比较差")
elif 922<data1<1024:
    print("分析结果为;你常常追求和谐的感觉,善于交谈,沟通能力是你最的优点,最大的缺点往往是犹豫不决,容易将自己的想法加在被人身上,你要时刻小心这一点,女生会缺乏安全感")
elif 1023<data1<1123:
    print("分析结果为;精力旺盛,热情,善妒,占有欲极强,想每天都过的非常充实,如果失去了目标,就会很难认真的投入精力,记仇,会不顾一切的打击仇人,有点事,一旦定了自己的目标,就会不达目的誓不罢休")
elif 1122<data<1222:
    print("分析结果为;就像在箭上的弦一样,喜欢主动出击,为人乐观,诚实,热情,喜欢挑战。是冒险家,热爱旅行,喜欢赌博,意志力薄弱是天生弱点,如果沉迷于赌博游戏,后果不堪设想")
elif 119<data1<219:
    print("分析结果为;很聪明。最大特点是创新,追求独一无的生活,个人主义色彩很浓重。对人友善又注重隐私,绝对算得上友谊之星,很喜欢结交每一类朋友,却很难与他们交心。那需要很长时间,对自己的家冷淡和疏远很多")
elif 218<data1<321:
    print("分析结果为;一颗善良的心,愿意帮助别人,甚至牺牲自己。性格复杂,难以捉摸。")
elif 1222<data1<119:
    print("分析结果为:你跟有耐心,行事小心,善良,做事脚踏实地,也比较固执,不达目的是不会放手的。忍耐力也是出奇的强大,同时也非常勤奋.心中总是背负着很多的责任感,但往往又很没有安全感,不会完全地相信别人。")
            

pygame小鸡接米游戏

python:pygame的各种使用方法_第2张图片

import pygame,sys#模块导入
pygame.init()#初始化模块

import random#导入随机模块
screen=pygame.display.set_mode((800,600))#窗体大小
pygame.display.set_caption("小鸡接米")#标题

#背景音效
pygame.mixer.init()#初始化混响器
pygame.mixer.music.load("素材/背景音乐.wav")#加载音乐
pygame.mixer.music.set_volume(0.2)#设置音量
pygame.mixer.music.play(-1,0)#循环播放

#碰撞音效
sound1=pygame.mixer.Sound("素材/加分.wav")
sound2=pygame.mixer.Sound("素材/二杀.wav")
sound3=pygame.mixer.Sound("素材/三杀.wav")
sound4=pygame.mixer.Sound("素材/超神.wav")
走路音效=pygame.mixer.Sound("素材/走路.wav")



分数=0
class Chick():#类方法
    def __init__(self,图片,位置):#构造方法,类里面的构造方法可被继承
        self.image=pygame.image.load(图片)#加载图片
        self.rect=self.image.get_rect()#获取矩形,以便操作,移动位置所用
        self.rect.topleft=位置#图片出现的位置
def dreawbackground():#绘制背景
    bg_img=pygame.image.load("素材/背景2.png")#导入图片
    screen.blit(bg_img,(0,0))#绘制,从0,0开始
def 绘制得分(分数):
    字体=pygame.font.SysFont("SimHei",30)#字体 simhei表示黑体,自带字体None无法识别中文
    分数总="分数:"+str(分数)
    渲染后字体=字体.render(分数总,True,(255,0,0))#要渲染的内容,是否开启抗锯齿,颜色,
    screen.blit(渲染后字体,(650,50))#在窗口上绘制字体,要给出坐标哦

class 玉米(pygame.sprite.Sprite):#继承用双s
    def __init__(self,位置,移动步长):
        pygame.sprite.Sprite.__init__(self)#精灵类里面构造方法进行调用
        self.image=pygame.image.load("素材/玉米.png")#加载图片
        self.rect=self.image.get_rect()#获取矩形
        self.rect.topleft=位置#给一个位置
        self.speed=移动步长

    def move(self):#移动
        self.rect=self.rect.move(self.speed)
def loadgameover():
    字体=pygame.font.SysFont(None,60)
    内容="GAME OVER"
    渲染后字体=字体.render(内容,True,(255,0,0))
    screen.blit(渲染后字体,(250,260))
#dreawbackground()#调用
#实例化玉米类
z=random.randint(30,700)#随机出个数给玉米的x轴

meize= 玉米([z,100],[0,5])#玉米类


x=100
y=500
小鸡图片=1="素材/鸡正面.png"
一只鸡=Chick(,[x,y])
screen.blit(一只鸡.image,一只鸡.rect)#绘制一只鸡,rect表示位置

while True:#是否关闭窗口
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            sys.exit()
        elif event.type==pygame.KEYDOWN:#当按下任意键的时候
            走路音效.play()#开始播放
        elif event.type==pygame.KEYUP:#当弹起时
            走路音效.stop()#停止播放


    pressed_keys=pygame.key.get_pressed()#=后面是所有按键的意思
    if pressed_keys[pygame.K_LEFT]:#如果按下左键
        if 小鸡图片==1:= "素材/鸡侧面.png"
            小鸡图片=0#通过重置此数达到多次判断多次进行
        else:= "素材/鸡侧面2.png"
            小鸡图片=1
        if x<0:#判断x是否走出窗口,如果走出,则重置位置
            x=0
        else:
            x=x-10
        一只鸡 = Chick(, [x, y])  # 画鸡要给出坐标
        screen.blit(一只鸡.image, 一只鸡.rect)  # 绘制一只鸡,rect表示位置
    if pressed_keys[pygame.K_RIGHT]:#如果按下左键
        if 小鸡图片==1:="素材/鸡向右.png"
            小鸡图片=0#通过重置此数达到多次判断多次进行
        else:="素材/鸡向右2.png"
            小鸡图片=1
        if x>720:
            x=720
        else:
            x=x+10
        一只鸡 = Chick(, [x, y])  # 画鸡要给出坐标
        screen.blit(一只鸡.image, 一只鸡.rect)  # 绘制一只鸡,rect表示位置
    dreawbackground()  # 调用
    绘制得分(分数)#打印分数
    meize.move()#调用移动
    screen.blit(meize.image,meize.rect)#绘制
    一只鸡 = Chick(,[x,y])#重新绘制鸡
    screen.blit(一只鸡.image,一只鸡.rect)
    if 一只鸡.rect.colliderect(meize.rect):#判断两个矩形是否右重合区域
        分数+=1
        sound1.play()
        z=random.randint(30,560)
        meize=玉米([z,100],[0,5])

    if meize.rect.top>600:#如果玉米超出屏幕
        loadgameover()
        pygame.mixer.music.stop()#停止背景音乐播放
    pygame.display.flip()  # 刷新

pygame写小鸡接米改版

python:pygame的各种使用方法_第3张图片

难度=int(input("请选择难度等级,最高为三级,最低为一级。请用数字输入:"))
print()
print()
print()
print()
print()
print()
print()
print()
图片=int(input("请选择人物外貌,1为小火人,2为脸谱,3为小猪。请用数字输入:"))
速度=5
移动速度=10
if 难度==1:
    速度=6
elif 难度==2:
    速度 =8
elif 难度==3:
    速度 =13
    移动速度=13
else:
    速度=5
import pygame,sys#模块导入
import time
pygame.init()#初始化模块

import random#导入随机模块
screen=pygame.display.set_mode((800,600))#窗体大小
pygame.display.set_caption("小火人过关")#标题
欢迎来到=pygame.mixer.Sound("素材/欢迎.wav")
欢迎来到.play()
time.sleep(4)
#背景音效
pygame.mixer.init()#初始化混响器
pygame.mixer.music.load("素材/战歌.wav")#加载音乐
pygame.mixer.music.set_volume(0.2)#设置音量
pygame.mixer.music.play(-1,0)#循环播放

#碰撞音效
sound1=pygame.mixer.Sound("素材/一血.wav")
sound2=pygame.mixer.Sound("素材/二杀.wav")
sound3=pygame.mixer.Sound("素材/三杀.wav")
sound4=pygame.mixer.Sound("素材/四杀.wav")
sound5=pygame.mixer.Sound("素材/五杀.wav")
sound6=pygame.mixer.Sound("素材/超神.wav")
sound8=pygame.mixer.Sound("素材/加分.wav")
sound7=pygame.mixer.Sound("素材/结束.wav")
走路音效=pygame.mixer.Sound("素材/走路.wav")

分数=0
class Chick():#类方法
    def __init__(self,图片,位置):#构造方法,类里面的构造方法可被继承
        self.image=pygame.image.load(图片)#加载图片
        self.rect=self.image.get_rect()#获取矩形,以便操作,移动位置所用
        self.rect.topleft=位置#图片出现的位置
def dreawbackground():#绘制背景

    bg_img=pygame.image.load("素材/第一关.jpg")#导入图片
    if 20>分数>=10:
        bg_img = pygame.image.load("素材/第二关.jpg")  # 导入图片
    elif 分数>=20:
        bg_img = pygame.image.load("素材/第三关.jpg")  # 导入图片

    screen.blit(bg_img,(0,0))#绘制,从0,0开始

def 绘制得分(分数):
    字体=pygame.font.SysFont("SimHei",30)#字体 simhei表示黑体,自带字体None无法识别中文
    分数总="分数:"+str(分数)
    渲染后字体=字体.render(分数总,True,(255,0,0))#要渲染的内容,是否开启抗锯齿,颜色,
    screen.blit(渲染后字体,(650,50))#在窗口上绘制字体,要给出坐标哦

class 玉米(pygame.sprite.Sprite):#继承用双s
    def __init__(self,位置,移动步长):
        pygame.sprite.Sprite.__init__(self)#精灵类里面构造方法进行调用
        if 分数<10:
            self.image=pygame.image.load("素材/玉米1.png")#加载图片
        elif 20>分数>=10:
            self.image = pygame.image.load("素材/玉米2.png")  # 加载图片
        elif 30>分数 >=20:
            self.image = pygame.image.load("素材/玉米3.png")  # 加载图片
        elif 分数 >= 30:
            玉米随机 = random.randint(1, 4)
            if 玉米随机 == 1:
                self.image = pygame.image.load("素材/玉米1.png")  # 导入图片
            elif 玉米随机 == 2:
                self.image = pygame.image.load("素材/玉米2.png")  # 导入图片
            else:
                self.image = pygame.image.load("素材/玉米3.png")  # 导入图片
        self.rect=self.image.get_rect()#获取矩形
        self.rect.topleft=位置#给一个位置
        self.speed=移动步长

    def move(self):#移动
        self.rect=self.rect.move(self.speed)
def loadgameover():
    字体=pygame.font.SysFont("SimHei",40)
    内容="本局已结束,回车重新开始!"
    r=random.randint(0,255)
    b=random.randint(0,255)
    g=random.randint(0,255)
    渲染后字体=字体.render(内容,True,(r,g,b))
    screen.blit(渲染后字体,(135,260))
#dreawbackground()#调用
#实例化玉米类
z=random.randint(30,700)#随机出个数给玉米的x轴

meize= 玉米([z,100],[0,速度])#玉米类
x=100
y=500
小鸡图片=1
击杀数=1
if 图片==1:="素材/龙.png"
elif 图片==2:="素材/脸谱.png"
elif 图片 == 3:= "素材/小猪.png"
一只鸡=Chick(,[x,y])
screen.blit(一只鸡.image,一只鸡.rect)#绘制一只鸡,rect表示位置

while True:#是否关闭窗口
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            sys.exit()
        elif event.type==pygame.KEYDOWN:#当按下任意键的时候
            走路音效.play()#开始播放
        elif event.type==pygame.KEYUP:#当弹起时
            走路音效.stop()#停止播放


    pressed_keys=pygame.key.get_pressed()#=后面是所有按键的意思
    if pressed_keys[pygame.K_LEFT]:#如果按下左键
        if 小鸡图片==1:
            if 图片==2:="素材/脸谱2.png"
                小鸡图片 = 0
            elif 图片==1:= "素材/龙2.png"
                小鸡图片=0#通过重置此数达到多次判断多次进行
            elif 图片==3:= "素材/小猪2.png"
                小鸡图片=0#通过重置此数达到多次判断多次进行
        else:
            if 图片==2:= "素材/脸谱.png"
                小鸡图片 = 1
            elif 图片==1:= "素材/龙.png"
                小鸡图片=1
            elif 图片 == 3:= "素材/小猪.png"
                小鸡图片 = 1  # 通过重置此数达到多次判断多次进行
        if x<0:#判断x是否走出窗口,如果走出,则重置位置
            x=0
        else:
            x=x-移动速度
        一只鸡 = Chick(, [x, y])  # 画鸡要给出坐标
        screen.blit(一只鸡.image, 一只鸡.rect)  # 绘制一只鸡,rect表示位置
    if pressed_keys[pygame.K_RIGHT]:#如果按下左键
        if 小鸡图片==1:
            if 图片==2:="素材/脸谱.png"
                小鸡图片 = 0
            elif 图片==1:="素材/龙.png"
                小鸡图片=0#通过重置此数达到多次判断多次进行
            elif 图片==3:= "素材/小猪2.png"
                小鸡图片 =0  # 通过重置此数达到多次判断多次进行
        else:
            if 图片==2:="素材/脸谱2.png"
                小鸡图片=1
            elif 图片==1:="素材/龙2.png"
                小鸡图片=1
            elif 图片==3:= "素材/小猪.png"
                小鸡图片 = 1  # 通过重置此数达到多次判断多次进行
        if x>720:
            x=720
        else:
            x=x+移动速度
        一只鸡 = Chick(, [x, y])  # 画鸡要给出坐标
        screen.blit(一只鸡.image, 一只鸡.rect)  # 绘制一只鸡,rect表示位置
    dreawbackground()  # 调用
    绘制得分(分数)#打印分数
    meize.move()#调用移动
    screen.blit(meize.image,meize.rect)#绘制
    一只鸡 = Chick(,[x,y])#重新绘制鸡
    screen.blit(一只鸡.image,一只鸡.rect)
    if 一只鸡.rect.colliderect(meize.rect):#判断两个矩形是否右重合区域
        分数+=1
        if 难度==1:
            速度=速度+0.3
            移动速度=移动速度+0.3
        elif 难度==2:
            速度 = 速度 + 0.5
            移动速度 = 移动速度 + 0.5
        elif 难度 == 3:
            速度 = 速度 + 0.8
            移动速度 = 移动速度 + 0.8
        if 击杀数==1:
            sound1.play()
            击杀数=击杀数+1
        elif 击杀数==2:
            sound2.play()
            击杀数=击杀数+1
        elif 击杀数==3:
            sound3.play()
            击杀数=击杀数+1
        elif 击杀数==4:
            sound4.play()
            击杀数 = 击杀数 + 1
        elif 击杀数==5:
            sound5.play()
            击杀数 = 击杀数 + 1
        elif 击杀数==6:
            sound6.play()
            击杀数=击杀数+1
        elif 击杀数==7:
            sound8.play()



        z=random.randint(30,560)
        meize=玉米([z,100],[0,速度])

    if meize.rect.top>600:#如果玉米超出屏幕
        loadgameover()#游戏结束
        pygame.mixer.music.stop()#停止背景音乐播放
        sound7.play()
        if pressed_keys[pygame.K_RETURN]:
            pygame.mixer.music.play(-1, 0)  # 循环播放
            meize = 玉米([z, 100], [0, 速度])
            sound7.stop()
            分数=0
            击杀数=1
            速度 = 5
            移动速度 = 10
            if 难度 == 1:
                速度 = 6
            elif 难度 == 2:
                速度 = 8
            elif 难度 == 3:
                速度 = 13
                移动速度 = 13
            else:
                速度 = 5
    pygame.display.flip()  # 刷新

pygame写愤怒的小鸟

python:pygame的各种使用方法_第4张图片

import pygame,sys  #导入模块
pygame.init()#初始化pygame模块
width,height=600,400#赋值

窗体=pygame.display.set_mode([width,height])#窗体大小

pygame.display.set_caption("愤怒的小鸟")#标题

小鸟图片=pygame.image.load("素材/小鸟.png")#加载图片

位置=小鸟图片.get_rect()#获取矩形
speed=[2,1]#速度
l_hand=pygame.transform.flip(小鸟图片,True,False)#翻转
r_hand=小鸟图片
while True:#让窗口存在且在想关闭的时候关闭
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            exit()
        if event.type==pygame.KEYDOWN:#判断是否按下键
            if event.key==pygame.K_LEFT:#按下左键
                小鸟图片=l_hand#小鸟头向左翻转
                speed=[-2,1]
            if event.key == pygame.K_RIGHT:  # 按下右键
                小鸟图片 = r_hand  # 小鸟头向右翻转
                speed = [2, 1]

    位置=位置.move(speed)#移动位置,就是xy轴的移动差距
    # 如果超出右边缘或者左边
    if 位置.right>width or 位置.left<0:
        speed[0]=-speed[0]#反过来走取负
        小鸟图片=pygame.transform.flip(小鸟图片,True,False)#图片进行反转,第一个表示是否水平翻转,第二个表示是否垂直翻转
    #if 位置.left<0:#左边缘
        #speed[0]=-speed[0]
        #小鸟图片 = pygame.transform.flip(小鸟图片, True, False)  # 图片进行反转,第一个表示是否水平翻转,第二个表示是否垂直翻转
    if 位置.bottom>height or 位置.top<0:
        #下边缘
        speed[1]=-speed[1]#数组方式 x下表为0 y下标为1,取y的负数
    #if 位置.top<0:#上边缘
        #speed[1]=-speed[1]

    窗体.fill((255,255,255))  # 窗体颜色
    窗体.blit(小鸟图片,位置)  # 绘制小鸟
    pygame.display.update()#刷新窗口 另一种方法 #pygame.display.filp()
    pygame.time.delay(10)#延迟10毫秒

pygame满天繁星

python:pygame的各种使用方法_第5张图片

import pygame,sys#模块导入
import random#随机模块
pygame.init()#初始化模块
窗体=pygame.display.set_mode((600,600))#窗口大小

def draw():
    pygame.font.init()#初始化字体
    font=pygame.font.Font(None,40)
    for i in range(0,100):
        R=random.randint(0,255)#随机颜色参数
        G=random.randint(0,255)
        B=random.randint(0, 255)
        font_read=font.render("*",True,(R,G,B))#渲染方式True表示是否打开抗锯齿
        窗体.blit(font_read,(xx[i],yy[i]))#绘制“*”
    pygame.draw.circle(窗体,(255,255,255),(100,100),50,0)#画圆出现位置,半径,填充
    pygame.draw.circle(窗体,(0,0,0),(80,80),50,0)
def action():#正常关闭窗口
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            exit()
    for i in range(0,100):#进行判断,星星位置重置
        if xx[i]>600:
            xx[i]=0
        if yy[i]>600:
            yy[i]=0
        xx[i]+=1#每一项加一  星星移动
        yy[i]+=1#每一项加一
xx=[]#星星x坐标
yy=[]#星星y坐标
def init():
    for i in range(0,100):#循环次数为100
        xx.append(random.randint(0,600))# 随机从0-600选数添加到xx列表
        yy.append(random.randint(0,600))# 随机从0-600选数添加到yy列表
def main():#定义方法,构造函数
    #pass占位
    pygame.display.set_caption("星星")#标题
    while True:
        action()#窗口关闭
        窗体.fill((0,0,0,))#窗体颜色#注意调用顺序,容易覆盖画出的内容
        draw()#绘制函数
        pygame.time.delay(10)#延迟10毫秒
        pygame.display.update()#刷新窗口



if __name__ == '__main__':#输入main回车意思是运行的时候直接输出以下内容
    init()#初始化
    main()#主函数调用

创建窗口,未用pygamen模块儿

python:pygame的各种使用方法_第6张图片

import tkinter#导入窗口模块
top=tkinter.Tk()#创建窗口
top.title("我是窗口名")#窗口名
top.geometry("500x500")#窗口大小,乘号为x而不是*
top.mainloop()#刷新窗口循环,也就是一直显示窗口

pygame精灵例子:实现控件移动

1.

import pygame,sys#模块导入
pygame.init()#模块初始化
class Temp(pygame.sprite.Sprite):#声明类????精灵类 继承以下声明
    def __init__(self,position):#画矩形?
        pygame.sprite.Sprite.__init__(self)#基类初始化
        self.image=pygame.Surface([30,30])#slif第一个参数为高宽
        self.image.fill([255,0,0])#颜色
        self.rect=self.image.get_rect()#获取self对象的坐标和高宽
        self.rect.topleft=position#左上角坐标传递
class Car(pygame.sprite.Sprite):#类继承
    def __init__(self,position):#构造类
        pygame.sprite.Sprite.__init__(self)#调用被继承的类的其中一个函数#必须调用
        self.image=pygame.image.load("素材/汽车.png")#加载小汽车
        self.rect=self.image.get_rect()#矩形坐标??小汽车位置
        self.rect.topleft=position                  #左上角坐标

screen=pygame.display.set_mode([640,480])#窗体大小
screen.fill([255,255,255])#颜色

b = Temp([50,100])   #调用。[50,100]实例化传递参数
screen.blit(b.image,b.rect)#画出

car = Car([100,200])#调用Car类传入小汽车左上角的位置参数
screen.blit(car.image,car.rect)
pygame.display.update()#局部刷新
while True:#退出窗口
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            sys.exit()

2.

import pygame,sys#老规矩导入pygame模块和系统模块
pygame.init()#初始化模块
class Car(pygame.sprite.Sprite):#可被继承的精灵类
    def __init__(self,filename,position):#构造函数
        pygame.sprite.Sprite.__init__(self)
        self.image=pygame.image.load(filename)#加载小汽车
        self.rect=self.image.get_rect()#图片定位,获取坐标和宽高
        self.rect.topleft=position#左上角位置

screen=pygame.display.set_mode([640,480])#窗口大小
screen.fill([255,255,255])#背景色


car_img="素材/汽车.png"


locationgrounp=([50,50],[100,100],[200,200])#多组位置列表
##cargroup=[]#空列表
##for location in locationgrounp:#location要在Car类中进行参数传递
    #cargroup.append(Car(car_img,location))#给空列表添加对象
##for car in  cargroup:#循环画图?
    #screen.blit(car.image, car.rect)


#第二种精灵组
cargroup=pygame.sprite.Group()#简单精灵组
for location in  locationgrounp:
    cargroup.add(Car(car_img,location))#添加坐标运用Car类
for car in cargroup:
    screen.blit(car.image,car.rect)#画图




#car=Car(car_img,[10,10])#调用car类     图片导入步骤,一导入模块,二获取坐标,三选择顶点,四导入图片,五绘制,六刷新
#screen.blit(car.image,car.rect)#绘制
pygame.display.update()#刷新

while True:#窗口判断
    for event in  pygame.event.get():
        if event.type==pygame.QUIT:
            sys.exit()

3.

import pygame,sys #导入模块
pygame.init()#初始化模块
import random
class Car(pygame.sprite.Sprite):#类
    def __init__(self,filename,position,speed):
        pygame.sprite.Sprite.__init__(self)
        self.image=pygame.image.load(filename)#导入图片
        self.rect=self.image.get_rect()#得到边框,以便确定右上角
        self.rect.topleft=position#左上角地址
        self.speed=speed#待加参数
    def move(self):#移动
        self.rect =self.rect.move(self.speed)#rect=边框,move=移动,意思是边框移动及图片移动
        if self.rect.bottom<0:#判断超出窗口则重置y坐标
            self.rect.top=480
    def moveleft(self):#左移动
        self.rect.left=self.rect.left-10
        if self.rect.left<0:
            self.rect.left=0
    def moveright(self):#右移动
        self.rect.right=self.rect.right+10
        if self.rect.right>640:
            self.rect.right=640


screen=pygame.display.set_mode((640,480))#窗体大小
pygame.display.set_caption("移动的小汽车")#标题
screen.fill([255,255,255])#背景颜色


filename="素材/汽车.png"#定义小汽车名字


locationgroup=([150,200],[350,300],[250,200])
cargroup=pygame.sprite.Group()
for location in locationgroup:
    speed=[random.choice([-2,1,0]),random.choice([-10,-1,-3])]
    cargroup.add(Car(filename,location,speed))#添加小汽车

run=True
while run:#防止窗口关闭
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            run=False
        elif event.type==pygame.KEYDOWN:#判断按键
            if event.key==pygame.K_LEFT:#左键
                for car in cargroup.sprites():
                    car.moveleft()
                    screen.blit(car.image,car.rect)
            if event.key==pygame.K_RIGHT:#右键
                for car in cargroup.sprites():
                    car.moveright()
                    screen.blit(car.image, car.rect)

    pygame.time.delay(20)
    for car in cargroup.sprites():#调用精灵组所有对象
        car.move()
        screen.blit(car.image, car.rect)  # 绘制小汽车

    pygame.display.update()#窗体更新
pygame.quit()

python:pygame的各种使用方法_第7张图片

pygame背景加载

python:pygame的各种使用方法_第8张图片

import pygame#导入pygame模块
from sys import exit #猜测from sys为系统模块前缀,import.exit从系统当中导入推出模块
pygame.init()#初始化pygame模块

screen = pygame.display.set_mode((500,354))#窗体大小
pygame.display.set_caption("游戏窗口")#标题
background=pygame.image.load("素材/bg.jpg").convert()#导入图片


while True:#判断,点❌结束循环
    for event in pygame.event.get():
        if event.type ==pygame.QUIT:
            pygame.quit()
            exit()#与导入呼应,彻底退出窗口
    # 把背景画到窗体
    screen.blit(background, (0, 0))
    #刷新画面
    pygame.display.update()

pygame音效添加


import pygame,sys   #老规矩,导入模块并初始化
pygame.init()
screen=pygame.display.set_mode([640,480])
#混音器
sound=pygame.mixer.Sound("素材/二杀.wav")
sound1=pygame.mixer.Sound("素材/超神.wav")
#pygame打开方式
pygame.mixer.music.load("素材/三杀.mp3")#常用于背景音乐
pygame.mixer.music.set_volume(0.5)#音量
pygame.mixer.music.play()  # 运行

while True:
    for event in  pygame.event.get():
        if event.type==pygame.QUIT:
            sys.exit()
        if event.type==pygame.MOUSEBUTTONDOWN:
            if event.button==1:#如果鼠标左键点击
                sound.play()
            if event.button==3:#如果鼠标右键点击
                pygame.mixer.music.play()  # 运行

            if event.button == 2:  # 如果鼠标中键点击
                sound1.play()


python爬取新闻标题

python:pygame的各种使用方法_第9张图片

# 导入urllib下的request模块
import urllib.request
# 导入正则匹配包
import re
url="https://www.thepaper.cn/"#待爬取网站
webSourceCode=urllib.request.urlopen(url).read().decode("utf-8","ignore")#编码
titleRe=re.compile('(.*?))#源
titles=titleRe.findall(webSourceCode)#匹配网页对应的标题数据
for title in titles:
    print(title)

python写爬取淘宝表面东西

python:pygame的各种使用方法_第10张图片

# 导入urllib下的request模块
import urllib.request
# 导入正则匹配包
import re
url="https://www.taobao.com/"#待爬取网站
webSourceCode=urllib.request.urlopen(url).read().decode("utf-8","ignore")#编码
titleRe=re.compile(r'(.*?)')#源 标题
titles=titleRe.findall(webSourceCode)#匹配网页对应的标题数据
for title in titles:
    print(title)

pygame画矩形和圆形

python:pygame的各种使用方法_第11张图片

import pygame
import sys
pygame.init()#初始化pygame
screen = pygame.display.set_mode((500,500))#窗体大小


pygame.display.set_caption("游戏窗口")#标题
while True:#判断,点❌结束循环
    for event in pygame.event.get():
        if event.type ==pygame.QUIT:
            sys.exit()#彻底退出
    screen.fill((255, 255, 255))#颜色

    # 画圆参数,1.screen在哪个窗体。2.(40.255.155)颜色。3.[100,100]圆心位置.4. 100为半径 5,0为填充圆,》0为圆边的粗细
    ##pygame.draw.circle(screen,(40,255,155),[100,100],100,0)


    #画矩形参数,1.screen在哪个窗体。2.(40.255.155)颜色。3.从0。0为矩形左上角坐标(先x后y),50为宽,300为长 4.0为填充矩形,》0为边的粗细
    ##pygame.draw.rect(screen,[128,123,154],[0,0,50,300],0)


 #矩形画树干
    pygame.draw.rect(screen, [128, 42, 42], [100,300,50, 100], 0)
#圆画树顶
    pygame.draw.circle(screen, (40, 255, 155), [125,275], 60, 0)
    #重复画圆
    pygame.draw.circle(screen, (40, 255, 155), [100, 200], 30, 0)
    #同理,改变x轴位置即可多圆
    pygame.draw.circle(screen, (40, 255, 155), [165, 200], 30, 0)
    pygame.display.flip()#刷新

pygame画马路

python:pygame的各种使用方法_第12张图片

import pygame,sys#导入模块
pygame.init()#初始化pygame
screen =pygame.display.set_caption("带透视的马路牙子")#标题

#通过随机函数range生成指定列表,例如list(range(1,10))即生成[0,1,2,3,4.....,9] 曾出现在 for i in range()中

#列表添加元素
#例子 mylist1=[1,2,3]
#mylist1.append(4)
#生成mylisat1=[1,2,3,4]



def lineleft(): #定义函数
    plotpoints=[]#点的列表胡化,把点的位置以列表的形式循环展现出来,运用for循环
    for x in range(0,640):
        y=1000-5*x
        plotpoints.append([x,y])
    pygame.draw.lines(screen,[44,100,200],False,plotpoints,5)#画线
    #1.screen窗体2.[44,100,200]颜色3.False是否关闭     4.[[50.50],[100.100]]直线两点的坐标 5.5宽度,此列表以plotpoints
    pygame.display.flip()#刷新窗口,不刷新无法显示

def linerinht(): #定义函数
    plotpoints=[]#点的列表胡化,把点的位置以列表的形式循环展现出来,运用for循环
    for x in range(0,640):
        y=5*x-2000
        plotpoints.append([x,y])
    pygame.draw.lines(screen,[44,100,200],False,plotpoints,5)#画线
    #1.screen窗体2.[44,100,200]颜色3.False是否关闭     4.[[50.50],[100.100]]直线两点的坐标 5.5宽度
    pygame.display.flip()#刷新窗口,不刷新无法显示

#画中心虚线
def linemiddle():
    x=300
    plotpoints=[]
    for y in  range(0,480,40):
        #每间隔两给点,生成一个线段
        plotpoints.append([x,y])
        if len(plotpoints)==2:
            pygame.draw.lines(screen,[0,0,255],False,plotpoints,5)
            plotpoints=[]#重置为空列表
    pygame.display.flip()#刷新窗口







screen=pygame.display.set_mode([640,480])#窗体大小

screen.fill([255,255,255])#待刷新窗体颜色,此行代码无法单独运行
lineleft()#调用上文定义的函数
linerinht()
linemiddle()

while True:#判断退出窗口
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            sys.exit()

素材打包

百度云打包:https://pan.baidu.com/s/1uDRRujER9ur_8TkZ2avbMw

你可能感兴趣的:(python)