try: import bext except ImportError: print("""This program requires the bext module, which you can install by opening a Terminal window (on macOS & Linux) and running: python3 -m pip install --user bext or a Command Prompt window (on Windows) and running: python -m pip install --user bext""") sys.exit() bext.clear() WIDTH, HEIGHT = bext.size() WIDTH -= 1 # Reduce width by 1 because of a weird Windows behavior. NUMBER_OF_POINTS = 4 COLORS = ('red', 'green', 'yellow', 'blue', 'purple', 'cyan', 'white') DIRECTIONS = ('upright', 'upleft', 'downright', 'downleft') LINE_CHAR = '#' def main(): # Generate some points. points = [] for i in range(NUMBER_OF_POINTS): points.append({ 'x': random.randint(1, WIDTH - 2), 'y': random.randint(1, HEIGHT - 2), 'direction': random.choice(DIRECTIONS)
import bext import random MIN_X_INCREASE = 6 MAX_X_INCREASE = 16 MIN_Y_INCREASE = 3 MAX_Y_INCREASE = 6 WHITE = 'white' BLACK = 'black' RED = 'red' YELLOW = 'yellow' BLUE = 'blue' # Setup the screen: width, height = bext.size() width -= 1 # TODO Windows bug height -= 2 # Pre-populate the board with blank spaces: board = {} for x in range(width): for y in range(height): board[(x, y)] = WHITE # Generate vertical lines: numberOfSegmentsToDelete = 0 x = random.randint(MIN_X_INCREASE, MAX_X_INCREASE) while x < width - MIN_X_INCREASE: numberOfSegmentsToDelete += 1 for y in range(height):