summaryrefslogtreecommitdiffstats
path: root/food_manager.py
blob: b61196669241e011aba9da2674b4a14d8357cd13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import random

from food import Food
from setup import *


class FoodManager:

    def __init__(self):
        # self.food_list = [Food(center + pygame.Vector2(2 * side_length, 0))]
        self.food_list = [Food(center + pygame.Vector2(1 * side_length, 0))]
        self.taken = set()
        self.poll = [(i * side_length, j * side_length) for i in range(LENGTH) for j in range(HEIGHT)]

    def is_taken(self, pos, poll):
        poll.remove(pos)
        if pos in self.taken:
            return True
        return False

    def add_food(self):
        poll = self.poll[:]
        while len(poll) > 0:
            pos = random.choice(poll)

            if not self.is_taken(pos, poll):
                self.food_list.append(Food(pos))
                return

    def update(self, body):
        self.taken = set()
        for i in body:
            self.taken.add(tuple(i.position))

    def draw(self, surf):
        for food in self.food_list:
            food.draw(surf)