Welcome, guest | Sign In | My Account | Store | Cart
##########
# load1.py
##########

import boards
import util
import time

def main():
    screen = util.Screen(boards.boards[0])
    screen.update()
    time.sleep(2)
    row, col = 1, 9
    while True:
        character = screen.read(row, col)
        if character == '_' or character == '*':
            col += 1
        elif character == '|':
            row -= 1
        elif character == ' ':
            if screen.read(row + 1, col) == '|':
                col += 1
            else:
                row += 1
        else:
            break
        screen.write(row, col, '^')
        screen.update()
        time.sleep(.1)
    screen.update()
    time.sleep(2)

if __name__ == '__main__':
    main()

##########
# load2.py
##########

import boards
import util
import time
import ttyWindows

################################################################################

class Player:

    def __init__(self, screen, row=0, column=9, face='^'):
        self.screen = screen
        self.row = row
        self.column = column
        self.face = face[0]
        self.direction = 0, 0

    def setDirection(self, key):
        if key == '\xE0H':
            self.direction = 0, -1
        elif key == '\xE0P':
            self.direction = 0, +1
        elif key == '\xE0K':
            self.direction = -1, 0
        elif key == '\xE0M':
            self.direction = +1, 0

    def move(self):
        character = self.screen.read(self.row, self.column)
        x, y = self.direction
        if character == '_' or character == '*':
            self.column += x
        elif character == '|':
            self.row += y
        elif character == ' ':
            if self.screen.read(self.row + 1, self.column) != '|' or y == 1:
                self.row += 1
            else:
                self.column += x
        self.screen.write(self.row, self.column, self.face)

################################################################################

def main():
    screen = util.Screen(boards.boards[0])
    screen.update()
    player = Player(screen)
    while screen.read(player.row, player.column):
        time.sleep(.1)
        key = ttyWindows.readLookAhead()
        player.setDirection(key)
        player.move()
        screen.update()
    time.sleep(2)

if __name__ == '__main__':
    main()

##########
# load3.py
##########

import boards
import util
import time
import ttyWindows

################################################################################

class Player:

    def __init__(self, screen, face, row=1, column=10):
        self.screen = screen
        self.face = face
        self.row = row
        self.column = column
        self.vector = 0, 0

    def move(self):
        global playing, you
        string = self.screen.read(self.row, self.column)
        left = self.screen.read(self.row, self.column - 1)
        right = self.screen.read(self.row, self.column + 1)
        x, y = self.vector
        x_move = False
        if string == '_':
            self.column += x
            x_move = True
        elif string == '|':
            self.row += y
        elif string == ' ':
            if self.screen.read(self.row + 1, self.column) != '|' or y == 1:
                self.row += 1
            else:
                self.column += x
        if not x_move:
            if left == '_' and x == -1:
                self.column -= 1
            elif right == '_' and x == 1:
                self.column += 1
        self.screen.write(self.row, self.column, self.face)
        if self is you and self.screen.read(self.row, self.column) is None:
            playing = False

################################################################################

class You(Player):

    def setDirection(self, key):
        if key == '\xE0H':
            self.vector = 0, -1
        elif key == '\xE0P':
            self.vector = 0, +1
        elif key == '\xE0K':
            self.vector = -1, 0
        elif key == '\xE0M':
            self.vector = +1, 0

class Robot(Player):

    def setDirection(self, key):
        global playing, you
        if you.row == self.row and you.column == self.column:
            playing = False
        if self.row == you.row:
            if self.column > you.column:
                self.vector = -1, 0
            else:
                self.vector = +1, 0
        else:
            context = self.screen.read(self.row, self.column)
            if context == '|':
                if self.row > you.row:
                    self.vector = 0, -1
                elif self.row < you.row:
                    self.vector = 0, +1

################################################################################

def main():
    global playing, you
    screen = util.Screen(boards.boards[0])
    you = You(screen, '^')
    screen.update()
    players = [you]
    clock = 0
    playing = True
    time.sleep(2)
    while playing:
        clock += 1
        if clock == 40:
            players.append(Robot(screen, '&'))
        time.sleep(.1)
        key = ttyWindows.readLookAhead()
        for player in players:
            player.setDirection(key)
            player.move()
        screen.update()
    screen.update()
    time.sleep(2)

if __name__ == '__main__':
    main()

##########
# load4.py
##########

import boards
import util
import time
import ttyWindows

################################################################################

