Created
June 3, 2017 14:12
-
-
Save ssophwang/b603bb95407262b46da58c423ea734bd to your computer and use it in GitHub Desktop.
Rabbit_Robber.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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