furthered work

This commit is contained in:
2024-10-03 11:29:13 -05:00
parent fa7ac2949b
commit 1e756f4f72
15 changed files with 301 additions and 93 deletions

37
6/class.html Normal file
View File

@ -0,0 +1,37 @@
<html><pre id="log"></pre><body><script>
!function(){var n=document.getElementById("log");console.log=function(){for(var i=0;i<arguments.length;i++)"object"==typeof arguments[i]?n.innerHTML+=(JSON&&JSON.stringify?JSON.stringify(arguments[i],void 0,2):arguments[i])+"<br />":n.innerHTML+=arguments[i]+"<br />"}}();
class Player {
constructor(startX, startY) {
this.x = startX;
this.y = startY;
}
move(dx, dy) {
this.x += dx;
this.y += dy;
}
}
let player1 = new Player(0,0);
let player2 = new Player(0,0);
console.log(player2.x)
console.log(player2.y)
console.log(player2.move(-3,10))
console.log(player2.x)
console.log(player2.y)
console.log(player2.move(4,-7))
console.log(player2.x)
console.log(player2.y)
console.log(player1.x)
console.log(player1.y)
console.log(player1.move(-20,4))
console.log(player1.x)
console.log(player1.y)
console.log(player1.move(16,-9))
console.log(player1.x)
console.log(player1.y)
</script></body></html>

35
6/pets.html Normal file
View File

@ -0,0 +1,35 @@
<html><body><script>
function Cat(name) {
this.name = name;
}
Cat.prototype.sayHello = function () {
console.log(`Miaow! My name is ${this.name}.`);
};
let kiki = new Cat("Kiki");
kiki.sayHello();
class Dog {
constructor(name) {
this.name = name;
}
sayHello() {
console.log(`Woof! My name is ${this.name}.`);
}
}
let felix = new Dog("Felix");
let moona = new Cat("Moona");
moona.sayHello = function () {
console.log(`HELLO!!! I'M ${this.name.toUpperCase()}!`);
};
moona.sayHello();
let yappy = new Dog("Yappy");
yappy.sayHello = function (){
console.log(`Bark Bark! I'M ${this.name.toUpperCase()}!`)
}
yappy.sayHello();
felix.sayHello();
</script></body></html>

64
6/subclass.html Normal file
View File

@ -0,0 +1,64 @@
<html><pre id="log"></pre><body><script>
!function(){var n=document.getElementById("log");console.log=function(){for(var i=0;i<arguments.length;i++)"object"==typeof arguments[i]?n.innerHTML+=(JSON&&JSON.stringify?JSON.stringify(arguments[i],void 0,2):arguments[i])+"<br />":n.innerHTML+=arguments[i]+"<br />"}}();
class Actor {
constructor(startX, startY) {
this.x = startX;
this.y = startY;
}
move(dx, dy) {
this.x += dx;
this.y += dy;
}
distanceTo(otherActor) {
let dx = otherActor.x - this.x;
let dy = otherActor.y - this.y;
return Math.hypot(dx, dy);
}
}
class Player extends Actor {
constructor(startX, startY) {
super(startX, startY);
this.hp = 100;
}
move(dx, dy) {
this.x += dx;
this.y += dy;
}
}
class Enemy extends Actor {
attack(player) {
if (this.distanceTo(player) < 4) {
player.hp -= 10;
return true;
} else {
return false;
}
}
}
class Follower extends Actor{
constructor(startX,startY, player){
super(startX,startY)
this.player = player
}
follow(player){
this.x = player.x
this.y = player.y
}
}
let player = new Player(0,0);
let follower = new Follower(0,0);
let enemy = new Enemy(0,0);
player.move(10,10)
console.log(player.x, player.y)
console.log(follower.x,follower.y)
follower.follow(player)
console.log(follower.x,follower.y)
</script></body></html>