Python -- pygame(贪吃蛇小游戏)

贪吃蛇小游戏,这个游戏里面涉及到了面向对象,for 、if 、while循环,关联,继承等,包含nolocal,装饰器,包装器,随机数等。

例:贪吃蛇,撞墙,吃球,控制方向等

from random import randint
from abc import ABCMeta, abstractmethod
import pygame
BLACK_COLOR = [0, 0, 0]
FOOD_COLOR = [100, 202, 80]
GREEN_COLOR = [48, 172, 80]
UP = 0
RIGHT = 1
DOWN = 2
LEFT = 3


class GameObject(object, metaclass=ABCMeta):
    def __init__(self, x, y, color):
        self._x = x
        self._y = y
        self._color = color

    @property
    def x(self):
        return self._x

    @property
    def y(self):
        return self._y

    @abstractmethod
    def draw(self, screen):
        pass


class Food(GameObject):
    def __init__(self, x, y, size, color=FOOD_COLOR):
        super(Food, self).__init__(x, y, color)
        self._size = size
        self._hidden = False

    def draw(self, screen):
        if not self._hidden:
            pygame.draw.circle(screen, self._color,
                               (self._x + self._size // 2, self._y + self._size // 2)
                               , self._size // 2, 0)
        self._hidden = not self._hidden


class Wall
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值