資源簡介 (共20張PPT)教科版(2019版) 信息技術(高中)4.4 綜合問題的解決第4單元 計算與問題解決必修1 數據與計算“石頭剪刀布”人機對戰小游戲的Python代碼運行結果及部分代碼如下:-----------------------------請出拳:剪刀人—剪刀,機---布贏>>>-----------------------------import randomhand=["石頭","剪刀","布"]s=input("請出拳:")p=hand.index(s) #取S在列表hand中對應元素的序號c=random.randint(0,2) #隨機生成0,1,2三個數代表計算機出拳print("人--"+s+",機--"+__________)if p-c in [-1,2]:print("贏")elif p-c==0:print("平")else:print("輸")請根據程序運行結果補全代碼:__________hand[c]剪刀石頭布游戲課堂導入一、學會分析任務,描述需求分析,知道需要解決問題的關鍵。二、體驗剪刀石頭布游戲,了解軟件開發的基本流程。學習目標軟件開發流程一、需求分析二、總體設計和詳細設計三、編碼實現和測試四、運行維護一、需求分析:需求分析階段的任務:確定軟件系統的功能。通俗地講就是確定需要計算機做什么,想達到什么樣的效果,只有確定了這些需求后,才能夠分析和尋求系統的解決方法。“剪刀石頭布游戲”軟件的功能如下:1、玩家點選“剪刀”“石頭”“布”按鈕,出拳。2、電腦隨機出拳比較勝負。顯示玩家勝、負還是平局。3、玩家玩游戲不限次數,顯示輸贏平局和玩的局數。一、需求分析:綜合考慮游戲功能,需要導入的模塊有tkinter,random。tkinter是實現圖形用戶界面的模塊。導入該模塊可以創建命令按鈕(Button)、文本標簽(Label)等交互對象。random模塊用于產生隨機數。二、總體設計和詳細設計總體設計就是在需求分析的基礎上對模型細化、分解任務,明確程序由哪些模塊組成。概括地說,就是系統應該如何實現。程序主要由以下模塊組成:1、點擊“剪刀”按鈕、“石頭”按鈕、“布”按鈕模塊2、顯示玩家出的手勢模塊3、隨機顯示電腦出的手勢模塊4、判斷玩家和電腦的勝負模塊二、總體設計和詳細設計詳細設計主要指界面設計、過程設計等。1、界面設計(1)創建程序窗口設置窗口的標題為“剪刀石頭布游戲”,寬為450,高為400程序:from tkinter import * #導入tkinter模塊top = Tk() #生成一個新窗口top.title('剪刀石頭布游戲') #窗口的標題top.geometry('450x400') #窗口的大小二、總體設計和詳細設計1、界面設計(2)添加交互對象設置顯示玩家圖片程序:image_kobe = PhotoImage(file='kobe_100.png')label_image = Label(top,image=image_kobe)label_image.place(x=50,y=40,ancho='nw')說明:①用PhotoImage函數創建一個Tkinter圖像對象image_kobe②將其傳遞給Label組件的image參數③將Label組件添加到Tkinter窗口中二、總體設計和詳細設計1、界面設計(2)添加交互對象設置顯示玩家標簽程序:label_human = Label(top,text = '玩家',bg = 'green',fg = 'Ghostwhite',font = ('Arial',12) )label_human.place(x=70,y=172,ancho='nw')說明:標簽背景色為綠色字體為Arial,大小為12字體顏色白色二、總體設計和詳細設計1、界面設計(2)添加交互對象設置剪刀石頭布游戲按鈕程序:def pass_function():pass #pass語句是空語句,不做任何事情,通常用作占位符button_main = Button(top,text = '剪刀石頭布游戲 ',bg = 'green',fg = 'Ghostwhite',command = pass_function,font = ('Arial',12))button_main.place(x=150,y=0,ancho='nw')說明:按鈕文本為“剪刀石頭布游戲”,背景色為綠色,前景色為白色,文本字體為Arial,字號為12,命令按鈕:點擊執行pass_function函數二、總體設計和詳細設計2、過程設計(1)隨機顯示電腦出的手勢import randomdef windows_function():global windowswindows = random.randint(0, 2)if windows == 0:label_image_window.configure(image = image_Scissors)elif windows == 1:label_image_window.configure(image = image_Rock)else:label_image_window.configure(image = image_Paper)random.randint(a,b)函數的返回值是一個整數,該整數位于閉區間[a,b]之間,包括a和b二、總體設計和詳細設計2、過程設計(2)判斷玩家和電腦的勝負humanwindowshuman-windows0二、總體設計和詳細設計2、過程設計(2)判斷玩家和電腦的勝負def judgement(human,windows):if human-windows in [1,-2]:number_win+=1label_down.configure(text='恭喜, 你贏了 !')elif human == windows:label_down.configure(text = '平局,加油!')number_draw+=1else:number_lose+=1label_down.configure(text='對不起, 你輸了 !')label_result.configure(text = '贏: '+str(number_win)+ '\n輸 '+str(number_lose)+ '\n平局: '+str(number_draw)+'\n 局數: '+str(number_total))二、總體設計和詳細設計2、過程設計def hit_Scissors():global number_totalnumber_total+=1 #統計局數label_image.configure(image = image_Scissors)#顯示剪刀手勢windows_function() #隨機顯示電腦出的手勢human = 0judgement(human,windows) #判斷玩家和電腦的勝負(3)點擊剪刀按鈕,執行hit_Scissors函數三、編碼實現和測試組裝各程序塊并調試運行三、編碼實現和測試“剪刀石頭布”游戲改進意見游戲項目已開發完成,但游戲有不盡如人意的地方,請在下面框中填寫你對游戲的改進意見。課堂小結一、需求分析二、總體設計和詳細設計三、編碼實現和測試四、運行維護軟件開發流程THANKS“” 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