Bob - 双人接小球游戏

import pygame
import random

yihaowanjiadefen = 0
erhaowanjiadefen = 0
import time as t


def ball(screen, x, y, down, right, green, speed):
    if down:
        y = y + speed
    else:
        y = y - speed

    if right:
        x += speed
    else:
        x -= speed

    if y > screen_width:
        down = False
    if x > screen_long:
        right = False
    if 0 > y:
        down = True
    if x < 0:
        right = True

    # pygame.draw.circle(screen, (green, 255, 20), (x, y), 50)
    return x, y, down, right, speed


pygame.init()
screen_long, screen_width = 1200,800
screen = pygame.display.set_mode((screen_long, screen_width ))

x, y, down, right, speed = random.randint(0, screen_long), random.randint(0, screen_width), True, True, 1
ban_x, ban_y, ban_k, ban_g = screen_long-100, 250, 100, 100
ban_x2, ban_y2, ban_k2, ban_g2 = 0, 250, 100, 100
# 电脑每隔多少毫秒时间响应一次
# 文字1:设置文字的字体和大小  font 字体
wen_zi_da_xiao = pygame.font.SysFont("fangsong", 40)
# 图片1:加载图片
toukui = pygame.image.load("ball.png")
dunhuang = pygame.image.load("dunuang.jpg")
# 1秒=1000毫秒
pygame.key.set_repeat(1, 1)
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
        # elif event.type == pygame.MOUSEMOTION:
        #     ban_x, ban_y = event.pos    # pos---> position
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_UP:
                ban_y -= 5
                if ban_y < 0:
                    ban_y = 0
            if event.key == pygame.K_DOWN:
                ban_y += 5
                if ban_y > screen_width - 100:
                    ban_y = screen_width - 100
            if event.key == pygame.K_w:
                ban_y2 -= 5
                if ban_y2 < 0:
                    ban_y2 = 0
            if event.key == pygame.K_s:
                ban_y2 += 5
                if ban_y2 > screen_width - 100:
                    ban_y2 = screen_width-100

    screen.fill((65, 105, 225))
    screen.blit(dunhuang, (0,0))
    screen.blit(dunhuang, (500,0))
    screen.blit(dunhuang, (0,400))
    screen.blit(dunhuang, (500,400))


    x, y, down, right, speed = ball(screen, x, y, down, right, 0, speed)
    if x > screen_long-100 and ban_y < y < ban_y + 100:
        yihaowanjiadefen += 1
        x = screen_long-100
        right = False
        speed += 1
    if x < 100 and ban_y2 < y < ban_y2 + 100:
        erhaowanjiadefen += 1
        x = 100
        right = True
        speed += 1
    # px,py,pdown,pright = ball(screen, px,py,pdown,pright,255)
    pygame.draw.rect(screen, (220, 0, 0), (ban_x, ban_y, ban_k, ban_g))
    pygame.draw.rect(screen, (220, 100, 0), (ban_x2, ban_y2, ban_k2, ban_g2))
    # 文字2:设置文字内容和颜色
    wen_zi_nei_rong = wen_zi_da_xiao.render("双人对战游戏",True,(0,0,0))
    wenzi_neirong = wen_zi_da_xiao.render("%s : %s" % (erhaowanjiadefen,yihaowanjiadefen),True,(205,38,38))
    # 文字3:把文字放在窗口上 blit 传送
    screen.blit(wen_zi_nei_rong,(screen_long/2-70,0))
    screen.blit(wenzi_neirong, (screen_long / 2 - 70, 30))

    screen.blit(toukui,(x,y))
    pygame.display.update()

pygame.quit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值