first commit

master
Milan Suman 2022-07-26 15:11:00 +05:30
parent ad959a570d
commit f5584acffb
3 changed files with 72 additions and 0 deletions

7
index.css Normal file
View File

@ -0,0 +1,7 @@
*{
box-sizing: border-box;
}
html, body{
margin: 0px;
}

14
index.html Normal file
View File

@ -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>

51
index.js Normal file
View File

@ -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();