猫史档案馆


【Python作品分享】弹球【作品秀】

用户:HlyrHlyr查看:2 回复:3 评论:2 创建时间:2021-12-07T19:33:12


【作品展示】

center_image

 

【作品介绍】

源于《跟我一起玩Python编程(下)》

 

【作品源代码】

import random
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 = random.randint(20, 580)
ball_y = random.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 mouse_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)



 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
一缕余晖一缕余晖

一缕余晖来啦!!!

点赞0


评论


HlyrHlyr

的部分代码

点赞0


评论


HlyrHlyr

window_color = (255,255,255)
ball_color = (0,255,255)
rect_color = (255,0,255)

第15至17行的参数可以改成0(含)以上255(含)以下的数字

点赞0


评论