swift - 我的函数有很多“如果”,我该如何构建一个循环来修复它?
问题描述
像这样,我没有为它建立模型,所以它有很多“如果”,我怎样才能建立一个循环来修复它?
@State var player1show = true
@State var player2show = true
@State var player3show = true
@State var player4show = true
func closeall() {
if !player1show{
player1show.toggle()
player1.stop()
}
if !player2show{
player2show.toggle()
player2.stop()
}
if !player3show{
player3show.toggle()
player3.stop()
}
...
}
解决方案
“player”是 Player 类的一个实例,它有一个属性“show”(或方法)以及方法 toggle() 和 stop()。也许为此有一个基类和虚拟可覆盖方法。这不是必须的,但是为所有玩家创建一个基类是很好的 OOP 实践,因此您可以为每个玩家类型指定更多。
“玩家”是游戏中所有活跃玩家的数组或列表。您必须维护此列表。
for player in players { if !player.show { player.toggle() player.stop() } }
希望这能给你一个想法!
推荐阅读
- image - 使用图片 HTML 元素更改为具有惰性大小的纵向或横向视图图像的右 src 低分辨率占位符
- python-3.x - 带分号的 boto3 变量
- ios - Flutter:将项目复制到另一台 Mac 后,无法在 iOS 设备上从 Xcode 运行构建
- python-3.x - 我想为标题的每个链接创建单独的文本文件,并使用 BeautifulSoup 将标题的文章写入这些文本文件
- python - Dash 应用程序不会绘图,但没有任何错误
- wordpress - 如何使用不同的永久链接结构重定向旧域?
- python - 使用 python 和 os.walk() 重命名子文件夹中的文件
- python - 少处理关闭标准输出管道
- c - 如何在c中并排打印多个数组?
- java - 公开测试失败