4.4 综合问题的解决 课件 (共20张PPT)2023—2024学年教科版(2019)高中信息技术必修1

资源下载
  1. 二一教育资源

4.4 综合问题的解决 课件 (共20张PPT)2023—2024学年教科版(2019)高中信息技术必修1

资源简介

(共20张PPT)
教科版(2019版) 信息技术(高中)
4.4 综合问题的解决
第4单元 计算与问题解决
必修1 数据与计算
“石头剪刀布”人机对战小游戏的Python代码运行结果及部分代码如下:
-----------------------------
请出拳:
剪刀
人—剪刀,机---布

>>>
-----------------------------
import random
hand=["石头","剪刀","布"]
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 random
def windows_function():
global windows
windows = 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)判断玩家和电脑的胜负
human
windows
human-windows
0
二、总体设计和详细设计
2、过程设计
(2)判断玩家和电脑的胜负
def judgement(human,windows):
if human-windows in [1,-2]:
number_win+=1
label_down.configure(text='恭喜, 你赢了 !')
elif human == windows:
label_down.configure(text = '平局,加油!')
number_draw+=1
else:
number_lose+=1
label_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_total
number_total+=1 #统计局数
label_image.configure(image = image_Scissors)#显示剪刀手势
windows_function() #随机显示电脑出的手势
human = 0
judgement(human,windows) #判断玩家和电脑的胜负
(3)点击剪刀按钮,执行hit_Scissors函数
三、编码实现和测试
组装各程序块并调试运行
三、编码实现和测试
“剪刀石头布”游戏改进意见
游戏项目已开发完成,但游戏有不尽如人意的地方,请在下面框中填写你对游戏的改进意见。
课堂小结
一、需求分析
二、总体设计和详细设计
三、编码实现和测试
四、运行维护
软件开发流程
THANKS

展开更多......

收起↑

资源预览