Example #1
0
Created on 6 dec. 2013
Author: Daan Helsloot

'''
from ipy_lib import SnakeUserInterface
ui = SnakeUserInterface(40, 30, 0.5)


def processEvent(event):
    ui.print_(event.name + " " + event.data + "\n")
    if event.name == "click":
        processClick(event)
    elif event.name == "other":
        processSpacebar(event)


def processClick(event):
    click_coordinates = event.data.split()
    x = int(click_coordinates[0])
    y = int(click_coordinates[1])
    ui.place(x, y, ui.WALL)
    ui.show()


def processSpacebar(event):
    ui.clear()
    ui.show()

while True:
    event = ui.get_event()
    processEvent(event)
Example #2
0
            food.generate(ui, snake.get_coordinates(), walls.get_coordinates())
            snake.extend_tail()
        snake.place(ui)
        food.place(ui)
        walls.place(ui)
        ui.show()


'''Start program'''

ui = SnakeUserInterface(WIDTH, HEIGHT)
ui.set_animation_speed(ANIMATION_SPEED)
init_snake_coordinates = INIT_SNAKE_COORDINATES
direction = INIT_DIRECTION
walls = []
level = None
# level = read_file('SnakeInput4.txt')                       # Uncomment if you want to play levels

if level is not None:
    walls, init_snake_coordinates, direction = prepare_data_level(level)

snake = Snake(init_snake_coordinates)
walls = Walls(walls)
food = Food((ui.random(MAX_X), ui.random(MAX_Y)))
food.generate(ui, snake.get_coordinates(), walls.get_coordinates())

while True:

    event = ui.get_event()
    process_event(event)
# process all events that come in
def process_event(event):
    # print_event(event) # Note: makes the program run slow
    if event.name == "letter":
        process_letter(event.data)
    elif event.name == "alarm":
        process_alarm(event.data)
    elif event.name == "arrow":
        process_arrow(event.data)


# START PROGRAM
# initialize the visual interface
ui = SnakeUserInterface(UI_WIDTH, UI_HEIGHT)
ui.show()

# state variables
current_color = ui.WALL
current_position = START_POSITION
current_speed = START_SPEED

# initial settings
ui.set_animation_speed(current_speed)
ui.place(current_position[0], current_position[1], current_color)

# infinite loop that parses the events
while True:
    event = ui.get_event(
    )  # fetches the event using the built-in library function
    process_event(event)  # event dispatcher