diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 5ad9255..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "files.associations": { - "dirent.h": "c" - } -} \ No newline at end of file diff --git a/assets/style/style.css b/assets/style/style.css new file mode 100644 index 0000000..d826295 --- /dev/null +++ b/assets/style/style.css @@ -0,0 +1,59 @@ +body { + margin: 0; + padding: 0; + background-image: url("3.jpg"); +} + +header { + position: fixed; + top: 0; + width: 100%; +} + +nav { + background-color: #555; + padding: 15px; + text-align: center; + box-shadow: 0 5px 4px rgba(0, 0, 0, 0.3); +} + +nav a { + text-decoration: none; + color: white; + padding: 15px; +} + +nav a:hover { + background-color: #16c4ef; + color: black; +} + +section { + margin: 100px; +} + +article { + background-color: rgba(255, 255, 255, 0.8); + border-radius: 30px; + padding: 100px; + margin-bottom: 60px; + box-shadow: 0 10px 4px rgba(0, 0, 0, 0.3); +} + +h2 { + text-align: center; +} + +footer { + background-color: #555; + color: #fff; + padding: 10px; + text-align: center; +} + +.tips { + width: 200px; + height: auto; + margin-left: 30px; + margin-right: 30px; +} \ No newline at end of file diff --git a/code/index.html b/code/index.html new file mode 100644 index 0000000..70e4704 --- /dev/null +++ b/code/index.html @@ -0,0 +1,25 @@ + + + + + + + + + 醉墨编程 + +
+ +
+ + + + + + \ No newline at end of file diff --git a/plane/game/flush.js b/game/plane/game/flush.js similarity index 95% rename from plane/game/flush.js rename to game/plane/game/flush.js index 02a1e77..43fe75e 100644 --- a/plane/game/flush.js +++ b/game/plane/game/flush.js @@ -1,9 +1,9 @@ -function flush() { - if (player.gameIsOver) { - return - } - player.update() - updateBullet() - updateRocks() - requestAnimationFrame(flush) +function flush() { + if (player.gameIsOver) { + return + } + player.update() + updateBullet() + updateRocks() + requestAnimationFrame(flush) } \ No newline at end of file diff --git a/plane/game/init.js b/game/plane/game/init.js similarity index 87% rename from plane/game/init.js rename to game/plane/game/init.js index cda2969..d96da1e 100644 --- a/plane/game/init.js +++ b/game/plane/game/init.js @@ -1,29 +1,29 @@ -var win = document.getElementById('win') -var score = document.getElementById('score') -var hp = document.getElementById('hp') - -var PERFIX_SRC = 'https://go75.github.io/plane/resource/img/' - -var PlAYER_SRC = PERFIX_SRC + 'player.png' -var BULLET_SRC = PERFIX_SRC + 'bullet.png' -var POSTFIX_ROCK = 'rock.png' -var SHIELD_SRC = PERFIX_SRC + 'shield.png' -var LIGHT_SRC = PERFIX_SRC + 'gun.png' - -var PLAYER_SPEED = 20 -var BULLET_SPEED = 20 -var MAX_ROCK_SPEED_X = 5 -var MIN_ROCK_SPEED_Y = 5 -var VAR_ROCK_SPEED_Y = 5 - -var BULLET_CREATE_INTERVAL = 200 - -var ROCK_COUNT = 10 -var ROCK_KIND = 5 - -var ROCK_HURT = 10 - -var TOOL_PROBABILITY = 0.05 - -var SHIELD_NUM = 10 +var win = document.getElementById('win') +var score = document.getElementById('score') +var hp = document.getElementById('hp') + +var PERFIX_SRC = 'https://go75.github.io/game/plane/resource/img/' + +var PlAYER_SRC = PERFIX_SRC + 'player.png' +var BULLET_SRC = PERFIX_SRC + 'bullet.png' +var POSTFIX_ROCK = 'rock.png' +var SHIELD_SRC = PERFIX_SRC + 'shield.png' +var LIGHT_SRC = PERFIX_SRC + 'gun.png' + +var PLAYER_SPEED = 20 +var BULLET_SPEED = 20 +var MAX_ROCK_SPEED_X = 5 +var MIN_ROCK_SPEED_Y = 5 +var VAR_ROCK_SPEED_Y = 5 + +var BULLET_CREATE_INTERVAL = 200 + +var ROCK_COUNT = 10 +var ROCK_KIND = 5 + +var ROCK_HURT = 10 + +var TOOL_PROBABILITY = 0.05 + +var SHIELD_NUM = 10 var LIGHT_NUM = 5 \ No newline at end of file diff --git a/plane/game/main.js b/game/plane/game/main.js similarity index 98% rename from plane/game/main.js rename to game/plane/game/main.js index 059b530..3affca3 100644 --- a/plane/game/main.js +++ b/game/plane/game/main.js @@ -1,3 +1,3 @@ -var player = new Player(PlAYER_SRC, PLAYER_SPEED) -flush() +var player = new Player(PlAYER_SRC, PLAYER_SPEED) +flush() var createBulletTimer = setInterval(createBullet, BULLET_CREATE_INTERVAL) \ No newline at end of file diff --git a/game/plane/index.html b/game/plane/index.html new file mode 100644 index 0000000..e7109e5 --- /dev/null +++ b/game/plane/index.html @@ -0,0 +1,36 @@ + + + + + + + + + 醉墨编程 + + +
+ +
+ + +
+
0
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/plane/model/bullet.js b/game/plane/model/bullet.js similarity index 96% rename from plane/model/bullet.js rename to game/plane/model/bullet.js index c6f27f0..709fae4 100644 --- a/plane/model/bullet.js +++ b/game/plane/model/bullet.js @@ -1,67 +1,67 @@ -class Bullet extends Img { - constructor(imgSrc, speed) { - super(imgSrc) - this.img.onload = () => { - this.setX(player.x() + player.w() / 2 - this.w() / 2) - this.setY(player.y()) - } - - this.speed = speed - } - - move() { - let y = this.y() - this.speed - - this.setY(y) - } -} - -var bullets = [] - -function createBullet() { - let bullet = new Bullet(BULLET_SRC, BULLET_SPEED) - bullets.push(bullet) -} - -function updateBullet() { - for (let i = 0; i < bullets.length; i++) { - let bullet = bullets[i] - bullet.move() - - if (bullet.y() < 0) { - bullet.remove() - bullets.splice(i, 1) - } - - crashProcess() - } -} - -function crashProcess() { - for (let j = 0; j < ROCK_COUNT; j++) { - let rock = rocks[j] - if (rock.type != 0) { - continue - } - for (let i = 0; i < bullets.length; i++) { - let bullet = bullets[i] - if (bullet.cross(rock)) { - let randNum = Math.random() - if (randNum < TOOL_PROBABILITY) { - if (randNum < TOOL_PROBABILITY / 2) { - rock.img.src = SHIELD_SRC - rock.type = 1 - } else { - rock.img.src = LIGHT_SRC - rock.type = 2 - } - } else { - player.setScore(player.score() + 1) - bullet.remove() - bullets.splice(i, 1) - rock.init() - } - } - } - } +class Bullet extends Img { + constructor(imgSrc, speed) { + super(imgSrc) + this.img.onload = () => { + this.setX(player.x() + player.w() / 2 - this.w() / 2) + this.setY(player.y()) + } + + this.speed = speed + } + + move() { + let y = this.y() - this.speed + + this.setY(y) + } +} + +var bullets = [] + +function createBullet() { + let bullet = new Bullet(BULLET_SRC, BULLET_SPEED) + bullets.push(bullet) +} + +function updateBullet() { + for (let i = 0; i < bullets.length; i++) { + let bullet = bullets[i] + bullet.move() + + if (bullet.y() < 0) { + bullet.remove() + bullets.splice(i, 1) + } + + crashProcess() + } +} + +function crashProcess() { + for (let j = 0; j < ROCK_COUNT; j++) { + let rock = rocks[j] + if (rock.type != 0) { + continue + } + for (let i = 0; i < bullets.length; i++) { + let bullet = bullets[i] + if (bullet.cross(rock)) { + let randNum = Math.random() + if (randNum < TOOL_PROBABILITY) { + if (randNum < TOOL_PROBABILITY / 2) { + rock.img.src = SHIELD_SRC + rock.type = 1 + } else { + rock.img.src = LIGHT_SRC + rock.type = 2 + } + } else { + player.setScore(player.score() + 1) + bullet.remove() + bullets.splice(i, 1) + rock.init() + } + } + } + } } \ No newline at end of file diff --git a/plane/model/controls.js b/game/plane/model/controls.js similarity index 95% rename from plane/model/controls.js rename to game/plane/model/controls.js index d9c0dce..6b44a6d 100644 --- a/plane/model/controls.js +++ b/game/plane/model/controls.js @@ -1,32 +1,32 @@ -class Controls { - constructor() { - this.up = false - this.down = false - this.left = false - this.right = false - document.onkeydown = (evt) => { - this.#onkey(evt, true) - } - document.onkeyup = (evt) => { - this.#onkey(evt, false) - } - } - - #onkey(evt, bool) { - switch (evt.code) { - case 'KeyW': - this.up = bool - break - case "KeyS": - this.down = bool - break - case "KeyA": - this.left = bool - break - case "KeyD": - this.right = bool - break - } - } -} - +class Controls { + constructor() { + this.up = false + this.down = false + this.left = false + this.right = false + document.onkeydown = (evt) => { + this.#onkey(evt, true) + } + document.onkeyup = (evt) => { + this.#onkey(evt, false) + } + } + + #onkey(evt, bool) { + switch (evt.code) { + case 'KeyW': + this.up = bool + break + case "KeyS": + this.down = bool + break + case "KeyA": + this.left = bool + break + case "KeyD": + this.right = bool + break + } + } +} + diff --git a/plane/model/image.js b/game/plane/model/image.js similarity index 95% rename from plane/model/image.js rename to game/plane/model/image.js index 2659a62..6fce02a 100644 --- a/plane/model/image.js +++ b/game/plane/model/image.js @@ -1,66 +1,66 @@ -class Img { - constructor(src) { - this.img = document.createElement('img') - this.img.src = src - this.img.style.position = 'absolute' - this.img.style.left = '0px' - this.img.style.top = '0px' - this.angle = 0 - win.appendChild(this.img) - } - - x() { - return parseInt(this.img.style.left) - } - - y() { - return parseInt(this.img.style.top) - } - - w() { - return this.img.width - } - - h() { - return this.img.height - } - - right() { - return this.x() + this.w() - } - - bottom() { - return this.y() + this.h() - } - - setX(x) { - this.img.style.left = x + 'px' - } - - setY(y) { - this.img.style.top = y + 'px' - } - - remove() { - win.removeChild(this.img) - } - - rotate(angle) { - this.angle = angle - this.img.style.transform = 'rotate(' + angle + 'deg)' - } - - contain(img) { - return this.x() <= img.x() && - this.x() + this.w() >= img.x() + img.w() && - this.y() <= img.y() && - this.y() + this.h() >= img.y() + img.h() - } - - cross(img) { - return this.x() < img.x() + img.w() && - this.x() + this.w() > img.x() && - this.y() < img.y() + img.h() && - this.y() + this.h() > img.y() - } +class Img { + constructor(src) { + this.img = document.createElement('img') + this.img.src = src + this.img.style.position = 'absolute' + this.img.style.left = '0px' + this.img.style.top = '0px' + this.angle = 0 + win.appendChild(this.img) + } + + x() { + return parseInt(this.img.style.left) + } + + y() { + return parseInt(this.img.style.top) + } + + w() { + return this.img.width + } + + h() { + return this.img.height + } + + right() { + return this.x() + this.w() + } + + bottom() { + return this.y() + this.h() + } + + setX(x) { + this.img.style.left = x + 'px' + } + + setY(y) { + this.img.style.top = y + 'px' + } + + remove() { + win.removeChild(this.img) + } + + rotate(angle) { + this.angle = angle + this.img.style.transform = 'rotate(' + angle + 'deg)' + } + + contain(img) { + return this.x() <= img.x() && + this.x() + this.w() >= img.x() + img.w() && + this.y() <= img.y() && + this.y() + this.h() >= img.y() + img.h() + } + + cross(img) { + return this.x() < img.x() + img.w() && + this.x() + this.w() > img.x() && + this.y() < img.y() + img.h() && + this.y() + this.h() > img.y() + } } \ No newline at end of file diff --git a/plane/model/player.js b/game/plane/model/player.js similarity index 95% rename from plane/model/player.js rename to game/plane/model/player.js index f5f3fad..b6a5b4f 100644 --- a/plane/model/player.js +++ b/game/plane/model/player.js @@ -1,76 +1,76 @@ -class Player extends Img { - constructor(imgSrc, speed) { - super(imgSrc) - this.img.onload = () => { - let x = (win.offsetWidth - this.w()) / 2 - this.setX(x) - let y = win.offsetHeight - this.h() - this.setY(y) - } - - this.gameIsOver = false - this.hp = 100 - this.speed = speed - this.controls = new Controls() - } - - moveX(x) { - let res - if (x < -this.w() / 2) { - res = win.offsetWidth - this.w() / 2 - } else if (x > win.offsetWidth - this.w() / 2) { - res = -this.w() / 2 - } else { - res = x - } - this.setX(res) - } - - moveY(y) { - let res - if (y < 0) { - res = 0 - } else if (y > win.offsetHeight - this.h()) { - res = (win.offsetHeight - this.h()) - } else { - res = y - } - this.setY(res) - } - - update() { - this.#move() - } - - #move() { - if (this.controls.up) { - this.moveY(this.y() - this.speed) - } - - if (this.controls.down) { - this.moveY(this.y() + this.speed) - } - - if (this.controls.left) { - this.moveX(this.x() - this.speed) - } - - if (this.controls.right) { - this.moveX(this.x() + this.speed) - } - } - - score() { - return parseInt(score.innerText) - } - - setScore(number) { - score.innerText = number - } - - gameOver() { - this.gameIsOver = true - clearInterval(createBulletTimer) - win.innerHTML = '

游戏结束,您的最终得分为:' + this.score() + '

' - } +class Player extends Img { + constructor(imgSrc, speed) { + super(imgSrc) + this.img.onload = () => { + let x = (win.offsetWidth - this.w()) / 2 + this.setX(x) + let y = win.offsetHeight - this.h() + this.setY(y) + } + + this.gameIsOver = false + this.hp = 100 + this.speed = speed + this.controls = new Controls() + } + + moveX(x) { + let res + if (x < -this.w() / 2) { + res = win.offsetWidth - this.w() / 2 + } else if (x > win.offsetWidth - this.w() / 2) { + res = -this.w() / 2 + } else { + res = x + } + this.setX(res) + } + + moveY(y) { + let res + if (y < 0) { + res = 0 + } else if (y > win.offsetHeight - this.h()) { + res = (win.offsetHeight - this.h()) + } else { + res = y + } + this.setY(res) + } + + update() { + this.#move() + } + + #move() { + if (this.controls.up) { + this.moveY(this.y() - this.speed) + } + + if (this.controls.down) { + this.moveY(this.y() + this.speed) + } + + if (this.controls.left) { + this.moveX(this.x() - this.speed) + } + + if (this.controls.right) { + this.moveX(this.x() + this.speed) + } + } + + score() { + return parseInt(score.innerText) + } + + setScore(number) { + score.innerText = number + } + + gameOver() { + this.gameIsOver = true + clearInterval(createBulletTimer) + win.innerHTML = '

游戏结束,您的最终得分为:' + this.score() + '

' + } } \ No newline at end of file diff --git a/plane/model/rock.js b/game/plane/model/rock.js similarity index 96% rename from plane/model/rock.js rename to game/plane/model/rock.js index ae18a16..873321e 100644 --- a/plane/model/rock.js +++ b/game/plane/model/rock.js @@ -1,102 +1,102 @@ -class Rock extends Img { - constructor(imgSrc) { - super(imgSrc) - this.img.onload = () => { - let x = Math.random() * (win.offsetWidth - this.w()) - this.setX(x) - } - - // 0表示岩石,1表示盾牌,2表示弹药 - this.type = 0 - - this.speedX = (Math.random() * 2 * MAX_ROCK_SPEED_X) - MAX_ROCK_SPEED_X - this.speedY = Math.random() * VAR_ROCK_SPEED_Y + MIN_ROCK_SPEED_Y - } - - moveX(x) { - let res - if (x < -this.w() / 2) { - res = win.offsetWidth - this.w() / 2 - } else if (x > win.offsetWidth - this.w() / 2) { - res = -this.w() / 2 - } else { - res = x - } - this.setX(res) - } - - moveY(y) { - if (y > win.offsetHeight - this.h()) { - if (this.type != 0) { - this.img.src = randomRockSrc() - this.type = 0 - } - this.setY(0) - return - } - this.setY(y) - } - - init() { - this.img.src = randomRockSrc() - this.setY(0) - } - - move() { - this.moveX(this.x() + this.speedX) - this.moveY(this.y() + this.speedY) - } -} - -function randomRockSrc() { - let index = Math.floor(Math.random() * ROCK_KIND) - return PERFIX_SRC + index + POSTFIX_ROCK -} - -var rocks = new Array() - -function updateRocks() { - for (let i = 0; i < ROCK_COUNT; i++) { - let rock = rocks[i] - rock.move() - - if (rock.cross(player)) { - switch (rock.type) { - // rock - case 0: - let angle = (rock.angle + 2) % 360 - rock.rotate(angle) - player.hp -= ROCK_HURT - if (player.hp <= 0) { - player.gameOver() - return - } - hp.style.width = player.hp + 'px' - - break - - // shield - case 1: - player.hp = (player.hp + SHIELD_NUM) % 101 - hp.style.width = player.hp + 'px' - break - - // light - case 2: - player.setScore(player.score() + LIGHT_NUM) - break - } - - rock.init() - } - } -} - -function initRocks() { - for (let i = 0; i < ROCK_COUNT; i++) { - let rock = new Rock(randomRockSrc()) - rocks.push(rock) - } -} - +class Rock extends Img { + constructor(imgSrc) { + super(imgSrc) + this.img.onload = () => { + let x = Math.random() * (win.offsetWidth - this.w()) + this.setX(x) + } + + // 0表示岩石,1表示盾牌,2表示弹药 + this.type = 0 + + this.speedX = (Math.random() * 2 * MAX_ROCK_SPEED_X) - MAX_ROCK_SPEED_X + this.speedY = Math.random() * VAR_ROCK_SPEED_Y + MIN_ROCK_SPEED_Y + } + + moveX(x) { + let res + if (x < -this.w() / 2) { + res = win.offsetWidth - this.w() / 2 + } else if (x > win.offsetWidth - this.w() / 2) { + res = -this.w() / 2 + } else { + res = x + } + this.setX(res) + } + + moveY(y) { + if (y > win.offsetHeight - this.h()) { + if (this.type != 0) { + this.img.src = randomRockSrc() + this.type = 0 + } + this.setY(0) + return + } + this.setY(y) + } + + init() { + this.img.src = randomRockSrc() + this.setY(0) + } + + move() { + this.moveX(this.x() + this.speedX) + this.moveY(this.y() + this.speedY) + } +} + +function randomRockSrc() { + let index = Math.floor(Math.random() * ROCK_KIND) + return PERFIX_SRC + index + POSTFIX_ROCK +} + +var rocks = new Array() + +function updateRocks() { + for (let i = 0; i < ROCK_COUNT; i++) { + let rock = rocks[i] + rock.move() + + if (rock.cross(player)) { + switch (rock.type) { + // rock + case 0: + let angle = (rock.angle + 2) % 360 + rock.rotate(angle) + player.hp -= ROCK_HURT + if (player.hp <= 0) { + player.gameOver() + return + } + hp.style.width = player.hp + 'px' + + break + + // shield + case 1: + player.hp = (player.hp + SHIELD_NUM) % 101 + hp.style.width = player.hp + 'px' + break + + // light + case 2: + player.setScore(player.score() + LIGHT_NUM) + break + } + + rock.init() + } + } +} + +function initRocks() { + for (let i = 0; i < ROCK_COUNT; i++) { + let rock = new Rock(randomRockSrc()) + rocks.push(rock) + } +} + initRocks() \ No newline at end of file diff --git a/plane/resource/img/0rock.png b/game/plane/resource/img/0rock.png similarity index 100% rename from plane/resource/img/0rock.png rename to game/plane/resource/img/0rock.png diff --git a/plane/resource/img/1rock.png b/game/plane/resource/img/1rock.png similarity index 100% rename from plane/resource/img/1rock.png rename to game/plane/resource/img/1rock.png diff --git a/plane/resource/img/2rock.png b/game/plane/resource/img/2rock.png similarity index 100% rename from plane/resource/img/2rock.png rename to game/plane/resource/img/2rock.png diff --git a/plane/resource/img/3rock.png b/game/plane/resource/img/3rock.png similarity index 100% rename from plane/resource/img/3rock.png rename to game/plane/resource/img/3rock.png diff --git a/plane/resource/img/4rock.png b/game/plane/resource/img/4rock.png similarity index 100% rename from plane/resource/img/4rock.png rename to game/plane/resource/img/4rock.png diff --git a/plane/resource/img/background.png b/game/plane/resource/img/background.png similarity index 100% rename from plane/resource/img/background.png rename to game/plane/resource/img/background.png diff --git a/plane/resource/img/bullet.png b/game/plane/resource/img/bullet.png similarity index 100% rename from plane/resource/img/bullet.png rename to game/plane/resource/img/bullet.png diff --git a/plane/resource/img/expl0.png b/game/plane/resource/img/expl0.png similarity index 100% rename from plane/resource/img/expl0.png rename to game/plane/resource/img/expl0.png diff --git a/plane/resource/img/expl1.png b/game/plane/resource/img/expl1.png similarity index 100% rename from plane/resource/img/expl1.png rename to game/plane/resource/img/expl1.png diff --git a/plane/resource/img/expl2.png b/game/plane/resource/img/expl2.png similarity index 100% rename from plane/resource/img/expl2.png rename to game/plane/resource/img/expl2.png diff --git a/plane/resource/img/expl3.png b/game/plane/resource/img/expl3.png similarity index 100% rename from plane/resource/img/expl3.png rename to game/plane/resource/img/expl3.png diff --git a/plane/resource/img/expl4.png b/game/plane/resource/img/expl4.png similarity index 100% rename from plane/resource/img/expl4.png rename to game/plane/resource/img/expl4.png diff --git a/plane/resource/img/expl5.png b/game/plane/resource/img/expl5.png similarity index 100% rename from plane/resource/img/expl5.png rename to game/plane/resource/img/expl5.png diff --git a/plane/resource/img/gun.png b/game/plane/resource/img/gun.png similarity index 100% rename from plane/resource/img/gun.png rename to game/plane/resource/img/gun.png diff --git a/plane/resource/img/player.png b/game/plane/resource/img/player.png similarity index 100% rename from plane/resource/img/player.png rename to game/plane/resource/img/player.png diff --git a/plane/resource/img/player_expl.png b/game/plane/resource/img/player_expl.png similarity index 100% rename from plane/resource/img/player_expl.png rename to game/plane/resource/img/player_expl.png diff --git a/plane/resource/img/shield.png b/game/plane/resource/img/shield.png similarity index 100% rename from plane/resource/img/shield.png rename to game/plane/resource/img/shield.png diff --git a/plane/resource/sound/background.ogg b/game/plane/resource/sound/background.ogg similarity index 100% rename from plane/resource/sound/background.ogg rename to game/plane/resource/sound/background.ogg diff --git a/plane/resource/sound/bgm.mp3 b/game/plane/resource/sound/bgm.mp3 similarity index 100% rename from plane/resource/sound/bgm.mp3 rename to game/plane/resource/sound/bgm.mp3 diff --git a/plane/resource/sound/expl0.wav b/game/plane/resource/sound/expl0.wav similarity index 100% rename from plane/resource/sound/expl0.wav rename to game/plane/resource/sound/expl0.wav diff --git a/plane/resource/sound/expl1.wav b/game/plane/resource/sound/expl1.wav similarity index 100% rename from plane/resource/sound/expl1.wav rename to game/plane/resource/sound/expl1.wav diff --git a/plane/resource/sound/pow0.wav b/game/plane/resource/sound/pow0.wav similarity index 100% rename from plane/resource/sound/pow0.wav rename to game/plane/resource/sound/pow0.wav diff --git a/plane/resource/sound/pow1.wav b/game/plane/resource/sound/pow1.wav similarity index 100% rename from plane/resource/sound/pow1.wav rename to game/plane/resource/sound/pow1.wav diff --git a/plane/resource/sound/rumble.ogg b/game/plane/resource/sound/rumble.ogg similarity index 100% rename from plane/resource/sound/rumble.ogg rename to game/plane/resource/sound/rumble.ogg diff --git a/plane/resource/sound/shoot.wav b/game/plane/resource/sound/shoot.wav similarity index 100% rename from plane/resource/sound/shoot.wav rename to game/plane/resource/sound/shoot.wav diff --git a/plane/style/style.css b/game/plane/style/style.css similarity index 93% rename from plane/style/style.css rename to game/plane/style/style.css index 599e682..664a5e3 100644 --- a/plane/style/style.css +++ b/game/plane/style/style.css @@ -1,23 +1,23 @@ -*{ - margin: 0; - padding: 0; -} - -#win{ - width: 800px; - height: 600px; - background: url("/plane/resource/img/background.png"); - margin: 0px auto; - position: relative; -} - -#score { - color: white; - text-align: center; -} - -#hp { - width: 100px; - height: 10px; - background-color: greenyellow; +*{ + margin: 0; + padding: 0; +} + +#win{ + width: 800px; + height: 600px; + background: url("/plane/resource/img/background.png"); + margin: 0px auto; + position: relative; +} + +#score { + color: white; + text-align: center; +} + +#hp { + width: 100px; + height: 10px; + background-color: greenyellow; } \ No newline at end of file diff --git a/index.html b/index.html index c443d5c..e3d6d57 100644 --- a/index.html +++ b/index.html @@ -1,12 +1,80 @@ - + + - - Document + + + 醉墨编程 +
+ +
+ - +
+
+

醉墨居士的编程宇宙

+

你好,我是醉墨居士🤗

+

我是一个热衷于学习和分享的人,我理解知识分享的重要性,并注重将复杂的技术概念转化为易于理解和消化的形式。我有着良好的沟通和表达能力,在知识分享的过程中,能够将理论与实践相结合,给予他人清晰明了的指导和建议 +

+

我喜欢编程、分享、游戏、音乐、运动,喜欢一切有意思的东西

+

本网站是知识传递的平台,我们可以相互学习和成长,共同进步,也希望大家把网站分享给更多的人,帮助更多的人学习编程、爱上编程

+

感谢你访问我的网站,希望这里的内容能够对你有所帮助。无论你是想学习编程、提升技术还是寻找灵感,这里都是你的理想之地。让我们一起探索编程的奇妙世界吧!🫠

+
+
+ +
+
+

网站专区

+ +
+
+ +
+
+

最后

+

祝你工作顺利,学习快乐、身体健康、生活美满、家庭幸福!

+

如果对你有所帮助,可以请我喝一杯咖啡吗😉

+
+
+ + +
+
+
+
+ + + \ No newline at end of file diff --git a/plane/index.html b/plane/index.html deleted file mode 100644 index 5ac3fe6..0000000 --- a/plane/index.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - 飞机大战 - - - -
-
0
-
-
- - - - - - - - - - \ No newline at end of file diff --git a/template.html b/template.html new file mode 100644 index 0000000..70e4704 --- /dev/null +++ b/template.html @@ -0,0 +1,25 @@ + + + + + + + + + 醉墨编程 + +
+ +
+ + + + + + \ No newline at end of file diff --git a/tips.html b/tips.html new file mode 100644 index 0000000..70e4704 --- /dev/null +++ b/tips.html @@ -0,0 +1,25 @@ + + + + + + + + + 醉墨编程 + +
+ +
+ + + + + + \ No newline at end of file diff --git a/tool/index.html b/tool/index.html new file mode 100644 index 0000000..25e9ef8 --- /dev/null +++ b/tool/index.html @@ -0,0 +1,32 @@ + + + + + + + + + 醉墨编程 + +
+ +
+ + +
+
+

编程工具

+

+ 抱歉,目前该模块还在开发中,少年先去探索其它内容吧😚 +

+
+
+ + + \ No newline at end of file