Refactor/entities splitting #4

Merged
ilia merged 18 commits from refactor/entities-splitting into main 2026-07-18 08:02:47 +00:00
Showing only changes of commit bc8903366a - Show all commits
+52
View File
@@ -0,0 +1,52 @@
import { Graphics } from 'pixi.js';
import { Ball } from './entities/ball/ball';
import { Brick } from './entities/brick/brick';
import { Paddle } from './entities/paddle/paddle';
import { Game } from './game';
/**
* Создает визуальное отображение мяча с помощью Pixi.js
* @param {Ball} ball экземпляр класса мяч
*/
function createBallView(ball) {
return new Graphics().circle(0, 0, ball.radius).fill('#ffffff');
}
/**
* Создает визуальное отображение ракетки с помощью Pixi.js
* @param {Paddle} paddle экземпляр класса ракетка
*/
function createPaddleView(paddle) {
return new Graphics().rect(0, 0, paddle.width, paddle.height).fill('#fff000');
}
/**
* Создает визуальное отображение кирпича с помощью Pixi.js
* @param {Brick} brick экземпляр класса кирпич
*/
function createBrickView(brick) {
return new Graphics().rect(0, 0, brick.width, brick.height).fill('#000fff');
}
/**
* Создает визуальное отображение всех сущностей в игре с помощью Pixi.js
* @param {Game} game экземпляр класса игра
*/
export function createGameView(game) {
try {
const ball = createBallView(game.ball);
const paddle = createPaddleView(game.paddle);
const bricks = game.bricks.map((row) => row.map((brick) => createBrickView(brick)));
return {
ball,
paddle,
bricks,
};
} catch (err) {
console.error(err);
return null;
}
}