diff --git a/Corner_pipe_1.png b/Corner_pipe_1.png new file mode 100644 index 0000000..b0856fa Binary files /dev/null and b/Corner_pipe_1.png differ diff --git a/Corner_pipe_2.png b/Corner_pipe_2.png new file mode 100644 index 0000000..b0856fa Binary files /dev/null and b/Corner_pipe_2.png differ diff --git a/Fundal.png b/Fundal.png new file mode 100644 index 0000000..9c96b26 Binary files /dev/null and b/Fundal.png differ diff --git a/Icon.png b/Icon.png new file mode 100644 index 0000000..2927dd8 Binary files /dev/null and b/Icon.png differ diff --git a/Music.mp3 b/Music.mp3 new file mode 100644 index 0000000..90e39cb Binary files /dev/null and b/Music.mp3 differ diff --git a/Music.ogg b/Music.ogg new file mode 100644 index 0000000..7afc82e Binary files /dev/null and b/Music.ogg differ diff --git a/PipeGame.py b/PipeGame.py new file mode 100644 index 0000000..a5b75da --- /dev/null +++ b/PipeGame.py @@ -0,0 +1,286 @@ +import pygame +import sys +import os +from pygame.locals import * +import random +from Square import * +from Tube import * + + +# list of tuples for positions of tube pipes in the matrix +tube_list = [(0,1), (0,3), (0,4), (0,6), (0,8), + (1,0), (1,4), (1,6), (1,7), (1,9), + (2,1), (2,2), (2,3), (2,5), (2,7), (2,8), + (3,0), (3,1), (3,4), (3,5), (3,6), (3,7), (3,9), + (4,0), (4,2), (4,8), (4,9), + (5,0), (5,1), (5,3), (5,5), (5,6), (5,7), (5,8), (5,9), + (6,0), (6,4), (6,5), (6,6), (6,8)] + +# codes for types of pipes and their orientation +# 0 = tube lef-right +# 1 = tube up-down +# 2 = corner up-right +# 3 = corner right-down +# 4 = corner down-left +# 5 = corner left-up + +# matrix for the maze at the start of the game +pipe_type_initial = [] +for i in range(7): + aux = [] + for j in range(10): + if (i,j) in tube_list: + aux.append(random.randrange(0,2,1)) + else: + aux.append(random.randrange(2,6,1)) + pipe_type_initial.append(aux) + +# list of tuples for positions of the correct way +# and the direction of the pipes +correct_way = [(0,0,4), (1,0,1), (2,0,2), (2,1,0), (2,2,0), (2,3,0), (2,4,4), + (3,4,1), (4,4,5), (4,3,3), (5,3,1), (6,3,2), (6,4,0), (6,5,0), + (6,6,0), (6,7,5), (5,7,1), (4,7,4), (4,6,2), (3,6,1), (2,6,3), + (2,7,0), (2,8,0), (2,9,4), (3,9,1), (4,9,1), (5,9,1), (6,9,2)] + +# def test(): +# for (i, j, d) in correct_way: +# pipe_type_initial[i][j] = d + +class Game: + def __init__(self): + self.window = pygame.display.set_mode((WIDTH, HEIGHT), 0, 32) + pygame.display.set_caption('Pipe Game') + + def gridSquare(self): + grid = [] + y = y_start + for i in range(7): + aux = [] + x = x_start + for j in range(10): + if (i, j) in tube_list: + sq = square(self, x, y, "tube") + else: + sq = square(self, x, y, "corner") + aux.append(sq) + x += square_lat + y += square_lat + grid.append(aux) + return grid + + + def draw(self, grid): + pygame.time.Clock().tick(60) + pygame.display.update() + + # drawing the wallpaper + wallpaper = pygame.image.load(os.path.join('Fundal.png')) + self.window.blit(wallpaper,(0,0)) + + # drawing the outline of the grid + pygame.draw.rect(self.window, WHITE, [[x_start, y_start], [grid_width, grid_height]], 2) + + + pipe_s = pygame.image.load(os.path.join("start-end1.png")) + self.window.blit(pipe_s, (x_start - 80, y_start)) + pipe_f = pygame.image.load(os.path.join("start-end.png")) + self.window.blit(pipe_f, (x_start + grid_width, y_start + grid_height - 80)) + # drawing the squares and the pipes for the grid + i = 0 + for line in grid: + j = 0 + for sq in line: + if sq.type == "tube": + pipe = PipeTube(self, sq.x, sq.y, pipe_type_initial[i][j]) + else: + pipe = PipeCorner(self, sq.x, sq.y, pipe_type_initial[i][j]) + pipe.draw() + sq.draw() + j += 1 + i += 1 + + # drawing the robot + robot = pygame.image.load(os.path.join("Robot_stricat.png")) + self.window.blit(robot, (1146, 512)) + + def run(self): + icon = pygame.image.load(os.path.join('Icon.png')) + pygame.display.set_icon(icon) + + grid = self.gridSquare() + grid[0][0].s = 1 + solve = self.isSolved() + + while solve: + self.draw(grid) + self.input(grid) + solve = self.isSolved() + self.walkDirection(grid) + self.Robot(grid) + + + + def input(self, grid): + for event in pygame.event.get(): + if event.type == pygame.QUIT: + sys.exit() + if event.type == KEYDOWN: + [i,j] = self.selected(grid) + if event.key == K_UP: + self.music('select_02', 0.5) + self.moveUp(grid, i, j) + if event.key == K_DOWN: + self.music('select_02', 0.5) + self.moveDown(grid, i, j) + if event.key == K_RIGHT: + self.music('select_02', 0.5) + self.moveRight(grid, i, j) + if event.key == K_LEFT: + self.music('select_02', 0.5) + self.moveLeft(grid, i, j) + if event.key == K_SPACE: + self.music('selrot_01', 0.7) + self.rotate(grid, i, j) + + def music(self, sound, vol): + pygame.mixer.music.load(os.path.join(sound)) + pygame.mixer.music.set_volume(vol) + pygame.mixer.music.play() + + def moveUp(self, grid, i, j): + if i == 0: + grid[6][j].move(grid[i][j]) + else: + grid[i-1][j].move(grid[i][j]) + + def moveDown(self, grid, i, j): + if i == 6: + grid[0][j].move(grid[i][j]) + else: + grid[i + 1][j].move(grid[i][j]) + + def moveLeft(self, grid, i, j): + if j == 0: + grid[i][9].move(grid[i][j]) + else: + grid[i][j - 1].move(grid[i][j]) + + def moveRight(self, grid, i, j): + if j == 9: + grid[i][0].move(grid[i][j]) + else: + grid[i][j + 1].move(grid[i][j]) + + def rotate(self, grid, i, j): + if grid[i][j].type == "tube": + if pipe_type_initial[i][j] == 0: + pipe_type_initial[i][j] = 1 + else: + pipe_type_initial[i][j] = 0 + pipe = PipeTube(self, grid[i][j].x, grid[i][j].y, pipe_type_initial[i][j]) + else: + if pipe_type_initial[i][j] == 2 or pipe_type_initial[i][j] == 3 or pipe_type_initial[i][j] == 4: + pipe_type_initial[i][j] += 1 + elif pipe_type_initial[i][j] == 5: + pipe_type_initial[i][j] = 2 + pipe = PipeCorner(self, grid[i][j].x, grid[i][j].y, pipe_type_initial[i][j]) + pipe.draw() + + def isSolved(self): + for (i, j, d) in correct_way: + if pipe_type_initial[i][j] != d: + return True + return False + + def selected(self, grid): + for i in range (7): + for j in range(10): + if grid[i][j].isSelected(): + return [i,j] + + def walkDirection(self, grid): + prev = (0, 0) + for (i, j, d) in correct_way: + if d == 0 or d == 1: + pipe = PipeTube(self, grid[i][j].x, grid[i][j].y, d) + if prev[0] > i and d == 1: + pipe.walk(grid, "up") + elif prev[0] < i and d == 1: + pipe.walk(grid, "down") + elif prev[1] > j and d == 0: + pipe.walk(grid, "left") + elif prev[1] < j and d == 0: + pipe.walk(grid, "right") + else: + pipe = PipeCorner(self, grid[i][j].x, grid[i][j].y, d) + if prev[0] > i and (d == 3 or d == 4): + pipe.walk(grid, "up") + elif prev[1] > j and d == 2: + pipe.walk(grid, "up") + elif prev[1] < j and d == 5: + pipe.walk(grid, "up") + else: + pipe.walk(grid, "down") + prev = (i, j) + + def Robot(self, grid): + + self.draw(grid) + + # drawing the robot + cloud1 = pygame.image.load(os.path.join('dust_cloud1.png')) + cloud2 = pygame.image.load(os.path.join('dust_cloud2.png')) + cloud3 = pygame.image.load(os.path.join('dust_cloud3.png')) + + turn = 0 + for i in range(6): + if turn % 3 == 0: + self.draw(grid) + self.window.blit(cloud1, (1160, 500)) + self.window.blit(cloud2, (1100, 512)) + self.window.blit(cloud3, (1310, 512)) + pygame.display.update() + elif turn % 3 == 1: + self.draw(grid) + self.window.blit(cloud2, (1160, 500)) + self.window.blit(cloud3, (1100, 512)) + self.window.blit(cloud1, (1310, 512)) + pygame.display.update() + else: + self.draw(grid) + self.window.blit(cloud3, (1160, 500)) + self.window.blit(cloud2, (1310, 512)) + self.window.blit(cloud1, (1100, 512)) + pygame.display.update() + turn += 1 + + self.draw(grid) + robot = pygame.image.load(os.path.join("Robot_reparat.png")) + pygame.display.update() + W1 = pygame.image.load(os.path.join("dance1.png")) + W2 = pygame.image.load(os.path.join("dance2.png")) + self.window.blit(robot, (1146, 512)) + turn = 0 + self.music("Music.mp3", 0.7) + for i in range(80): + if turn % 2 == 0: + self.draw(grid) + self.window.blit(robot, (1146, 512)) + self.window.blit(W1, (1210, 530)) + pygame.display.update() + pygame.time.delay(10) + else: + self.draw(grid) + self.window.blit(robot, (1146, 512)) + self.window.blit(W2, (1210, 530)) + pygame.display.update() + pygame.time.delay(10) + turn += 1 + + pygame.time.delay(300) + +def main(): + gameInst = Game() + gameInst.run() + +main() \ No newline at end of file diff --git a/Robot_reparat.png b/Robot_reparat.png new file mode 100644 index 0000000..e038365 Binary files /dev/null and b/Robot_reparat.png differ diff --git a/Robot_stricat.png b/Robot_stricat.png new file mode 100644 index 0000000..ea85935 Binary files /dev/null and b/Robot_stricat.png differ diff --git a/Sounds/rotate_01 b/Sounds/rotate_01 new file mode 100644 index 0000000..8148510 Binary files /dev/null and b/Sounds/rotate_01 differ diff --git a/Sounds/rotate_02 b/Sounds/rotate_02 new file mode 100644 index 0000000..d026682 Binary files /dev/null and b/Sounds/rotate_02 differ diff --git a/Sounds/select_01 b/Sounds/select_01 new file mode 100644 index 0000000..a1aa8b2 Binary files /dev/null and b/Sounds/select_01 differ diff --git a/Sounds/select_03 b/Sounds/select_03 new file mode 100644 index 0000000..afcf4ad Binary files /dev/null and b/Sounds/select_03 differ diff --git a/Sounds/select_04 b/Sounds/select_04 new file mode 100644 index 0000000..e85bc9f Binary files /dev/null and b/Sounds/select_04 differ diff --git a/Sounds/selrot_02 b/Sounds/selrot_02 new file mode 100644 index 0000000..ef9ccf6 Binary files /dev/null and b/Sounds/selrot_02 differ diff --git a/Sounds/selrot_03 b/Sounds/selrot_03 new file mode 100644 index 0000000..24d5a7f Binary files /dev/null and b/Sounds/selrot_03 differ diff --git a/Sounds/selrot_04 b/Sounds/selrot_04 new file mode 100644 index 0000000..124e843 Binary files /dev/null and b/Sounds/selrot_04 differ diff --git a/Square.py b/Square.py new file mode 100644 index 0000000..ddbbb41 --- /dev/null +++ b/Square.py @@ -0,0 +1,129 @@ +import pygame +import os +pygame.mixer.init() +pygame.init() +frame_rate = pygame.time.Clock() + +# colour variables +WHITE = (255,255,255) +RED = (255,0,0) +GREEN = (0,255,0) +BLACK = (0,0,0) +BLUE = (81, 117, 161) +ORANGE = (241, 168, 42) + +# window dimensions +WIDTH = 1280 +HEIGHT = 720 + +# grid global variables +square_lat = 80 +x_start = 256 +y_start = 72 +grid_width = 10 * square_lat +grid_height = 7 * square_lat +image_width = 50 +image_height = 70 + + + +class square: + def __init__(self, game, x, y, type, selected = 0): + self.game = game + self.x = x + self.y = y + self.s = selected + self.type = type + + def draw(self): + if self.isSelected(): + pygame.draw.rect(self.game.window, ORANGE, [[self.x, self.y], [square_lat, square_lat]], 2) + else: + pygame.draw.rect(self.game.window, BLUE, [[self.x, self.y], [square_lat, square_lat]], 2) + + def isSelected(self): + return self.s + + def move(self, prev): + self.s = 1 + prev.s = 0 + + def walkRight(self, grid, start, stop, y): + walk2 = pygame.image.load(os.path.join('Walk', 'Vener_walk_right2.png')) + walk3 = pygame.image.load(os.path.join('Walk', 'Vener_walk_right3.png')) + walk1 = pygame.image.load(os.path.join('Walk', 'Vener_walk_right1.png')) + turn = 0 + for x in range (start, stop, 4): + if turn % 3 == 0: + self.game.draw(grid) + self.game.window.blit(walk1, (x, y)) + pygame.display.update() + elif turn % 3 == 1: + self.game.draw(grid) + self.game.window.blit(walk2, (x, self.y + square_lat / 2 - image_height)) + pygame.display.update() + else: + self.game.draw(grid) + self.game.window.blit(walk3, (x, self.y + square_lat / 2 - image_height)) + pygame.display.update() + turn += 1 + + def walkLeft(self, grid, start, stop, y): + walk2 = pygame.image.load(os.path.join('Walk', 'Vener_walk_left2.png')) + walk3 = pygame.image.load(os.path.join('Walk', 'Vener_walk_left3.png')) + walk1 = pygame.image.load(os.path.join('Walk', 'Vener_walk_left1.png')) + turn = 0 + for x in range (start, stop, -4): + if turn % 3 == 0: + self.game.draw(grid) + self.game.window.blit(walk1, (x, y)) + pygame.display.update() + elif turn % 3 == 1: + self.game.draw(grid) + self.game.window.blit(walk2, (x, y)) + pygame.display.update() + else: + self.game.draw(grid) + self.game.window.blit(walk3, (x, y)) + pygame.display.update() + turn += 1 + + def walkUp(self, grid, start, stop, x): + walk1 = pygame.image.load(os.path.join('Walk', 'Vener_walk_up1.png')) + walk2 = pygame.image.load(os.path.join('Walk', 'Vener_walk_up2.png')) + walk3 = pygame.image.load(os.path.join('Walk', 'Vener_walk_up3.png')) + turn = 0 + for y in range (start, stop, -4): + if turn % 3 == 0: + self.game.draw(grid) + self.game.window.blit(walk1, (x, y)) + pygame.display.update() + elif turn % 3 == 1: + self.game.draw(grid) + self.game.window.blit(walk2, (x, y )) + pygame.display.update() + else: + self.game.draw(grid) + self.game.window.blit(walk3, (x, y )) + pygame.display.update() + turn += 1 + + def walkDown(self, grid, start, stop, x): + walk1 = pygame.image.load(os.path.join('Walk', 'Vener_walk_down1.png')) + walk2 = pygame.image.load(os.path.join('Walk', 'Vener_walk_down2.png')) + walk3 = pygame.image.load(os.path.join('Walk', 'Vener_walk_down3.png')) + turn = 0 + for y in range(start, stop, 4): + if turn % 3 == 0: + self.game.draw(grid) + self.game.window.blit(walk1, (x, y)) + pygame.display.update() + elif turn % 3 == 1: + self.game.draw(grid) + self.game.window.blit(walk2, (x, y)) + pygame.display.update() + else: + self.game.draw(grid) + self.game.window.blit(walk3, (x, y)) + pygame.display.update() + turn += 1 diff --git a/Tube.py b/Tube.py new file mode 100644 index 0000000..b1eefd4 --- /dev/null +++ b/Tube.py @@ -0,0 +1,74 @@ +from Square import * + +class PipeTube(square): + def __init__(self, game, x, y, direction, selected = 0): + super().__init__(game, x, y, selected) + self.direction = direction + + def draw(self): + tube = pygame.image.load(os.path.join('line_pipe_1.png')) + tube = self.rotatePipe(tube) + self.game.window.blit(tube, (self.x, self.y)) + + def rotatePipe(self, tube): + if self.direction == 0: + tube = pygame.transform.rotate(tube, 90) + return tube + + def walk(self, grid, dir): + if self.direction == 0 and dir == "right": + self.walkRight(grid, self.x, self.x + square_lat, self.y + square_lat / 2 - image_height ) + + elif self.direction == 0 and dir == "left": + self.walkLeft(grid, self.x + square_lat, self.x, self.y + square_lat / 2 - image_height) + elif self.direction == 1 and dir == "up": + self.walkUp(grid, self.y + square_lat, self.y, self.x + square_lat / 2 - image_width // 2) + else: + self.walkDown(grid, self.y, self.y + square_lat, self.x + square_lat / 2 - image_width // 2) + +class PipeCorner(square): + def __init__(self, game, x, y, direction, selected = 0): + super().__init__(game, x, y, selected) + self.direction = direction + + def draw(self): + corner = pygame.image.load(os.path.join('corner_pipe_1.png')) + corner = self.rotatePipe(corner) + self.game.window.blit(corner, (self.x, self.y)) + + def rotatePipe(self, corner): + d = 2 + while d != self.direction: + corner = pygame.transform.rotate(corner, -90) + d += 1 + if d > 5: + d = 2 + return corner + + def walk(self, grid, dir): + if dir == "up": + if self.direction == 2: + self.walkLeft(grid, self.x + square_lat, self.x + square_lat // 2, self.y - 30) + self.walkUp(grid, self.y + square_lat // 2, self.y, self.x + square_lat // 2) + elif self.direction == 3: + self.walkUp(grid, self.y + square_lat, self.y + square_lat // 2, self.x + square_lat / 2 - image_width // 2) + self.walkRight(grid, self.x + square_lat // 2, self.x + square_lat, self.y + square_lat / 2 - image_height) + elif self.direction == 4: + self.walkUp(grid, self.y + square_lat, self.y + square_lat // 2, self.x + square_lat / 2 - image_width // 2) + self.walkLeft(grid, self.x + square_lat // 2, self.x, self.y + square_lat / 2 - image_height) + else: + self.walkRight(grid, self.x, self.x + square_lat // 2, self.y + square_lat / 2 - image_height) + self.walkUp(grid, self.y + square_lat // 2, self.y, self.x + square_lat / 2 - image_width // 2) + else: + if self.direction == 2: + self.walkDown(grid, self.y, self.y + square_lat // 2, self.x + square_lat / 2 - image_width // 2) + self.walkRight(grid, self.x + square_lat // 2, self.x + square_lat, self.y + square_lat / 2 - image_height) + elif self.direction == 3: + self.walkLeft(grid, self.x + square_lat, self.x + square_lat // 2, self.y + square_lat / 2 - image_height) + self.walkDown(grid, self.y + square_lat // 2, self.y + square_lat, self.x + square_lat / 2 - image_width // 2) + elif self.direction == 4: + self.walkRight(grid, self.x, self.x + square_lat // 2, self.y + square_lat / 2 - image_height) + self.walkDown(grid, self.y + square_lat // 2, self.y + square_lat, self.x + square_lat / 2 - image_width // 2) + else: + self.walkDown(grid, self.y, self.y + square_lat // 2, self.x + square_lat / 2 - image_width // 2) + self.walkLeft(grid, self.x + square_lat // 2, self.x, self.y + square_lat / 2 - image_height) \ No newline at end of file diff --git a/Walk/Vener_walk_down1.png b/Walk/Vener_walk_down1.png new file mode 100644 index 0000000..5dca9d2 Binary files /dev/null and b/Walk/Vener_walk_down1.png differ diff --git a/Walk/Vener_walk_down2.png b/Walk/Vener_walk_down2.png new file mode 100644 index 0000000..8c72f73 Binary files /dev/null and b/Walk/Vener_walk_down2.png differ diff --git a/Walk/Vener_walk_down3.png b/Walk/Vener_walk_down3.png new file mode 100644 index 0000000..3b01efc Binary files /dev/null and b/Walk/Vener_walk_down3.png differ diff --git a/Walk/Vener_walk_left1.png b/Walk/Vener_walk_left1.png new file mode 100644 index 0000000..3f832ab Binary files /dev/null and b/Walk/Vener_walk_left1.png differ diff --git a/Walk/Vener_walk_left2.png b/Walk/Vener_walk_left2.png new file mode 100644 index 0000000..ece8d21 Binary files /dev/null and b/Walk/Vener_walk_left2.png differ diff --git a/Walk/Vener_walk_left3.png b/Walk/Vener_walk_left3.png new file mode 100644 index 0000000..d9d32a1 Binary files /dev/null and b/Walk/Vener_walk_left3.png differ diff --git a/Walk/Vener_walk_right1.png b/Walk/Vener_walk_right1.png new file mode 100644 index 0000000..4cad458 Binary files /dev/null and b/Walk/Vener_walk_right1.png differ diff --git a/Walk/Vener_walk_right2.png b/Walk/Vener_walk_right2.png new file mode 100644 index 0000000..a24cb78 Binary files /dev/null and b/Walk/Vener_walk_right2.png differ diff --git a/Walk/Vener_walk_right3.png b/Walk/Vener_walk_right3.png new file mode 100644 index 0000000..a132697 Binary files /dev/null and b/Walk/Vener_walk_right3.png differ diff --git a/Walk/Vener_walk_up1.png b/Walk/Vener_walk_up1.png new file mode 100644 index 0000000..b47ee56 Binary files /dev/null and b/Walk/Vener_walk_up1.png differ diff --git a/Walk/Vener_walk_up2.png b/Walk/Vener_walk_up2.png new file mode 100644 index 0000000..e570484 Binary files /dev/null and b/Walk/Vener_walk_up2.png differ diff --git a/Walk/Vener_walk_up3.png b/Walk/Vener_walk_up3.png new file mode 100644 index 0000000..21aa99a Binary files /dev/null and b/Walk/Vener_walk_up3.png differ diff --git a/__pycache__/Square.cpython-310.pyc b/__pycache__/Square.cpython-310.pyc new file mode 100644 index 0000000..f14aea1 Binary files /dev/null and b/__pycache__/Square.cpython-310.pyc differ diff --git a/__pycache__/Square.cpython-39.pyc b/__pycache__/Square.cpython-39.pyc new file mode 100644 index 0000000..1f1fb4e Binary files /dev/null and b/__pycache__/Square.cpython-39.pyc differ diff --git a/__pycache__/Tube.cpython-310.pyc b/__pycache__/Tube.cpython-310.pyc new file mode 100644 index 0000000..ace175b Binary files /dev/null and b/__pycache__/Tube.cpython-310.pyc differ diff --git a/__pycache__/Tube.cpython-39.pyc b/__pycache__/Tube.cpython-39.pyc new file mode 100644 index 0000000..08693b7 Binary files /dev/null and b/__pycache__/Tube.cpython-39.pyc differ diff --git a/corner_pipe_1.png b/corner_pipe_1.png new file mode 100644 index 0000000..19d6498 Binary files /dev/null and b/corner_pipe_1.png differ diff --git a/dance1.png b/dance1.png new file mode 100644 index 0000000..7597e99 Binary files /dev/null and b/dance1.png differ diff --git a/dance2.png b/dance2.png new file mode 100644 index 0000000..b742188 Binary files /dev/null and b/dance2.png differ diff --git a/dust_cloud1.png b/dust_cloud1.png new file mode 100644 index 0000000..4fa00b4 Binary files /dev/null and b/dust_cloud1.png differ diff --git a/dust_cloud2.png b/dust_cloud2.png new file mode 100644 index 0000000..95a64ed Binary files /dev/null and b/dust_cloud2.png differ diff --git a/dust_cloud3.png b/dust_cloud3.png new file mode 100644 index 0000000..3424221 Binary files /dev/null and b/dust_cloud3.png differ diff --git a/lala.py b/lala.py new file mode 100644 index 0000000..7b70c22 --- /dev/null +++ b/lala.py @@ -0,0 +1,26 @@ +import os +from PIL import Image + +# get image +filepath = os.path.join('start-end.png') +img = Image.open(filepath) + +# get width and height +width = img.width +height = img.height +print(width, height) +# image = PIL.Image.open(os.path.join('Walk', 'Vener_walk_up1.png')) +# width, height = image.size.extract() #width and height from output tuple. +# print(width, height) + + + +# im = cv2.imread('data/src/lena.jpg') + +# print(type(im)) +# # + +# print(im.shape) +# print(type(im.shape)) +# # (225, 400, 3) +# # \ No newline at end of file diff --git a/line_pipe_1.png b/line_pipe_1.png new file mode 100644 index 0000000..322aa46 Binary files /dev/null and b/line_pipe_1.png differ diff --git a/line_pipe_2.png b/line_pipe_2.png new file mode 100644 index 0000000..ebbb57c Binary files /dev/null and b/line_pipe_2.png differ diff --git a/select_02 b/select_02 new file mode 100644 index 0000000..0259688 Binary files /dev/null and b/select_02 differ diff --git a/selrot_01 b/selrot_01 new file mode 100644 index 0000000..c7ffafd Binary files /dev/null and b/selrot_01 differ diff --git a/start-end.png b/start-end.png new file mode 100644 index 0000000..f27e095 Binary files /dev/null and b/start-end.png differ diff --git a/start-end1.png b/start-end1.png new file mode 100644 index 0000000..a9f036e Binary files /dev/null and b/start-end1.png differ