From 6097d34b9be5333278d6ebc929b60f645f65dfde Mon Sep 17 00:00:00 2001 From: Kylin_on_Mac Date: Wed, 3 Aug 2022 15:08:36 +0800 Subject: [PATCH] update ai and game_object.py --- ml/ml_play_manual.py | 2 +- src/game_object.py | 43 +++++++++++++++++++++++++++++-------------- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/ml/ml_play_manual.py b/ml/ml_play_manual.py index 5c612fe..99ac762 100644 --- a/ml/ml_play_manual.py +++ b/ml/ml_play_manual.py @@ -3,7 +3,7 @@ import pygame class MLPlay: - def __init__(self): + def __init__(self,ai_name,*args,**kwargs): print("Initial ml script") def update(self, scene_info: dict, keyboard:list=[], *args, **kwargs): diff --git a/src/game_object.py b/src/game_object.py index 2d5c3c9..750fb07 100644 --- a/src/game_object.py +++ b/src/game_object.py @@ -2,11 +2,20 @@ import random import pygame.sprite +from mlgame.view.view_model import create_rect_view_data + +BALL_VEL = 10.5 + +BALL_H = 100 + +BALL_W = 10 + class Ball(pygame.sprite.Sprite): def __init__(self, color="#FFEB3B"): pygame.sprite.Sprite.__init__(self) - self.image = pygame.Surface([50, 50]) + self.origin_image = pygame.Surface([BALL_W, BALL_H]) + self.image = self.origin_image self.color = color self.rect = self.image.get_rect() self.rect.center = (400, 300) @@ -14,25 +23,31 @@ class Ball(pygame.sprite.Sprite): def update(self, motion): # for motion in motions: if motion == "UP": - self.rect.centery -= 10.5 + self.rect.centery -= BALL_VEL elif motion == "DOWN": - self.rect.centery += 10.5 + self.rect.centery += BALL_VEL elif motion == "LEFT": - self.rect.centerx -= 10.5 + self.rect.centerx -= BALL_VEL + # self.angle += 5 elif motion == "RIGHT": - self.rect.centerx += 10.5 + self.rect.centerx += BALL_VEL + # self.angle -= 5 + # self.image = pygame.transform.rotate(self.origin_image, self.angle) + # print(self.angle) + # center = self.rect.center + # self.rect = self.image.get_rect() + # self.rect.center = center @property def game_object_data(self): - return {"type": "rect", - "name": "ball", - "x": self.rect.x, - "y": self.rect.y, - "angle": 0, - "width": self.rect.width, - "height": self.rect.height, - "color": self.color - } + return create_rect_view_data( + "ball", + self.rect.x, + self.rect.y, + self.rect.width, + self.rect.height, + self.color + ) class Food(pygame.sprite.Sprite):