first commit
parent
ad959a570d
commit
f5584acffb
|
@ -0,0 +1,7 @@
|
|||
*{
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html, body{
|
||||
margin: 0px;
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Asteroids</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>Javascript is either disabled or not supported by your browser. Here's a 🍪</noscript>
|
||||
<canvas id="canvas"></canvas>
|
||||
<script src="index.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,51 @@
|
|||
'use strict';
|
||||
|
||||
class Vector{
|
||||
constructor(x, y){
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
scalarProduct(other){
|
||||
return this.x*other.x + this.y*other.y;
|
||||
}
|
||||
|
||||
magnitude(){
|
||||
return Math.sqrt(this.x^2 + this.y^2);
|
||||
}
|
||||
|
||||
//vector product would be useless because the resultant would be in the z-axis
|
||||
|
||||
angle(other = new Vector(1, 0)){ //need some magnitude for origin vector to avoid division by 0
|
||||
//cosθ = a.b/|a||b|
|
||||
return Math.acos(this.scalarProduct(other)/(this.magnitude()*other.magnitude()));
|
||||
}
|
||||
}
|
||||
|
||||
class Asteroid{
|
||||
constructor(size, position, edges=5){
|
||||
this.size = size;
|
||||
this.edges = edges;
|
||||
this.position = position;
|
||||
}
|
||||
|
||||
draw(ctx){
|
||||
ctx.beginPath();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//initializing canvas
|
||||
const canvas = document.getElementById("canvas");
|
||||
|
||||
canvas.width = window.innerWidth;
|
||||
canvas.height = window.innerHeight;
|
||||
|
||||
const ctx = canvas.getContext("2d");
|
||||
|
||||
function animate(){
|
||||
requestAnimationFrame(animate);
|
||||
}
|
||||
|
||||
animate();
|
||||
|
Loading…
Reference in New Issue