30 撲克牌游戲
小明同學想要做一個撲克牌游戲, 他在串列里面存了 1 到 13 的數 字,分別代表 A、2、3……J、Q、K,程式運行后會隨機從串列里面抽 取 3 個數字,并將數值存到串列【 ch】中,但是他遇到了一個問題, 無法判斷這三張牌是不是連續的數字, 接下來請你用程式來幫助他完 成這個功能, 注意: K 和 A兩張牌不連續,

1、準備作業
(1)在預留檔案中的小明角色中編程,
2、功能實作
(1)每次運行代碼,小明會根據串列【 ch】中的資料是否連續說出 結果,如果是連續的,就說“ yes”,如果不是連續的,就說“ no” ,
(2)比如,代碼運行后,如果【 ch】串列中的資料為 1、2、3,小 明說“yes”,如果【ch】串列中的資料為 12、13、1,小明說“ no” ,
題目分析
角色分析
角色:系統保留小強角色
背景分析
背景:默認背景
準備作業
1、從角色庫中添加devin角色并改名為小強,如下圖所示:

2、依題目要求新建撲克牌和ch串列,如下圖所示:

3、由于題目是要求我們進行判斷ch串列中抽取的撲克牌是否連續,所以需要提前建立一些變數:i(用于遍歷串列內元素)、j(用于控制排序次數)、temp(用于臨時存放交換值),如下圖所示:

流程分析
根據題目要求和功能實作對角色的整體流程進行分析:
分析如下:
1、先將1-13連續數字填入撲克牌串列代表A、2、3...、J、Q、K 13張撲克牌
2、從撲克牌串列中隨機抽取3張撲克牌,保證3張撲克不會重復
3、將抽取好的撲克牌存入ch串列中
4、將ch串列中抽取的撲克牌先進行排序
5、然后判斷排序好的串列的最后一項減去第一項是否等于2
6、如果等于2說明是連續的說yes,否則不連續說no
PS:真正考試的時候1-3是系統已經設定好的,考生要做的就是4、5、6三步,當然方法有多種,也可以選擇不排序,我這邊講解的思路是這樣更清晰易懂
具體流程如下:

程式撰寫

具體每個積木程式的分析可以參考主要積木分析和之前案例的分析
考點分析
本案例難度系數5:綜合考人機互動(詢問機制)、查條件條件判斷、嵌套回圈、變數定義及相關積木使用、串列及相關積木操作、邏輯推理等等;難點在于如何分析程式的實作程序(如何判斷連續);如何對串列中的元素進行比較大小,我們這邊采用的是冒泡排序,每次將最大的數字放到串列的最后,然后通過相減進行判斷是否連續,方法有多種,小朋友們只要能實作效果就可以,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/286848.html
標籤:其他
