我如何一一检查清单中的每个项目,并且之间有延迟?

时间:2019-06-15 15:32:27

标签: python python-3.x pygame

我正在制作一个游戏,在其中玩家必须显示一种图案,并且必须重复该图案。如果玩家做对了,那么游戏每次都会在序列上加1。

现在我正在尝试让游戏显示图案。他们设置的方式是游戏模式存储在列表中。 1表示左上角将亮起2右上角等,并且每次玩家列表==进入游戏列表时,都会在游戏列表中添加一个数字

var all = new Task<int>[] { tPass1, tFail1, tFail2 }
    .Where(t => t.Status == TaskStatus.RanToCompletion);
var task = Task.WhenAll(all);
task.Wait();

这实际上是行不通的,只是我能想到的全部。我基本上需要一个从头到尾检查列表的功能,之间需要一点时间。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

听起来像是在重新制作旧的Simon游戏。您走在正确的轨道上。将需要完成的事情分解为功能,然后从那里去。您将需要以下功能:

  • 检查猜测是否正确(见下文)
  • 添加正确的解决方案。有条件地称呼它...
  • 通过鼠标单击捕获玩家的猜想
  • 重置所有错误的内容...

然后,您需要做的就是组成一个主循环,并通过一些条件语句来完成运动。您可以在合适的地方添加时间延迟。

In [1]: solution = [1, 1, 2, 2, 2, 3]                                           

In [2]: guess_1 =  [1, 1, 2, 2, 2, 3]                                           

In [3]: guess_2 =  [1, 1, 2, 2, 2, 4]                                           

In [4]: def check_answer(guess, soln): 
   ...:     if guess == soln: 
   ...:         return True 
   ...:     return False 
   ...:                                                                         

In [5]: check_answer(guess_1, solution)                                         
Out[5]: True

In [6]: check_answer(guess_2, solution)                                         
Out[6]: False