update ai and game_object.py

This commit is contained in:
Kylin_on_Mac 2022-08-03 15:08:36 +08:00
parent 4ab409e272
commit 6097d34b9b
2 changed files with 30 additions and 15 deletions

View File

@ -3,7 +3,7 @@ import pygame
class MLPlay: class MLPlay:
def __init__(self): def __init__(self,ai_name,*args,**kwargs):
print("Initial ml script") print("Initial ml script")
def update(self, scene_info: dict, keyboard:list=[], *args, **kwargs): def update(self, scene_info: dict, keyboard:list=[], *args, **kwargs):

View File

@ -2,11 +2,20 @@ import random
import pygame.sprite 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): class Ball(pygame.sprite.Sprite):
def __init__(self, color="#FFEB3B"): def __init__(self, color="#FFEB3B"):
pygame.sprite.Sprite.__init__(self) 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.color = color
self.rect = self.image.get_rect() self.rect = self.image.get_rect()
self.rect.center = (400, 300) self.rect.center = (400, 300)
@ -14,25 +23,31 @@ class Ball(pygame.sprite.Sprite):
def update(self, motion): def update(self, motion):
# for motion in motions: # for motion in motions:
if motion == "UP": if motion == "UP":
self.rect.centery -= 10.5 self.rect.centery -= BALL_VEL
elif motion == "DOWN": elif motion == "DOWN":
self.rect.centery += 10.5 self.rect.centery += BALL_VEL
elif motion == "LEFT": elif motion == "LEFT":
self.rect.centerx -= 10.5 self.rect.centerx -= BALL_VEL
# self.angle += 5
elif motion == "RIGHT": 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 @property
def game_object_data(self): def game_object_data(self):
return {"type": "rect", return create_rect_view_data(
"name": "ball", "ball",
"x": self.rect.x, self.rect.x,
"y": self.rect.y, self.rect.y,
"angle": 0, self.rect.width,
"width": self.rect.width, self.rect.height,
"height": self.rect.height, self.color
"color": self.color )
}
class Food(pygame.sprite.Sprite): class Food(pygame.sprite.Sprite):