---
# System prepended metadata

title: ⼤富翁
tags: [實習課程期末專題]

---

---
slideOptions:
  transition: slide
  spotlight:
    enabled: false
title: ⼤富翁
tags: 實習課程期末專題
---

# 實習課程期末專題
## 大富翁

---

## 目錄

----
1. 簡介
2. 介⾯設計與操作說明
3. 此專案的特⾊
4. 開發環境與套件
5. 成員與分⼯
6. 開發⽇程
7. 遇到的困難與解決⽅法
8. 想做但未實作的功能
9. 成員⽢苦談
10. 使⽤資源

---

## 簡介

----

相信大家小時候都有玩過大富翁吧，這是一個適合多人且沒有年齡限制的遊戲。但是，各位每次都抱著那麼大一個盒子有沒有覺得很累很麻煩阿，這時就輪到我們電子版大富翁出場了，擁有它你**隨時隨地都能玩**，你的角色將有**酷炫的技能**，~~油膩~~**精美的圖片**，讓你度過無聊的(~~上課~~)時光。

---

## 介⾯設計與操作說明

----

* 遊戲前注意事項:
    1. 記憶體最好2GB以上
    2. 電腦螢幕最好大於15吋
    3. 開啟sln出錯請使用Visual Studio 2019
    4. 遊戲人數至少兩人(系統也會限制)

----

