From 668310274e2f526702ff9ab4d61698faac943695 Mon Sep 17 00:00:00 2001 From: JSNavey Date: Fri, 13 Jul 2018 12:13:34 -0400 Subject: [PATCH 1/4] initial commit, change the size of screen --- src/draw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/draw.py b/src/draw.py index 14ff036..ceb352e 100644 --- a/src/draw.py +++ b/src/draw.py @@ -6,7 +6,7 @@ from ball import * from block import * -SCREEN_SIZE = [640, 480] +SCREEN_SIZE = [400, 800] BACKGROUND_COLOR = [255, 255, 255] def debug_create_objects(object_list): From d3e51a5fee6303946a13a217def23ba5aca46c41 Mon Sep 17 00:00:00 2001 From: JSNavey Date: Fri, 13 Jul 2018 13:18:20 -0400 Subject: [PATCH 2/4] create several blocks --- src/block.py | 3 +++ src/draw.py | 28 +++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/block.py b/src/block.py index f7966e2..a6afb0a 100644 --- a/src/block.py +++ b/src/block.py @@ -34,4 +34,7 @@ class KineticBlock(Block): # KineticBall will handle the collison pass +class Paddle(Block): + + pass diff --git a/src/draw.py b/src/draw.py index ceb352e..8ba039c 100644 --- a/src/draw.py +++ b/src/draw.py @@ -7,7 +7,14 @@ from block import * SCREEN_SIZE = [400, 800] -BACKGROUND_COLOR = [255, 255, 255] +BACKGROUND_COLOR = [0, 0, 0] +BLOCK_WIDTH = 50 +BLOCK_HEIGHT = 25 +TOTAL_BLOCK = 8 +BLOCK_POSITION = [50,50] +BLOCK_ROW = 5 +BLOCK_COLUMN = 6 +BLOCK_SPACING = 10 def debug_create_objects(object_list): kinetic = GameBall(1, object_list, SCREEN_SIZE, @@ -16,8 +23,23 @@ 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 + def main(): pygame.init() From 2b90fc9a8b47ca8c2020702cd5c4ce2f79534994 Mon Sep 17 00:00:00 2001 From: JSNavey Date: Fri, 13 Jul 2018 13:52:40 -0400 Subject: [PATCH 3/4] create a paddle but cannot control yet --- src/block.py | 2 +- src/draw.py | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/block.py b/src/block.py index a6afb0a..4902290 100644 --- a/src/block.py +++ b/src/block.py @@ -34,7 +34,7 @@ class KineticBlock(Block): # KineticBall will handle the collison pass -class Paddle(Block): +class Paddle(KineticBlock): pass diff --git a/src/draw.py b/src/draw.py index 8ba039c..a73998f 100644 --- a/src/draw.py +++ b/src/draw.py @@ -8,13 +8,18 @@ SCREEN_SIZE = [400, 800] BACKGROUND_COLOR = [0, 0, 0] -BLOCK_WIDTH = 50 + +BLOCK_WIDTH = 55 BLOCK_HEIGHT = 25 -TOTAL_BLOCK = 8 -BLOCK_POSITION = [50,50] -BLOCK_ROW = 5 +TOTAL_BLOCK = 6 +BLOCK_POSITION = [53,60] +BLOCK_ROW = 1 BLOCK_COLUMN = 6 -BLOCK_SPACING = 10 +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, @@ -40,6 +45,9 @@ def debug_create_objects(object_list): x = BLOCK_POSITION[0] y += BLOCK_HEIGHT + BLOCK_SPACING + paddle = Paddle(Vector2(PADDLE_POSITION), PADDLE_WIDTH, PADDLE_HEIGHT, [255, 255, 255]) + object_list.append(paddle) + def main(): pygame.init() From 036eb2d241793c2ff85aa531bb51c24cb4152395 Mon Sep 17 00:00:00 2001 From: JSNavey Date: Fri, 13 Jul 2018 19:26:52 -0400 Subject: [PATCH 4/4] implement paddle movement --- src/ball.py | 2 ++ src/block.py | 20 +++++++++++++++++++- src/draw.py | 5 +++-- 3 files changed, 24 insertions(+), 3 deletions(-) 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 4902290..e1ec929 100644 --- a/src/block.py +++ b/src/block.py @@ -36,5 +36,23 @@ class KineticBlock(Block): class Paddle(KineticBlock): - pass + 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 a73998f..5d73477 100644 --- a/src/draw.py +++ b/src/draw.py @@ -13,7 +13,7 @@ BLOCK_HEIGHT = 25 TOTAL_BLOCK = 6 BLOCK_POSITION = [53,60] -BLOCK_ROW = 1 +BLOCK_ROW = 5 BLOCK_COLUMN = 6 BLOCK_SPACING = 5 @@ -45,6 +45,7 @@ def debug_create_objects(object_list): 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) @@ -74,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