Как сделать так, чтобы экран моей игры имел границы? - PullRequest
0 голосов
/ 11 января 2019

Я просмотрел похожие вопросы, заданные здесь, и ни один из них не смог решить мою проблему (точнее, я не знал, как внедрить их в мой код). Был бы очень признателен, если бы кто-то мог заставить меня понять. Я знаю, что вы должны сделать так, чтобы координаты x и y не были меньше 0, но не знаете как.

import pygame
pygame.init()
import math

#set screen
win = pygame.display.set_mode((500, 450))
clock = pygame.time.Clock()
#set title
pygame.display.set_caption("Game")

#player values (going to implement later)
playerHealth = 100
playerStamina = 100

#values
x = 10
y = 380
width = 40
height = 60
vel = 5 #velocity
isJump = 0
jumpCount = 10
#Loop
#if not running, quit
run = True
while run:
    pygame.time.delay(20)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
    #import keys
    keybinds = pygame.key.get_pressed()

    #if left arrow key pressed go left
    if keybinds[pygame.K_a] or keybinds[pygame.K_LEFT]:  
        x -= vel
    if keybinds[pygame.K_LSHIFT]:
        vel = 10
    else:
        vel = 5
    #if right arrow key pressed go right
    if keybinds[pygame.K_d] or keybinds[pygame.K_RIGHT]:
        x += vel
    #jump
    if not(isJump):
        if keybinds[pygame.K_SPACE] or keybinds[pygame.K_UP] and y < vel:
            isJump = True
    else:
        if jumpCount >= -10:
            neg = 1
            if jumpCount < 0:
                neg = -1
            y -= (jumpCount ** 2) * 0.5 * neg
            jumpCount -= 1
        else:
            isJump = False
            jumpCount = 10

    #fill background colour black
    win.fill((0))    
    #draw player object
    pygame.draw.rect(win, (255, 255, 255), (x, y, width, height))
    pygame.display.update()

pygame.quit()
...