---
# System prepended metadata

title: 專題介紹-心有靈犀

---

# 專題介紹-心有靈犀
作者:31529 陳芷嫻
## 簡介
我今天做的是你與朋友們是否心連心的小遊戲在閒暇時間可以放鬆放鬆

## 需求分析
一對好朋友
想測試默契值

## 使用案例
https://drive.google.com/file/d/164UYSAHUQY5rO6IkOG4hVSXCBuSp5_iD/view?usp=sharing

## 流程圖

```flow
st=>start: 開始
st2=>start: 製作
st3=>start: 測試
e=>end: End
op=>operation: 選擇自己的答案
op2=>operation: 答題
cond=>condition:  重新製作?

st->st2->op->st2->op2->cond
cond(no)->e
cond(yes)->st2

```
## 元件說明
1設置變數 
題目數->可以做幾題
第幾題->
隨機選出的題目->
第一人->建造題目的人，紀錄建造的人所選的選項
第二人->作默契考驗答題的人，對照是否與建造的人答案是否一樣
第幾人->可以讓程式辨別現在要做第一人的程式或第二人的程式

2列清單
->為了讓abcd選項一起變動故使用兩成層清單

3定義程序
取得答案->選擇abcd(1234)記錄在項目中隨機選出的題目裡記錄在第一題，以此類推第二題第三題
對答案囉->利用變數默契值去比較第一人與第二人選項(1234)是否相同，相同一個加一分

4選項abcd被點選就呼叫程序並記錄在變數第幾題為1，2，3，4



## 介面說明
![](https://i.imgur.com/1DxOszY.png)

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

![](https://i.imgur.com/OJUODz3.png)
![](https://i.imgur.com/hnldD7P.png)
![](https://i.imgur.com/Rmbw00O.png)
![](https://i.imgur.com/eDJpR83.png)



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

creat:開始建造
abcd選項:隨意選擇
start:選擇答題(跟建造者相同得分)


## 程式說明
首先設置50道題型，但為了讓abcd選項是同集合使用兩層清單

開始建造，先把所用變數初始化，並設置好各個版面的可見性，當creat被點選時，能夠看見選項版面而已。接著為了讓隨機選出的題目不會重複選擇，設置新的變數N，用if as去處理重複選擇的情況，並且記錄下隨機選擇的題目在變數第一人與變數第二人

定義程序，為了記錄每個選項的答案利用清單選擇記錄在項目中隨機選擇的題目的第幾題，a=1，b=2，c=3，d=4，為了能在區分第一人或第二人，第幾題>題目數，則會變到第二人
所以當第一人做完選擇便會讓第幾位變到2且第幾題初始化成0

a選項被點選，記錄第一人跟第二人的第幾題中是a，bcd選項亦是如此


開始玩被點選，設置版面可見性，並呼叫取得答案

定義程序對答案囉，設置變數默契值在對第一人跟第二人去做比較，如果數字相等則加1分
最後顯示默契值

## 問題
項目清單的層級問題一直無法解決，不知道點選選項到底該怎麼紀錄，最後是用一層一層的清單去記錄。然後是隨機選擇的題目要怎麼不會重複被選擇，設一個新的變數去讓程式判別是否有重複，再重新增加到變數中的清單。
該怎麼判斷第一人第二人，

## 製作心得
一開始只有基礎的想法，要慢慢把它勾勒出來到最後在程式上顯示，真的有點難，因為一開始毫無頭緒要怎麼開始，最後也想了很久才有點基礎，所以是到最後才有方法做出來，