---
# System prepended metadata

title: 9/22 Arcade再進化-射擊遊戲(1)
tags: [2022 iThome 鐵人賽]

---

---
tags: 2022 iThome 鐵人賽 
title: 9/22 Arcade再進化-射擊遊戲(1)
AUTHOR: 謝熙智
---
# 探索宇宙-射擊遊戲
## 不敗的經典遊戲類型
無論是過去的街機房，或是現今的湯姆熊，縱向捲軸射擊遊戲，一直是不敗的經典，在遊戲區必定佔有一席之地。或許以下幾款遊戲，也曾經陪你度過許多快樂的時光。
### 《雷霆戰機》
特色介紹:戰機的每個部位都可以更換，部分的空戰遊戲都是以整體戰機為主去更換，關卡分闖關和無盡模式，而闖關遊戲有劇情，這也使我更加喜歡這款遊戲
![](https://p2.bahamut.com.tw/B/2KU/10/0001196110.JPG?_=1433754409184)

![](https://cdn2.ettoday.net/images/971/971893.jpg)

### 《1945》
特色介紹:背景為二次大戰，其戰機大部分出現於二戰期間，對於一個軍事迷來說，符合軍事迷的胃口，其蓄力系統的效果不同，有好有壞，等著你發現
![](https://i.imgur.com/jPiIQ4l.jpg)
### 《B計劃》
特色介紹:可透過擊落小運載火箭截留武器翼或是拿些寶物來獲得新武器，不像其他遊戲，武器固定，也有短暫的無敵技能，但使用的同時須小心你的武器翼脫落
![](https://i.ytimg.com/vi/fVvg4pEvR4Q/maxresdefault.jpg)

![](https://img.yxss.com/m00/8b/99/a7c39eb8172ce42dabd5d41ab764eb7b.jpg)




## 修改 space destroyer
以上經典射擊遊戲廣受好評，之後推出了類似版本也風靡一時。我想讓大家能再一次玩到當時的經典:`太空科幻射擊遊戲`。並透過Arcade學習簡單的程式設計與運算思維。我選space destroyer做為修改基礎。

預計修改方向:修改彈幕以增加遊戲性，獲得金幣升級戰機，改造武器、變換皮膚

### 第一章：增加隕石碎片的密度及飛行速度上升 
> 原因:增加遊戲刺激感，不在只注意前方的殞石，須注意全方位的隕石。

---                                                 

### 以下是使用積木為例

1. 首先點選原版官方專案
[官方版本](https://makecode.com/_cX0c1KXU55wJ)
   ![](https://i.imgur.com/6v3wxub.png)
2. 為專案取檔名
   ![](https://i.imgur.com/DWy560C.png) 

3. 在程式頁面找到 當遊戲更新 500毫秒
   ![](https://i.imgur.com/3Gn7KbW.png)

4. 複製整個程式碼
   ![](https://i.imgur.com/aPqf5xE.png)

5. 選取 數學 的隨機取數 設數字為(1500到5000毫秒)放在間隔500毫秒 
   ![](https://i.imgur.com/mFqG858.png) 
   ![](https://i.imgur.com/71NEVcM.png)
  - 增加遊戲的隕石亂流發生機率
   
6. 選取 數學 的隨機取數 設數字為(-10到100毫秒)放在速度 vy(75) 改變vx(10) 
   ![](https://i.imgur.com/Ze5kOx1.png) 
   ![](https://i.imgur.com/am7Yeng.png)
  - 增加隕石飛行方向及速度 
   

---

## 以下是使用JAVASCRIPT來做 

### 原版: 
```javascript=
game.onUpdateInterval(300, function() {
    子彈 = sprites.createProjectileFromSide(殞石[randint(0, 殞石.length - 1)], 0, 75)
    子彈.x = randint(10, 150)
    子彈.setKind(SpriteKind.Enemy)
})
```

### 改版:
```javascript=
game.onUpdateInterval(randint(1500, 5000), function() {
    子彈 = sprites.createProjectileFromSide(殞石[randint(0, 殞石.length - 1)], 10, randint(-10, 100))
    子彈.x = randint(10, 150)
    子彈.setKind(SpriteKind.Enemy)
})
```
[修改版本](https://makecode.com/_Leudkdgv9iru)

## 圖片來源

[《雷霆戰機》戰神啟動！(巴哈姆特)(作者：犬拓) ](https://gnn.gamer.com.tw/detail.php?sn=116076)
[《雷霆戰機》全新戰機「智慧曙光」挑戰玩家極限(魔方網)](https://www.google.com/url?sa=i&url=https%3A%2F%2Fgame.ettoday.net%2Farticle%2F475849.htm&psig=AOvVaw1lIgXCmIK8AbNQquBy2yj1&ust=1663933134600000&source=images&cd=vfe&ved=0CAwQjRxqFwoTCIjdjYyoqPoCFQAAAAAdAAAAABAE)
[全角色满级蓄力炮测试：你知道威力最大的是哪架么？(Bilibili)(作者：阿馨原创美文)](https://www.bilibili.com/video/BV1Qf4y1g77X/)
[《B计划》，一键切换武器，我从未见过如此厚颜无耻之飞机 (YouTube)(作者：82电玩大叔)](https://www.youtube.com/watch?v=fVvg4pEvR4Q)
[怀旧街机飞行射击(搜搜遊戲)](https://www.google.com/url?sa=i&url=https%3A%2F%2Fm.yxss.com%2Fazyx%2F34864.html&psig=AOvVaw1wL_EpDyJYmgZ6mpEk8GeP&ust=1663933658785000&source=images&cd=vfe&ved=0CAwQjRxqFwoTCIC_ioaqqPoCFQAAAAAdAAAAABAK)