class Player:

    def __init__(self, screen, face, row=1, column=10):
        self.screen = screen
        self.face = face
        self.row = row
        self.column = column
        self.vector = 0, 0

    def move(self):
        global playing, you
        context = self.screen.read(self.row, self.column)
        left = self.screen.read(self.row, self.column - 1)
        right = self.screen.read(self.row, self.column + 1)
        x, y = self.vector
        x_move = False
        if context == '_':
            self.column += x
            x_move = True
        elif context == '|':
            self.row += y
        elif context == ' ':
            if self.screen.read(self.row + 1, self.column) != '|' or y == 1:
                self.row += 1
            else:
                self.column += x
        if not x_move and context != ' ':
            if left == '_' and x == -1:
                self.column -= 1
            elif right == '_' and x == 1:
                self.column += 1
        self.screen.write(self.row, self.column, self.face)
        if self is you and self.screen.read(self.row, self.column) is None:
            playing = False

################################################################################

class You(Player):

    def __init__(self, screen, face, row=1, column=10):
        Player.__init__(self, screen, face, row, column)
        self.score = 0

    def setDirection(self, key):
        context = self.screen.read(self.row, self.column)
        if context == '*':
            self.score += 10
            self.screen.cache_write(self.row, self.column, '_')
        if key == '\xE0H':
            self.vector = 0, -1
        elif key == '\xE0P':
            self.vector = 0, +1
        elif key == '\xE0K':
            self.vector = -1, 0
        elif key == '\xE0M':
            self.vector = +1, 0
        elif key == 'a':
            self.screen.cache_write(self.row, self.column - 1, ' ')
        elif key == 'd':
            self.screen.cache_write(self.row, self.column + 1, ' ')

class Robot(Player):

    def setDirection(self, key):
        global playing, you
        if you.row == self.row and you.column == self.column:
            playing = False
        if self.row == you.row:
            if self.column > you.column:
                self.vector = -1, 0
            else:
                self.vector = +1, 0
        else:
            context = self.screen.read(self.row, self.column)
            if context == '|':
                if self.row > you.row:
                    self.vector = 0, -1
                elif self.row < you.row:
                    self.vector = 0, +1

################################################################################

def main():
    global playing, you
    screen = util.Screen2(boards.boards[0])
    you = You(screen, '^')
    screen.update()
    players = [you]
    clock = 0
    playing = True
    time.sleep(2)
    while playing:
        clock += 1
        if clock == 90:
            players.append(Robot(screen, '&'))
        time.sleep(.1)
        key = ttyWindows.readLookAhead()
        for player in players:
            player.setDirection(key)
            player.move()
        screen.update()
        print 'Score: %s' % you.score
    screen.update()
    print 'Score: %s' % you.score
    time.sleep(2)

if __name__ == '__main__':
    main()

##########
# load5.py
##########

import boards
import random
import time
import ttyWindows
import util

################################################################################

class Player:

    def __init__(self, screen, face, row=1, column=10):
        self.screen = screen
        self.face = face
        self.row = row
        self.column = column
        self.vector = 0, 0

    def move(self):
        global playing, you, players
        context = self.screen.read(self.row, self.column)
        left = self.screen.read(self.row, self.column - 1)
        right = self.screen.read(self.row, self.column + 1)
        x, y = self.vector
        x_move = False
        if context == '_':
            self.column += x
            x_move = True
        elif context == '|':
            self.row += y
        elif context == ' ':
            if self.screen.read(self.row + 1, self.column) != '|' or y == 1:
                self.row += 1
            else:
                self.column += x
        if not x_move and context != ' ':
            if left == '_' and x == -1:
                self.column -= 1
            elif right == '_' and x == 1:
                self.column += 1
        self.screen.write(self.row, self.column, self.face)
        if self.screen.read(self.row, self.column) is None:
            if self is you:
                playing = False
            else:
                players.remove(self)

################################################################################

class You(Player):

    def __init__(self, screen, face, row=1, column=10):
        Player.__init__(self, screen, face, row, column)
        self.score = 0

    def setDirection(self, key):
        context = self.screen.read(self.row, self.column)
        if context == '*':
            self.score += 10
            self.screen.cache_write(self.row, self.column, '_')
        if key == '\xE0H':
            self.vector = 0, -1
        elif key == '\xE0P':
            self.vector = 0, +1
        elif key == '\xE0K':
            self.vector = -1, 0
        elif key == '\xE0M':
            self.vector = +1, 0
        elif key == 'a':
            self.screen.cache_write(self.row, self.column - 1, ' ')
        elif key == 'd':
            self.screen.cache_write(self.row, self.column + 1, ' ')

class Robot(Player):

    def __init__(self, screen, face, row=1, column=10):
        Player.__init__(self, screen, face, row, column)
        self.move_count = 0

    def move(self):
        if self.screen.read(self.row, self.column) == ' ':
            Player.move(self)
        else:
            self.move_count += 1
            if self.move_count % 2:
                Player.move(self)
            else:
                self.screen.write(self.row, self.column, self.face)

    def setDirection(self, key):
        global playing, you
        if you.row == self.row and you.column == self.column:
            playing = False
        if self.column > you.column:
            self.vector = -1, 0
        elif self.column < you.column:
            self.vector = +1, 0
        if self.row != you.row:
            context = self.screen.read(self.row, self.column)
            if context == '|':
                if self.row > you.row:
                    self.vector = 0, -1
                elif self.row < you.row:
                    self.vector = 0, +1

