Skip to content

Instantly share code, notes, and snippets.

@ssophwang
Created June 3, 2017 14:12
Show Gist options
  • Save ssophwang/b603bb95407262b46da58c423ea734bd to your computer and use it in GitHub Desktop.
Save ssophwang/b603bb95407262b46da58c423ea734bd to your computer and use it in GitHub Desktop.
Rabbit_Robber.py
import ui
import speech
import random
from PIL import Image
rabbit_size = 50
v = ui.View(background_color=('#bcdeff'))
board = ui.View()
v.add_subview(board)
v.present('full_screen', hide_title_bar=False , orientations=['landscape'])
board.frame = (v.width-v.height, rabbit_size/2, v.height-rabbit_size, v.height-rabbit_size)
board.border_width = 3
board.border_color = ('black')
board.background_color = ('#ffffff')
rows = 8
cols = 8
blocks = []
for r in range(rows):
for c in range(cols):
random_num = random.randint(1, 100)
block = ui.ImageView()
if random_num < 12:
block = ui.ImageView()
block.image = ui.Image('emj:Wolf_Face')
elif random_num < 24 and random_num > 11:
block = ui.ImageView()
block.image = ui.Image('emj:Bank')
else:
block.background_color = ('#838383')
block.width = board.height/cols
block.height = board.height/rows
block.border_color = ('black')
block.border_width = 1
block.x = block.width*c
block.y = block.height*r
block.font = ('American Typewriter',60)
board.add_subview(block)
blocks.append({'block' : block, 'original_color' : block.background_color, 'queens_eating' : 0, 'row_number' : r, 'column_number' : c})
rabbit_buttons = []
normal_rabbit_color = (.0, .0, .0, 1.0)
gohst_rabbit_color = (.0, .0, .0, 0.5)
pressed_buttons = []
def button_pressed(sender):
if sender.tint_color == normal_rabbit_color and sender not in pressed_buttons:
row_number = None
col_number = None
for rabbit_button in rabbit_buttons:
if rabbit_button['rabbit'] == sender:
row_number = rabbit_button['row_number']
col_number = rabbit_button['col_number']
break
for rabbit_button in rabbit_buttons:
if rabbit_button['row_number'] == row_number + 1 and rabbit_button['col_number'] == col_number:
rabbit_button['rabbit'].tint_color = gohst_rabbit_color
rabbit_button['rabbit'].image = ui.Image('emj:Rabbit_Face')
if rabbit_button['row_number'] == row_number and rabbit_button['col_number'] == col_number + 1:
rabbit_button['rabbit'].tint_color = gohst_rabbit_color
rabbit_button['rabbit'].image = ui.Image('emj:Rabbit_Face')
pressed_buttons.append(sender)
if sender.tint_color == gohst_rabbit_color:
sender.tint_color = normal_rabbit_color
for rabbit in rabbit_buttons:
if rabbit['rabbit'].tint_color == gohst_rabbit_color:
rabbit['rabbit'].image = None
for r in range(9):
for c in range(9):
test_rabbit_button = ui.Button()
if r == 0 and c == 0:
test_rabbit_button.image = ui.Image('emj:Rabbit_Face')
test_rabbit_button.tint_color = normal_rabbit_color
test_rabbit_button.x = 295.6 + r*float(board.width)/cols
test_rabbit_button.y = -5 + c*float(board.height)/rows
test_rabbit_button.width = 50
test_rabbit_button.height = 50
test_rabbit_button.action = button_pressed
v.add_subview(test_rabbit_button)
blocks.append({'rabbit' : test_rabbit_button, 'original_color' : block.background_color, 'queens_eating' : 0, 'row_number' : r, 'column_number' : c})
v.add_subview(test_rabbit_button)
rabbit_buttons.append({'rabbit': test_rabbit_button, 'row_number': r, 'col_number': c})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment