root/traintris/constants.py @ 184

Revision 184, 4.8 KB (checked in by wnewbury, 2 years ago)

Added a class to constants for use in interpretation of clicks on panels

Line 
1class FoodWeb:
2    """Class that contains methods and data members for some universal constants
3    ie. the organism food chain and whatnot"""
4
5    def __init__(self):
6        foodweb = []
7       
8        for i in range(1, 24):
9            foodweb.append([])
10
11        #Plants:
12        #Berries
13        #(Name, Amount of food needed, Range)
14        #(Name of food, amount of food provid)
15        foodweb[0].append(("Berries", 0, 1))
16        foodweb[0].append("Dark")
17        #Vegetables
18        foodweb[1].append(("Vegetables", 0, 1))
19        foodweb[1].append("Dark")
20        #Grass
21        foodweb[2].append(("Grass", 0, 1))
22        foodweb[2].append("Dark")
23        #Shrubs
24        foodweb[3].append(("Shrubs", 0, 1))
25        foodweb[3].append("Light")
26        #Bananas
27        foodweb[4].append(("Bananas", 0, 1))
28        foodweb[4].append("Light")
29        #Trees
30        foodweb[5].append(("Trees", 0, 1))
31        foodweb[5].append("Light")
32
33           
34        #Herbivores:
35        #Deer
36        foodweb[6].append(("Deer", 2, 2))
37        foodweb[6].append(("Grass",1))
38        foodweb[6].append(("Shrubs", 1))
39        foodweb[6].append(("Bananas", 1))
40        #Rabbit
41        foodweb[7].append(("Rabbit", 1, 2))
42        foodweb[7].append(("Vegetables", 1))
43        foodweb[7].append(("Shrubs", 1))
44        #Squirrel
45        foodweb[8].append(("Squirrel", 1, 2))
46        foodweb[8].append(("Trees", 1))
47        foodweb[8].append(("Berries", 1))
48        foodweb[8].append(("Bananas", 1))
49        #Sheep
50        foodweb[9].append(("Sheep", 2, 2))
51        foodweb[9].append(("Grass", 1))
52        foodweb[9].append(("Shrubs", 1))
53        #Cow
54        foodweb[10].append(("Cow", 3, 2))
55        foodweb[10].append(("Grass", 1))
56        foodweb[10].append(("Shrubs", 1))
57        #Elephant
58        foodweb[11].append(("Elephant", 4, 2))
59        foodweb[11].append(("Vegetables", 1))
60        foodweb[11].append(("Trees", 1))
61        #Giraffe
62        foodweb[12].append(("Giraffe", 4, 2))
63        foodweb[12].append(("Grass", 1))
64        foodweb[12].append(("Trees", 1))
65        #Rats
66        foodweb[13].append(("Rats", 1, 2))
67        foodweb[13].append(("Berries", 1))
68        foodweb[13].append(("Vegetables", 1))
69
70        #Carnivore:
71        #Fox
72        foodweb[14].append(("Fox", 2, 3))
73        foodweb[14].append(("Rats", 1))
74        foodweb[14].append(("Rabbit", 1))
75        foodweb[14].append(("Squirrel", 1))
76        #Falcon
77        foodweb[15].append(("Falcon", 2, 3))
78        foodweb[15].append(("Rats", 1))
79        foodweb[15].append(("Rabbit", 1))
80        foodweb[15].append(("Squirrel", 1))
81        #Lion
82        foodweb[16].append(("Lion", 1, 3))
83        foodweb[16].append(("Elephant", 1))
84        foodweb[16].append(("Giraffe", 1))
85        #Lynx
86        foodweb[17].append(("Lynx", 3, 3))
87        foodweb[17].append(("Rats", 1))
88        foodweb[17].append(("Rabbit", 1))
89        foodweb[17].append(("Squirrel", 1))
90        #Tiger
91        foodweb[18].append(("Tiger", 2, 3))
92        foodweb[18].append(("Elephant", 2))
93        foodweb[18].append(("Giraffe", 2))
94        foodweb[18].append(("Deer", 1))
95        #Bear
96        foodweb[19].append(("Bear", 2, 3))
97        foodweb[19].append(("Cow", 1))
98        foodweb[19].append(("Sheep", 1))
99        foodweb[19].append(("Deer", 1))
100        #Wolf
101        foodweb[20].append(("Wolf", 2, 3))
102        foodweb[20].append(("Rats", 1))
103        foodweb[20].append(("Cow", 2))
104        foodweb[20].append(("Deer", 2))
105        foodweb[20].append(("Rabbit", 1))
106        #Snake
107        foodweb[21].append(("Snake", 1, 3))
108        foodweb[21].append(("Rabbit", 1))
109        foodweb[21].append(("Squirrel", 1))
110
111        #Human (placeholder logic)
112        foodweb[22].append(("Human", 2, 10))
113        foodweb[22].append(("Bear", 1))
114        foodweb[22].append(("Wolf", 1))
115        foodweb[22].append(("Tiger", 1))
116
117        self.foodweb = foodweb
118
119    def foodsource(self, consumer, food):
120        """Determines if something is a food source, if so,the amount of food
121        that it gives"""
122        for i in range(0, 23):
123            if self.foodweb[i][0][0] == consumer:
124                for j in range(1, len(self.foodweb[i])):
125                    if self.foodweb[i][j][0] == food:
126                        return self.foodweb[i][j][1]
127
128    def lookup(self, name):
129        for i in range(0, 23):
130            if self.foodweb[i][0][0] == name:
131                return i
132               
133class PanelList:
134    """ Class containing lists for use in interpreting clicks on panels"""
135    def __init__
136    self.carnivoreList = ["Fox", "Falcon", "Lion", "Lynx", "Tiger", "Bear", "Wolf", "Snake"]
137    self.plantList = ["Trees", "Shrubs", "Bananas", "Grass", "Vegetables", "Berries"]
138    self.herbivoreList = ["Deer", "Sheep", "Rabbit", "Squirrel", "Cow", "Elephant", "Giraffe", "Rats"]
139   
140
141       
142   
143   
144
145                         
146                         
147                         
Note: See TracBrowser for help on using the browser.