################################################################################

SELECT = 1

def main():
    global playing, you, players
    screen = util.Screen2(boards.boards[SELECT])
    you = You(screen, '^')
    screen.update()
    players = [you]
    clock = 0
    playing = True
    time.sleep(2)
    while playing:
        clock += 1
        if clock > 40 and len(players) < 3:
            players.append(Robot(screen, '&', column=random.randrange(len(boards.boards[SELECT].board().splitlines()[1]))))
        time.sleep(.1)
        key = ttyWindows.readLookAhead()
        for player in players:
            player.setDirection(key)
            player.move()
        screen.update()
        print 'Score: %s' % you.score
    screen.update()
    print 'Score: %s' % you.score
    time.sleep(2)

if __name__ == '__main__':
    main()

##########################
# Extended Demo (Sound).py
##########################

import boards
import random
import time
import ttyWindows
import util
import winsound

################################################################################

class Player:

    def __init__(self, screen, face, row=1, column=10):
        self.screen = screen
        self.face = face
        self.row = row
        self.column = column
        self.vector = 0, 0

    def move(self):
        global playing, you, players
        context = self.screen.read(self.row, self.column)
        left = self.screen.read(self.row, self.column - 1)
        right = self.screen.read(self.row, self.column + 1)
        x, y = self.vector
        x_move = False
        if context == '_':
            self.column += x
            x_move = True
        elif context == '|':
            self.row += y
        elif context == ' ':
            if self.screen.read(self.row + 1, self.column) != '|' or y == 1:
                self.row += 1
            else:
                self.column += x
        if not x_move and context != ' ':
            if left == '_' and x == -1:
                self.column -= 1
            elif right == '_' and x == 1:
                self.column += 1
        self.screen.write(self.row, self.column, self.face)
        if self.screen.read(self.row, self.column) is None:
            if self is you:
                playing = False
            else:
                players.remove(self)
                winsound.Beep(400, 25)
                winsound.Beep(500, 25)

################################################################################

class You(Player):

    def __init__(self, screen, face, row=1, column=10):
        Player.__init__(self, screen, face, row, column)
        self.score = 0

    def setDirection(self, key):
        context = self.screen.read(self.row, self.column)
        if context == '*':
            self.score += 10
            self.screen.cache_write(self.row, self.column, '_')
            winsound.Beep(300, 50)
        if key == '\xE0H':
            self.vector = 0, -1
        elif key == '\xE0P':
            self.vector = 0, +1
        elif key == '\xE0K':
            self.vector = -1, 0
        elif key == '\xE0M':
            self.vector = +1, 0
        elif key == 'a':
            self.screen.cache_write(self.row, self.column - 1, ' ')
        elif key == 'd':
            self.screen.cache_write(self.row, self.column + 1, ' ')

class Robot(Player):

    def __init__(self, screen, face, row=1, column=10):
        Player.__init__(self, screen, face, row, column)
        self.move_count = 0

    def move(self):
        if self.screen.read(self.row, self.column) == ' ':
            Player.move(self)
        else:
            self.move_count += 1
            if self.move_count % 2:
                Player.move(self)
            else:
                self.screen.write(self.row, self.column, self.face)

    def setDirection(self, key):
        global playing, you
        if you.row == self.row and you.column == self.column:
            playing = False
        if self.column > you.column:
            self.vector = -1, 0
        elif self.column < you.column:
            self.vector = +1, 0
        if self.row != you.row:
            context = self.screen.read(self.row, self.column)
            if context == '|':
                if self.row > you.row:
                    self.vector = 0, -1
                elif self.row < you.row:
                    self.vector = 0, +1

################################################################################

SELECT = 1
ROBOTS = 3

def main():
    global playing, you, players
    screen = util.Screen2(boards.boards[SELECT])
    you = You(screen, '^')
    screen.update()
    players = [you]
    clock = 0
    playing = True
    time.sleep(2)
    note = False
    while playing:
        clock += 1
        if clock > 40 and len(players) - 1 < ROBOTS:
            players.append(Robot(screen, '&', column=random.randrange(len(boards.boards[SELECT].board().splitlines()[1]))))
        time.sleep(0.1)
        key = ttyWindows.readLookAhead()
        for player in players:
            player.setDirection(key)
            player.move()
        screen.update()
        print 'Score: %s' % you.score
        winsound.Beep(100 + 100 * note, 25)
        note = not note
    screen.update()
    print 'Score: %s' % you.score
    for x in range(4):
        time.sleep(0.1)
        winsound.Beep(700 - 100 * x, 25)
    time.sleep(2)

if __name__ == '__main__':
    main()

History