상세 컨텐츠

본문 제목

똥피하기 게임

python

by bumychoi 2025. 4. 6. 14:41

본문

 

import pygame
from pygame.locals import *
import random
import sys

FPS = 60
MAX_WIDTH = 400
MAX_HEIGHT = 600

pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode((MAX_WIDTH,MAX_HEIGHT))



class Player():
    def __init__(self,x,y):
        self.x = x
        self.y = y

    def draw(self):
        return pygame.draw.rect(screen,(0,0,255),(self.x,self.y,40,40))

    def move(self):
        if pressed_keys[K_RIGHT]:
            if  self.x< MAX_WIDTH-40:
                self.x+=5
        if pressed_keys[K_LEFT]:
            if self.x >0:
                self.x -=5

class Enemy():
    def __init__(self):
        self.x = random.randrange(0,MAX_WIDTH-40)
        self.y = 50
        self.speed = random.randrange(10,20)
        self.enemy = pygame.image.load(r"dong.png")
        self.enemy = pygame.transform.scale(self.enemy,(40,40))

    def draw(self):
        rect = self.enemy.get_rect(topleft=(self.x,self.y))
        screen.blit(self.enemy,(self.x,self.y))
        return rect
   
    def move(self):
        self.y= self.y + self.speed
        if self.y >= MAX_HEIGHT:
            self.y = 50
            self.x = random.randrange(0,MAX_WIDTH-40)
            self.speed = random.randrange(7,15)


player = Player(MAX_WIDTH/2,MAX_HEIGHT-40)
enemy = Enemy()

def main():
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()

        clock.tick(FPS)
        screen.fill((255,255,255))
        global pressed_keys
        pressed_keys =pygame.key.get_pressed()

        player_rect = player.draw()
        player.move()

        enemy_rect = enemy.draw()
        enemy.move()

        if player_rect.colliderect(enemy_rect):
            print("충돌")
            pygame.quit()
            sys.exit()

        pygame.display.update()

if __name__ =='__main__':
    main()

'python' 카테고리의 다른 글

벽돌깨기 오류 수정하  (0) 2025.06.02
python 텍스트 문서 음성변환  (0) 2025.05.13
계산기 tkinter 오류 해결  (0) 2025.04.04
tikiner 활용  (0) 2025.03.27
파이썬 로또 번호 조회기  (0) 2025.03.24

관련글 더보기