居居的火锅 发表于 2018-12-26 21:28:13

"零基础入门学习Python”那个打飞机的问题!

加载背景音乐
播放背景音乐(设置单曲循环)
我方飞机诞生
interval=0

while Ture
   if 用户是否点击了关闭按钮:
             退出程序
        interval +=1
        if interval ==50:
          interval =0
                小飞机诞生
        小飞机移动一个位置
        屏幕刷新
       
        if 用户鼠标产生移动:
          我方飞机中心位置=用户鼠标位置
                屏幕刷新
               
        if 我方飞机与小飞机发生肢体冲突:
          我方挂,播放撞机音乐
                修改我方飞机图案
                打印"Game over"
                停止背景音乐,最好淡出

求问这里面的 interval 怎么理解?我没有听懂?

sunrise085 发表于 2018-12-26 21:53:03

这个interval就是停顿、间隔的意思。因为计算机执行这几行程序时间非常短的,因此刷新频率非常快。若没有时间间隔的话,屏幕会每次刷新就出现一个小飞机,这样的结果就是满屏幕都是小飞机,一个叠一个,完全分不清楚,就像花屏了似的,因此需要间隔一段时间产生一个飞机,用以降低小飞机出现的频率,即减少屏幕中小飞机的个数,interval的大小可以控制屏幕上小飞机的个数。
其实小飞机还有一个速度控制参数,就是刷新频率问题,课程中没有讲到。那个参数就是在小飞机移动一个位置中执行若干个空指令,用以拖延刷新时间,小飞机移动的速度就会降下来。

不知有没有讲清楚。若还有疑问可以继续提问。

居居的火锅 发表于 2018-12-26 23:21:57

sunrise085 发表于 2018-12-26 21:53
这个interval就是停顿、间隔的意思。因为计算机执行这几行程序时间非常短的,因此刷新频率非常快。若没有时 ...

噢,所以第一个=0其实指的是我方飞机,下面的==50是对方飞机的参数是吗?

居居的火锅 发表于 2018-12-26 23:25:20

sunrise085 发表于 2018-12-26 21:53
这个interval就是停顿、间隔的意思。因为计算机执行这几行程序时间非常短的,因此刷新频率非常快。若没有时 ...

可是连续用三个interval是怎么理解呢?

sunrise085 发表于 2018-12-27 09:10:55

居居的火锅 发表于 2018-12-26 23:21
噢,所以第一个=0其实指的是我方飞机,下面的==50是对方飞机的参数是吗?

{:9_229:}{:9_229:}
你对编程一点都不理解么?若是没有其他语言的编程基础,建议你买本书看看,可以直接就买小甲鱼的这本零基础入门学习python。毕竟视频太短,部分内容不如书中详细,你需要一些很基础的编程知识。
首先,说一句,你这一段伪代码中有错误,小飞机诞生这一句的缩进不对,帮你改一下
    interval +=1
    if interval ==50:
      interval = 0
      小飞机诞生

    小飞机移动一个位置
    屏幕刷新

然后,对你说一下这几行伪代码的意思。
第一句 interval+=1,在每一次循环中先对这个标志进行+1;
第二句 if interval == 50 ,用if语句判断标志interval是否达到所设置的上限(这里上限设置的是50,可修改,用以设置小飞机产生的间隔);
第三句   interval = 0 ,这句是在if模块里的语句,若标志interval达到所设置的上限,重置标志interval为0
第四句   小飞机诞生 ,这句也是if模块里的语句,生成一个小飞机。
页: [1]
查看完整版本: "零基础入门学习Python”那个打飞机的问题!