|

7精币
问题是这样的:
这个程序是世宝老师讲的那个模拟电梯的程序
以下是我写的代码:
新手写的代码,可能有点点乱,不过还是希望高手能给指出错误
点编译出现的问题是这样的:
在这个程序里面,我可以分别实现开门,关门,以及上,下开关,1,2按钮的功能。
但如果我先按了按钮上(或者按钮下,或者按钮1,或者按钮2)之后电梯会下降到1层,然后自动打开电梯门,---------到这里是完全可以实现的,
但此时问题出现了:当电梯门自动打开之后,我想手动点关门,把门关闭,但门却没有反映,
谁可以帮忙看下我的代码,分析下错误在什么地方?
我还是把程序放上来吧,复制代码很乱,希望高手帮忙!!!
练习做模拟电梯程序.e
(9.22 KB, 下载次数: 15)
.版本 2
.程序集 窗口程序集1
.程序集变量 开关门, 整数型
.程序集变量 上下, 整数型
.子程序 按上下后开门子程序
.如果 (外形框_左门.左边 ≠ -40 或 外形框_右门.左边 ≠ 80)
外形框_左门.左边 = 外形框_左门.左边 - 5
外形框_右门.左边 = 外形框_右门.左边 + 5
.否则
时钟开关门控制.时钟周期 = 0
.如果结束
.子程序 按上下后关门子程序
.如果 (外形框_左门.左边 ≠ -40 或 外形框_右门.左边 ≠ 80)
外形框_左门.左边 = 外形框_左门.左边 + 5
外形框_右门.左边 = 外形框_右门.左边 - 5
.否则
时钟开关门控制.时钟周期 = 0
.如果结束
.子程序 _时钟开关门控制_周期事件
.如果 (开关门 = 1)
.如果 (外形框_左门.左边 ≠ -40 或 外形框_右门.左边 ≠ 80)
外形框_左门.左边 = 外形框_左门.左边 - 5
外形框_右门.左边 = 外形框_右门.左边 + 5
.否则
.如果结束
.否则
.如果结束
.如果 (开关门 = -1)
.如果 (外形框_左门.左边 ≠ 0 或 外形框_右门.左边 ≠ 40)
外形框_左门.左边 = 外形框_左门.左边 + 5
外形框_右门.左边 = 外形框_右门.左边 - 5
.否则
.如果结束
.否则
.如果结束
.子程序 _按钮_开门_被单击
开关门 = 1
时钟开关门控制.时钟周期 = 100
.子程序 _按钮_关门_被单击
开关门 = -1
时钟开关门控制.时钟周期 = 100
.子程序 _按钮_上_被单击
上下 = 1
时钟上下电梯箱控制.时钟周期 = 100
.子程序 _按钮_下_被单击
上下 = -1
时钟上下电梯箱控制.时钟周期 = 100
.子程序 _时钟上下电梯箱控制_周期事件
.如果 (上下 = 1)
.如果 (外形框_电梯箱.顶边 < 标签_1层.顶边)
外形框_电梯箱.顶边 = 外形框_电梯箱.顶边 + 5
.否则
按上下后开门子程序 ()
.如果结束
.否则
.如果结束
.如果 (上下 = -1)
.如果 (外形框_电梯箱.顶边 > 标签_2层.顶边)
外形框_电梯箱.顶边 = 外形框_电梯箱.顶边 - 5
.否则
按上下后开门子程序 ()
.如果结束
.否则
.如果结束
.子程序 _按钮_去1层_被单击
_按钮_上_被单击 ()
.子程序 _按钮_去2层_被单击
_按钮_下_被单击 ()
![]() |
最佳答案
查看完整内容
[e].版本 2
.子程序 按上下后开门子程序
.如果 (外形框_左门.左边 ≠ -40 或 外形框_右门.左边 ≠ 80)
外形框_左门.左边 = 外形框_左门.左边 - 5
外形框_右门.左边 = 外形框_右门.左边 + 5
.否则
时钟上下电梯箱控制.时钟周期 = 0 '这里
.如果结束
.子程序 按上下后关门子程序
.如果 (外形框_左门.左边 ≠ -40 或 外形框_右门.左边 ≠ 80)
外形框_左门.左边 = 外形框_左门.左边 + 5
外形框_右门. ...
|