AAAAAAAAAAAAAAAAAAAAAAAAH

This commit is contained in:
Kbz-8
2024-02-10 19:38:56 +01:00
committed by AdrienLSH
parent acff70d414
commit 7f5bd7c6ba
8 changed files with 135 additions and 104 deletions

View File

@ -1,6 +1,6 @@
import { Game } from "./Game.js";
import { Point } from "./Point.js";
import { renderCube } from "../../3D/cube.js"
class Ball
{
@ -42,12 +42,23 @@ class Ball
/**
*
* @param {CanvasRenderingContext2D} ctx
* @param {CanvasRenderingContext2D} ctx ou pas ptdr
*/
draw(ctx)
{
ctx.rect(this.position.x - this.size / 2, this.position.y - this.size / 2, this.size, this.size);
}
if(ctx instanceof CanvasRenderingContext2D)
{
ctx.rect(this.position_x, this.position_y, this.game.config.ball_size, this.game.config.ball_size);
}
else if(ctx instanceof WebGLRenderingContext)
{
renderCube(ctx, this.position_x, 0, this.position_y, 0, this.game.config.ball_size, this.game.config.ball_size, this.game.config.ball_size);
}
else
{
alert('Unknown rendering context type (wtf)');
}
}
/**
*
@ -74,4 +85,4 @@ class Ball
}
}
export { Ball };
export { Ball }

View File

@ -114,7 +114,10 @@ class Game
*/
render(ctx)
{
ctx.clearRect(0, 0, this.config.size_x, this.config.size_y);
if(ctx instanceof CanvasRenderingContext2D)
{
ctx.clearRect(0, 0, this.config.size_x, this.config.size_y);
}
this.draw_sides(ctx);
this.ball.render(ctx);

View File

@ -65,33 +65,33 @@ class Player
*/
draw(ctx)
{
if (this.is_connected === false)
{
ctx.moveTo(this.rail.start.x, this.rail.start.y);
ctx.lineTo(this.rail.stop.x, this.rail.stop.y);
return;
}
if(ctx instanceof CanvasRenderingContext2D)
{
if (this.is_connected === false)
{
ctx.moveTo(this.rail.start.x, this.rail.start.y);
ctx.lineTo(this.rail.stop.x, this.rail.stop.y);
return;
}
let paddle_pos = new Point(this.rail.start.x + this.diff_x * this.position,
this.rail.start.y + this.diff_y * this.position);
let start_x = paddle_pos.x - (this.diff_x * (this.paddle_size / 2 / this.rail_size)),
start_y = paddle_pos.y - (this.diff_y * (this.paddle_size / 2 / this.rail_size)),
stop_x = paddle_pos.x + (this.diff_x * (this.paddle_size / 2 / this.rail_size)),
stop_y = paddle_pos.y + (this.diff_y * (this.paddle_size / 2 / this.rail_size));
let diff_x = this.rail.stop.x - this.rail.start.x,
diff_y = this.rail.stop.y - this.rail.start.y;
ctx.moveTo(start_x, start_y);
ctx.lineTo(stop_x, stop_y);
}
else if(ctx instanceof WebGLRenderingContext)
{
let rail_length = this.rail.len(),
paddle_length = rail_length * this.game.config.paddle_ratio;
let paddle_center = new Point(this.rail.start.x + diff_x * this.position,
this.rail.start.y + diff_y * this.position);
let paddle_start_x = paddle_center.x - (diff_x * (paddle_length / 2 / rail_length)),
paddle_start_y = paddle_center.y - (diff_y * (paddle_length / 2 / rail_length)),
paddle_stop_x = paddle_center.x + (diff_x * (paddle_length / 2 / rail_length)),
paddle_stop_y = paddle_center.y + (diff_y * (paddle_length / 2 / rail_length));
let paddle_start = new Point(paddle_start_x, paddle_start_y),
paddle_stop = new Point (paddle_stop_x, paddle_stop_y);
let paddle = new Segment(paddle_start, paddle_stop);
paddle.draw(ctx);
}
else
{
alert('Unknown rendering context type (wtf)');
}
}
from_json(data)
@ -107,4 +107,4 @@ class Player
}
}
export { Player };
export { Player }

View File

@ -1,4 +1,5 @@
import { Point } from "./Point.js";
import { Point } from "./Point.js"
import { renderCube } from "../../3D/cube.js"
class Segment
{
@ -41,16 +42,19 @@ class Segment
*/
draw(ctx)
{
if(this.gl instanceof CanvasRenderingContext2D)
if(ctx instanceof CanvasRenderingContext2D)
{
ctx.moveTo(this.start.x, this.start.y);
ctx.lineTo(this.stop.x, this.stop.y);
}
else if(this.gl instanceof WebGLRenderingContext)
else if(ctx instanceof WebGLRenderingContext)
{
renderCube(ctx, this.start.x, -3, this.start.y, 0, 0.5, 0.5, 0.5);
}
else
{
alert('Unknown rendering context type');
}
}
from_json(data)

View File

@ -14,8 +14,8 @@ class Wall
}
draw(ctx)
{
this.rail.draw(ctx);
{
this.rail.draw(ctx);
}
from_json(data)
@ -26,4 +26,4 @@ class Wall
}
}
export { Wall };
export { Wall }