猫史档案馆


【Python作品分享】接球游戏【教程贴】

用户:turnintoturninto查看:0 回复:2 评论:0 创建时间:2023-07-03T20:07:05


【作品展示】

center_image

 

【作品介绍】

这个作品摘自一本书,被我稍作修改,大家可以自由评价!!!

 

【作品源代码】

import pygame as pg              #调用库并初始化
import sys
from random import randint
import time
pg.init()

game_window=pg.display.set_mode((600,500)) #设置窗口
pg.display.set_caption("接球游戏")
score=0
font=pg.font.Font(None,60)

window_color=(0,0,0) #设置颜色
ball_color=(0,255,0)
rect_color=(255,0,0)

move_x=1            #设置坐标
move_y=1
ball_x=randint(20,580)
ball_y=randint(20,480)

points=1
count=0

while True:
    game_window.fill(window_color)   #退出条件
    for event in pg.event.get():
        if event.type==pg.QUIT:
            sys.exit()

    mouse_x,mouse_y=pg.mouse.get_pos()  #游戏主程序
    pg.draw.circle(game_window,ball_color,(ball_x,ball_y),20)
    pg.draw.rect(game_window,rect_color,(mouse_x,490,100,10))
    ball_x +=move_x
    ball_y +=move_y
    my_score=font.render(str(score),False,(255,255,0))
    game_window.blit(my_score,(500,30))

    ball_x +=move_x
    ball_y +=move_y
    if ball_x<=20 or ball_x>=580:
        move_x=-move_x
    if ball_y<=20:
        move_y=-move_y
    elif (ball_x>mouse_x-20 and ball_x=470:
        move_y=-move_y
        score+=points
        count+=1
        if count==5:
            count=0
            points+=points
            if move_x>0:
                move_x+=1
            else:
                move_x-=1
            move_y-=1
    elif ball_y>480 and (ball_x<=mouse_x-20 or ball_x>=mouse_x+120):
        ball_y=490
        break

    pg.display.update() #更新窗口,保持始终打开
    time.sleep(0.005)   #间隔5秒,减慢球速

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
正直的小电鼠pyXI正直的小电鼠pyXI

呵呵

点赞0


评论


正直的小电鼠pyXI正直的小电鼠pyXI

厉害👍

点赞0


评论