* 選擇角色畫面: 最少兩人，最多四人
* 透過點擊"已加入"按鈕取消不想要的角色
* 右下角的開關可以控制角色技能的有無
* 選擇完畢點擊start開始遊戲
![](https://i.imgur.com/ynyr52S.png)

----

![](https://i.imgur.com/vtpOW9z.png)

----

* 起始畫面
* 每位角色各擁有兩萬pt，玩家的棋子都位於start處
* 設有五個特殊地塊:
1. BONUS:踩到會獲得500pt
2. BAD:踩到會回到起點

----

3. PRISON:進入不可⾏動狀態，下次⾃⼰的回合時，需骰骰⼦，骰到偶數時，在下個回合才可恢復為可⾏動狀態(你也可以透過付1000pt再骰一次)
![](https://i.imgur.com/40SB799.png)


----

4. FATE(隨機選一個):
    1.則所有玩家的位置隨機互換
    2.前進三格
    3.後退三格
    4.奇數接管別人地，偶數隨機賣出自己地 
5. CHANCE:
    1. 骰骰⼦，骰到 3 以上可獲得固定⾦額
    2. 骰骰⼦，獲得骰子點數*500pt
    3. 骰骰⼦，若骰到奇數加骰子點數*500pt，偶數則扣骰子點數 *500pt

----

* 如果抽到FATE 4，但你沒有土地
![](https://i.imgur.com/GMJWtgZ.png)


----

* 使用滑鼠點擊地塊，會跳出對話框
![](https://i.imgur.com/lvgoYfk.png)

----

* 主控台介紹
* 輪到該角色的回合，角色player會變紅色
![](https://i.imgur.com/q2Nca4j.png)

----

* 一開始控制區只有DICE鍵能按
* 中間有骰子告訴玩家骰了幾點
![](https://i.imgur.com/4ePXw5B.png)

----

* 之後玩家可以決定要買土地、賣土地、還是結束回合
![](https://i.imgur.com/QinKaEB.png)

----

* 如果按下SELL鍵，地圖上會將你擁有的土地顯示，你可以透過點選來賣出
* 操作完成後，點選CANCEL返回
![](https://i.imgur.com/Oap0n0m.png)

----

* 資訊欄:告知所有玩家剛剛執行的動作
![](https://i.imgur.com/zCVx2PU.png)
* END鍵:結束這回合，輪到下位玩家
![](https://i.imgur.com/gaMYKkQ.png)

----

* 過路費:若⾏⾛到的是⼀般地點，且該地點已經被別⼈購買，則需繳交過路費給該地點的地主
* 補助金:通過起點(不包含在起點上)加2000pt
* 注意:除了進出監獄外，所有移動、傳送事件都不會觸發該地的事件

----

* 當玩家再次走到自己的土地，可以選擇升級，但最多不會超過LV3
![](https://i.imgur.com/KszM95C.png)

----

* 毒圈模式:若回合數超過200回合，每位成員每回合扣500pt
![](https://i.imgur.com/NIw4NaQ.png)

----

* 若pt小於等於零，會跳出對話框催債，請玩家盡快賣土地還清債務，否則下回合將會死亡。
![](https://i.imgur.com/smh6w4o.png)


---

## 此專案的特⾊

----

1. 用顏色將每位角色的土地做區分，更容易分辨土地
2. 設有資訊欄，讓玩家知道剛剛的動作
![](https://i.imgur.com/kPmeQ85.png)
3. 角色棋子在移動時有移動動畫


----

4. 除了特殊地塊，每塊土地都可點擊來了解土地資訊和歸屬
![](https://i.imgur.com/64wtol3.png)

----

5. 每位角色都擁有技能，當玩家骰到六時就會觸發
    Player1:隨機免費升級自己的一塊土地
    Player2:如果站在別人的土地上，幫他賣掉，自身獲得    3000pt仲介費；如果沒踩到別人的土地，自身獲得3000pt作為補償
    Player3:前100回合扣除全場每位玩家1500pt,並給自己加1000pt，之後扣除全場每位玩家2000pt,並給自己加1500pt
    Player4:給隨機一位玩家3000pt，並給自己1500pt

----

6. 毒圈模式:
    回合數超過200回合，每位成員每回合扣500pt(以防遊戲玩太久)
![](https://i.imgur.com/NIw4NaQ.png)

---

### 開發環境與套件


----

* Visual Studio 2019
* C#
* ![](https://i.imgur.com/z5GbFDU.png)

---

## 成員與分⼯

----

| 名字     | 分工  | 共同項目 |
| -------- | --------| -------- |
| 蔡尚哲   | Hackmd製作、C#教學 |    測試員   |
| 洪麒翔   | 美術、FATE、CHANCE抽取 | 測試員  |
| 邱冠智   | 主程式製作、程式合成、C#教學 | 測試員 |
| 池間祐貴 | FATE製作、CHANCE製作 | 測試員|
| 何元綸   | FATE製作  | 測試員 |


---

## 開發⽇程

----

| 項目 | 時間 | 
| -------- | -------- 
| 主程式+組合程式   | 9hr  | 
|教學|6hr|
| 命運&機會等附件   | 3hr   | 
| 選角畫面   | 10min   | 
|總和|18hr|

---

### 遇到的困難與解決⽅法

----

1. 我們有成員使用Mac電腦，無法執行我們做的app，導致他不知道自己寫的對不對
    *解決方法:當他需要測試時就將程式碼傳給其他人，用別人的電腦幫他測試
2. 因為我們使用C#，有些成員沒有接觸過，要寫程式比較困難
    *解決方法:我們利用周六早上到下午教會所有人C#大致上的程式碼，再讓他們試寫自己的想法

---

### 想做但未實作的功能

----

* 動畫:像技能或擲骰子的動畫、特效
* 原因:因為宿舍網路不給我們用unity所以就不用了(我就懶)

---

### 成員⽢苦談

----

* 洪麒翔
    我們這次是用C#做大富翁 但因為自己沒碰過C#所以比較陌生 感謝同學耐心得教導 讓我能去寫出機會命運的抽取 雖然寫出的程式太多繁雜 但之後我會努力學習用更好的方式去寫 也謝謝助教 讓我們能互相交流 學習更多額外的東西

----

* 邱冠智
     本次專題很簡單但打字打的很累，原本玩玩看unity但用宿網不給我用，用手機的網路怕被限速就算了。~~幹~~
     一開始討論用C還是C#，雖然都差不多但做介面時候C#比較不累就選他了。比較麻煩的事是把程式內容全部變成我們學過範圍的寫法，這樣大家就能愉快的交流。

----

* 池間祐貴 
    我的遇到困難是我們團體用C#的部分。因為我從來沒有學習C#，完成不知道寫法。可是因為團隊成員教我C#的寫法，我大概學會了寫法。還有我電腦的APP無法跑自己的原始碼，所以在我電腦不能玩自己作的app，有點可惜。

----

* 蔡尚哲
    首先我要先感謝組內的C#大神，讓我們輕鬆的完成專題，而且其實C#跟C差不多，所以大家也學得很快(應該啦)，也透過教其他人C#獲得了一些成就感，在看到專題完成時，也莫名的開心，二話不說就開始試玩，大家一起做一個遊戲，真的是一種很棒的體驗。

----

* 何元綸
    這次用C#做專題屬實是我沒想到的，雖說如此。但大神組員的求生欲非常高，一人秀翻我對這次專題的認知，還記得他一人做完大半之後，耐心講解的過程。我真的做不到，令我佩服不已。這次機會命運事件的寫法也是他誘導式教出來的。各方面都學到了不少呢!

---

## 使⽤資源

----

* 原本使用sleep但會出錯，上網查後改用Thread.Join
![](https://i.imgur.com/fmePGEq.png)
[https://docs.microsoft.com/zh-tw/dotnet/api/system.threading.thread.join?view=net-5.0](https://)

---

## ***END***
