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 @@
+
+
+
+
+
+
+
+
+ 醉墨编程
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 @@
-
-
-
-
-
-
- 飞机大战
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ 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