diff --git a/src/ball.py b/src/ball.py index 20e2792..168c32a 100644 --- a/src/ball.py +++ b/src/ball.py @@ -2,9 +2,11 @@ from pygame.math import Vector2 from pygame import Rect +import pygame from block import KineticBlock + class Ball: """ base class for bouncing objects diff --git a/src/block.py b/src/block.py index f7966e2..e1ec929 100644 --- a/src/block.py +++ b/src/block.py @@ -34,4 +34,25 @@ class KineticBlock(Block): # KineticBall will handle the collison pass +class Paddle(KineticBlock): + + MOVE = 3 #Pixel per frame + + def update(self, **kwargs): + left = kwargs["left"] + right = kwargs["right"] + + if left: + self.position.x -= self.MOVE + + if right: + self.position.x += self.MOVE + + self.rectangle = pygame.Rect( + self.position.x - (self.rectangle.width/2), + self.position.y - (self.rectangle.height/2), + self.rectangle.width, + self.rectangle.height, + ) + diff --git a/src/draw.py b/src/draw.py index 14ff036..5d73477 100644 --- a/src/draw.py +++ b/src/draw.py @@ -6,8 +6,20 @@ from ball import * from block import * -SCREEN_SIZE = [640, 480] -BACKGROUND_COLOR = [255, 255, 255] +SCREEN_SIZE = [400, 800] +BACKGROUND_COLOR = [0, 0, 0] + +BLOCK_WIDTH = 55 +BLOCK_HEIGHT = 25 +TOTAL_BLOCK = 6 +BLOCK_POSITION = [53,60] +BLOCK_ROW = 5 +BLOCK_COLUMN = 6 +BLOCK_SPACING = 5 + +PADDLE_WIDTH = 100 +PADDLE_HEIGHT = 30 +PADDLE_POSITION = [200, 700] def debug_create_objects(object_list): kinetic = GameBall(1, object_list, SCREEN_SIZE, @@ -16,8 +28,27 @@ def debug_create_objects(object_list): [255, 10, 0], 20) object_list.append(kinetic) - block = KineticBlock(Vector2(200,200), 100, 100, [0, 0, 255]) - object_list.append(block) + # block = KineticBlock(Vector2(200,200), 100, 100, [0, 0, 255]) + # object_list.append(block) + + #Create Blocks + x = BLOCK_POSITION[0] + y = BLOCK_POSITION[1] + + for i in range(BLOCK_ROW): + for j in range(BLOCK_COLUMN): + rand_color = [random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)] + block = KineticBlock(Vector2(x, y), BLOCK_WIDTH, BLOCK_HEIGHT, rand_color) + + object_list.append(block) + x += BLOCK_WIDTH + BLOCK_SPACING + x = BLOCK_POSITION[0] + y += BLOCK_HEIGHT + BLOCK_SPACING + + #Create Paddle + paddle = Paddle(Vector2(PADDLE_POSITION), PADDLE_WIDTH, PADDLE_HEIGHT, [255, 255, 255]) + object_list.append(paddle) + def main(): pygame.init() @@ -44,7 +75,7 @@ def main(): if keys[pygame.K_RIGHT]: right = True for object in object_list: - object.update() + object.update(left=left, right=right) object.check_collision() # Draw Updates