究竟yield是什么?看游戏高手如何利用它巧妙绕过障碍

究竟yield是什么?看游戏高手如何利用它巧妙绕过障碍

绕过   巧妙   障碍  

  • 支   持:
  • 分   类:手游攻略
  • 大   小:
  • 说   明:
  • 下载量:180次
  • 发   布:2023-06-14 10:25:01

手机扫码免费下载

纠错留言

#究竟yield是什么?看游戏高手如何利用它巧妙绕过障碍介绍

yield到底是什么?

yield是Python语言中的一个关键字,它可以在函数中暂停函数的执行,并返回一个值。当函数再一次被调用时,它会从上一次暂停的位置继续执行。yield常用于生成器中,可以帮助我们节省内存。

yield在游戏中的运用

yield并不是只在编程中有用处。在游戏开发中,yield也可以被巧妙地使用。比如,我们想要制作一个过关条件为收集所有宝石的游戏。使用常规的循环嵌套很难实现,但是利用yield,我们可以写出更加优雅的代码。

具体例子

假设地图中的宝石是以元组的形式给出的,每个元组包括一个宝石的x坐标和y坐标。我们可以使用yield与元素迭代器来收集宝石,代码如下:

```

gems = [(1,1), (2,2), (3,3), (4,4)] #四个宝石的位置

def collect_gems():

for gem in gems:

print("宝石 ({}, {}) 已收集".format(gem[0], gem[1]))

yield gem

```

使用for循环调用函数后,我们可以一个一个地收集宝石,如下:

```

for gem in collect_gems():

print("收集到的宝石为 ({}, {})".format(gem[0], gem[1]))

```

输出结果为:

```

宝石 (1, 1) 已收集

收集到的宝石为 (1, 1)

宝石 (2, 2) 已收集

收集到的宝石为 (2, 2)

宝石 (3, 3) 已收集

收集到的宝石为 (3, 3)

宝石 (4, 4) 已收集

收集到的宝石为 (4, 4)

```

这个例子并不是太实用,但在复杂的游戏中,yield可以提供更强大的控制能力,让我们可以更好地掌控游戏进程。

小结

yield在Python中的用途十分广泛,它不仅可以用于生成器的编写,还可以用于建立游戏的进程控制系统。yield的使用可以让我们的代码更加简洁优美,同时也提升了我们对代码的控制能力。