pixel_friends

  1from cs110_p1 import pixel_art
  2
  3__docformat__ = "google"
  4
  5_GOOMBA_COLORS = [None, "saddle brown", "black", "tan", "white"]
  6# goomba
  7_GOOMBA = [
  8    (0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0),
  9    (0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0),
 10    (0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0),
 11    (0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0),
 12    (0, 0, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 0, 0),
 13    (0, 1, 1, 1, 4, 2, 1, 1, 1, 1, 2, 4, 1, 1, 1, 0),
 14    (0, 1, 1, 1, 4, 2, 2, 2, 2, 2, 2, 4, 1, 1, 1, 0),
 15    (1, 1, 1, 1, 4, 2, 4, 1, 1, 4, 2, 4, 1, 1, 1, 1),
 16    (1, 1, 1, 1, 4, 4, 4, 1, 1, 4, 4, 4, 1, 1, 1, 1),
 17    (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 18    (0, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0),
 19    (0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0),
 20    (0, 0, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 0, 0),
 21    (0, 2, 2, 2, 2, 2, 3, 3, 3, 3, 2, 2, 2, 2, 2, 0),
 22    (0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0),
 23    (0, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 0, 0)
 24]
 25
 26_HEART_COLORS = [None, "#E0607E", "black", "white"]
 27_HEART = (
 28    (0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0),
 29    (0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0),
 30    (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 31    (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 32    (1, 1, 1, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 1, 1, 1),
 33    (1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1),
 34    (1, 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 1, 2, 2, 2, 1, 1, 1),
 35    (1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1),
 36    (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 37    (0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0),
 38    (0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0),
 39    (0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0),
 40    (0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0),
 41    (0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0)
 42)
 43
 44_FRANK_COLORS = [None, "black", "#5ec031", "white"]
 45_FRANK = (
 46    (0, 0, 1, 1, 1, 1, 1, 0, 0),
 47    (0, 0, 2, 2, 2, 2, 2, 0, 0),
 48    (0, 0, 2, 2, 2, 2, 2, 0, 0),
 49    (0, 0, 2, 1, 2, 1, 2, 0, 0),
 50    (0, 0, 2, 2, 2, 2, 2, 0, 0),
 51    (0, 2, 3, 3, 3, 3, 3, 2, 0),
 52    (0, 2, 2, 2, 2, 2, 2, 2, 0),
 53    (0, 2, 2, 2, 2, 2, 2, 2, 0),
 54    (0, 0, 1, 1, 1, 1, 1, 0, 0),
 55    (0, 0, 1, 1, 1, 1, 1, 0, 0),
 56    (0, 0, 2, 2, 0, 2, 2, 0, 0)
 57)
 58
 59_MARIO_COLORS = [None, "red", "blue", "saddle brown", "bisque3", "black", "gold"]
 60
 61_MARIO_0 = [
 62    (0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0),
 63    (0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0),
 64    (0, 0, 3, 3, 3, 4, 4, 4, 5, 4, 0, 0, 0, 0),
 65    (0, 3, 4, 3, 4, 4, 4, 4, 5, 4, 4, 4, 0, 0),
 66    (0, 3, 4, 3, 4, 4, 4, 4, 4, 5, 4, 4, 4, 0),
 67    (0, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0),
 68    (0, 0, 1, 1, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0),
 69    (0, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 0, 0, 0),
 70    (1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0),
 71    (4, 4, 1, 2, 6, 2, 2, 6, 2, 1, 4, 4, 0, 0),
 72    (4, 4, 4, 2, 2, 2, 2, 2, 2, 4, 4, 4, 0, 0),
 73    (4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 0, 0),
 74    (0, 0, 2, 2, 2, 0, 0, 2, 2, 2, 0, 0, 0, 0),
 75    (0, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 0, 0, 0),
 76    (3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 0, 0)
 77]
 78
 79_MARIO_1 = [
 80(0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0),
 81(0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0),
 82(0, 0, 0, 0, 3, 3, 3, 4, 4, 5, 4, 0, 0, 0, 0, 0),
 83(0, 0, 0, 3, 4, 3, 4, 4, 4, 5, 4, 4, 4, 0, 0, 0),
 84(0, 0, 0, 3, 4, 3, 3, 4, 4, 4, 5, 4, 4, 4, 0, 0),
 85(0, 0, 0, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0),
 86(0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0),
 87(0, 0, 2, 2, 2, 2, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0),
 88(4, 4, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 4, 4, 4, 0),
 89(4, 4, 4, 0, 2, 2, 1, 6, 1, 1, 1, 2, 2, 4, 4, 0),
 90(4, 4, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 3, 0, 0),
 91(0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 0, 0),
 92(0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 0, 0),
 93(0, 3, 3, 1, 1, 1, 0, 0, 0, 1, 1, 1, 3, 3, 0, 0),
 94(0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
 95(0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
 96]
 97
 98_MARIO_2 = [
 99(0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0),
100(0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0),
101(0, 0, 0, 0, 3, 3, 3, 4, 4, 5, 4, 0, 0, 0, 0, 0),
102(0, 0, 0, 3, 4, 3, 4, 4, 4, 5, 4, 4, 4, 0, 0, 0),
103(0, 0, 0, 3, 4, 3, 3, 4, 4, 4, 5, 4, 4, 4, 0, 0),
104(0, 0, 0, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0),
105(0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0),
106(0, 0, 0, 0, 2, 2, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0),
107(0, 0, 0, 2, 2, 2, 2, 1, 1, 2, 2, 0, 0, 0, 0, 0),
108(0, 0, 0, 2, 2, 2, 1, 1, 6, 2, 2, 4, 0, 0, 0, 0),
109(0, 0, 0, 2, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0),
110(0, 0, 0, 1, 2, 2, 4, 4, 4, 1, 1, 1, 0, 0, 0, 0),
111(0, 0, 0, 0, 1, 2, 4, 4, 1, 1, 1, 0, 0, 0, 0, 0),
112(0, 0, 0, 0, 0, 1, 1, 1, 3, 3, 3, 0, 0, 0, 0, 0),
113(0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0),
114(0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0)
115]
116
117
118_MARIO_3 = [
119(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
120(0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0),
121(0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0),
122(0, 0, 0, 0, 3, 3, 3, 4, 4, 5, 4, 0, 0, 0, 0, 0),
123(0, 0, 0, 3, 4, 3, 4, 4, 4, 5, 4, 4, 4, 0, 0, 0),
124(0, 0, 0, 3, 4, 3, 3, 4, 4, 4, 5, 4, 4, 4, 0, 0),
125(0, 0, 0, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0),
126(0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0),
127(0, 0, 0, 0, 2, 2, 2, 2, 1, 2, 0, 4, 0, 0, 0, 0),
128(0, 0, 0, 4, 2, 2, 2, 2, 2, 2, 4, 4, 4, 0, 0, 0),
129(0, 0, 4, 4, 1, 2, 2, 2, 2, 2, 4, 4, 0, 0, 0, 0),
130(0, 0, 3, 3, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0),
131(0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0),
132(0, 3, 3, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0),
133(0, 3, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0),
134(0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0)
135]
136
137_LINK = [
138    [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0],
139    [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0],
140    [0, 0, 2, 0, 1, 3, 3, 3, 3, 3, 3, 1, 0, 2, 0],
141    [0, 0, 2, 0, 3, 3, 3, 3, 3, 3, 3, 3, 0, 2, 0],
142    [0, 0, 2, 2, 3, 2, 1, 2, 2, 1, 2, 3, 2, 2, 0],
143    [0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 0],
144    [0, 0, 0, 1, 1, 2, 2, 3, 3, 2, 2, 1, 1, 3, 0],
145    [0, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 3, 3, 3],
146    [3, 3, 2, 3, 3, 3, 3, 1, 1, 1, 1, 1, 2, 3, 3],
147    [3, 2, 2, 2, 3, 3, 2, 3, 3, 1, 1, 2, 2, 2, 3],
148    [3, 3, 2, 3, 3, 3, 2, 1, 3, 3, 3, 3, 2, 2, 2],
149    [3, 3, 2, 3, 3, 3, 2, 3, 3, 1, 1, 1, 1, 2, 0],
150    [3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 0, 0, 0],
151    [0, 2, 2, 2, 2, 2, 3, 0, 0, 3, 3, 3, 0, 0, 0],
152    [0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0],
153]
154
155_LINK_COLORS = [None, "#C1FF0B", "#FFB73B", "#FF6D05"]
156
157def mario(top_left, version=0, colors=[], size=10, tag=""):
158    """
159    A function that draws mario!
160    Args:
161        top_left (`tuple`): (x, y) coordinate to locate the mario
162        version (`int`): 0, 1, 2, or 3 to designate which mario you"d like to draw
163        colors (`List`): A list of colors to designate for each grid square (length of 7).
164        tag (`str`): The tag to assign to the mario drawn.
165        size (`int`): The size of each square.
166
167    """
168    
169    if len(colors) == 0
170        colors = _MARIO_COLORS
171    
172    if version == 0
173        art = _MARIO_0
174
175    elif version == 1
176        art = _MARIO_1
177
178    elif version == 2
179        art = _MARIO_2
180
181    elif version == 3
182        art = _MARIO_3
183
184    else
185        raise Exception("Uh oh, we don"t have that Mario version.")
186
187    pixel_art(top_left, art, palette=colors, pixel=size, tag=tag)
188
189def goomba(top_left, colors=[], size=10, tag=""):
190    """
191    A function that draws a goomba!
192    Args:
193        top_left (`tuple`): (x, y) coordinate to locate the goomba
194        colors (`List`): A list of colors to designate for each grid square (length of 5).
195        tag (`str`): The tag to assign to the goomba drawn.
196        size (`int`): The size of each square.
197
198    """
199    if len(colors) == 0
200        colors = _GOOMBA_COLORS
201    
202    pixel_art(top_left, _GOOMBA, palette=colors, pixel=size, tag=tag)
203
204def heart(top_left, colors=[], size=10, tag=""):
205    """
206    A function that draws a heart!
207    Args:
208        top_left (`tuple`): (x, y) coordinate to locate the heart
209        colors (`List`): A list of colors to designate for each grid square (length of 4).
210        tag (`str`): The tag to assign to the heart drawn.
211        size (`int`): The size of each square.
212
213    """
214    if len(colors) == 0
215        colors = _HEART_COLORS
216    
217    pixel_art(top_left, _HEART, palette=colors, pixel=size, tag=tag)
218
219def frank(top_left, colors=[], size=10, tag=""):
220    """
221    A function that draws FRANK!
222    Args:
223        top_left (`tuple`): (x, y) coordinate to locate frank.
224        colors (`List`): A list of colors to designate for each grid square (length of 4).
225        tag (`str`): The tag to assign to the frank drawn.
226        size (`int`): The size of each square.
227
228    """
229    if len(colors) == 0
230        colors = _FRANK_COLORS
231
232    pixel_art(top_left, _FRANK, palette=colors, pixel=size, tag=tag)
233
234
235def link(top_left, colors=[], size=10, tag=""):
236    """
237    A function that draws Link!
238    Args:
239        top_left (`tuple`): (x, y) coordinate to locate the mario
240        colors (`List`): A list of colors to designate for each grid square (length of 7).
241        tag (`str`): The tag to assign to the mario drawn.
242        size (`int`): The size of each square.
243
244    """
245
246    if len(colors) == 0
247        colors = _LINK_COLORS
248
249    pixel_art(top_left, _LINK, palette=colors, pixel=size, tag=tag)
def mario(top_left, version=0, colors=[], size=10, tag=""):
158def mario(top_left, version=0, colors=[], size=10, tag=""):
159    """
160    A function that draws mario!
161    Args:
162        top_left (`tuple`): (x, y) coordinate to locate the mario
163        version (`int`): 0, 1, 2, or 3 to designate which mario you"d like to draw
164        colors (`List`): A list of colors to designate for each grid square (length of 7).
165        tag (`str`): The tag to assign to the mario drawn.
166        size (`int`): The size of each square.
167
168    """
169    
170    if len(colors) == 0
171        colors = _MARIO_COLORS
172    
173    if version == 0
174        art = _MARIO_0
175
176    elif version == 1
177        art = _MARIO_1
178
179    elif version == 2
180        art = _MARIO_2
181
182    elif version == 3
183        art = _MARIO_3
184
185    else
186        raise Exception("Uh oh, we don"t have that Mario version.")
187
188    pixel_art(top_left, art, palette=colors, pixel=size, tag=tag)

A function that draws mario!

Arguments:
  • top_left (tuple): (x, y) coordinate to locate the mario
  • version (int): 0, 1, 2, or 3 to designate which mario you'd like to draw
  • colors (List): A list of colors to designate for each grid square (length of 7).
  • tag (str): The tag to assign to the mario drawn.
  • size (int): The size of each square.
def goomba(top_left, colors=[], size=10, tag=""):
190def goomba(top_left, colors=[], size=10, tag=""):
191    """
192    A function that draws a goomba!
193    Args:
194        top_left (`tuple`): (x, y) coordinate to locate the goomba
195        colors (`List`): A list of colors to designate for each grid square (length of 5).
196        tag (`str`): The tag to assign to the goomba drawn.
197        size (`int`): The size of each square.
198
199    """
200    if len(colors) == 0
201        colors = _GOOMBA_COLORS
202    
203    pixel_art(top_left, _GOOMBA, palette=colors, pixel=size, tag=tag)

A function that draws a goomba!

Arguments:
  • top_left (tuple): (x, y) coordinate to locate the goomba
  • colors (List): A list of colors to designate for each grid square (length of 5).
  • tag (str): The tag to assign to the goomba drawn.
  • size (int): The size of each square.
def heart(top_left, colors=[], size=10, tag=""):
205def heart(top_left, colors=[], size=10, tag=""):
206    """
207    A function that draws a heart!
208    Args:
209        top_left (`tuple`): (x, y) coordinate to locate the heart
210        colors (`List`): A list of colors to designate for each grid square (length of 4).
211        tag (`str`): The tag to assign to the heart drawn.
212        size (`int`): The size of each square.
213
214    """
215    if len(colors) == 0
216        colors = _HEART_COLORS
217    
218    pixel_art(top_left, _HEART, palette=colors, pixel=size, tag=tag)

A function that draws a heart!

Arguments:
  • top_left (tuple): (x, y) coordinate to locate the heart
  • colors (List): A list of colors to designate for each grid square (length of 4).
  • tag (str): The tag to assign to the heart drawn.
  • size (int): The size of each square.
def frank(top_left, colors=[], size=10, tag=""):
220def frank(top_left, colors=[], size=10, tag=""):
221    """
222    A function that draws FRANK!
223    Args:
224        top_left (`tuple`): (x, y) coordinate to locate frank.
225        colors (`List`): A list of colors to designate for each grid square (length of 4).
226        tag (`str`): The tag to assign to the frank drawn.
227        size (`int`): The size of each square.
228
229    """
230    if len(colors) == 0
231        colors = _FRANK_COLORS
232
233    pixel_art(top_left, _FRANK, palette=colors, pixel=size, tag=tag)

A function that draws FRANK!

Arguments:
  • top_left (tuple): (x, y) coordinate to locate frank.
  • colors (List): A list of colors to designate for each grid square (length of 4).
  • tag (str): The tag to assign to the frank drawn.
  • size (int): The size of each square.