这个程序怎么写?(新手)帮帮忙!~~

hujing008 2006-04-29 04:31:04
是这样的:
就象电梯一样
总共1-20个数(连接/按扭)
按下10,然后会显示数字1到10.
接着按下19,然后会显示数字10到19.
然后按下2,会显示数字19-2.
就是这个效果!
哪位大哥帮帮忙.谢谢了
...全文
164 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hujing008 2006-04-30
  • 打赏
  • 举报
回复
非常谢谢showlin(深陷asp泥潭)和楼上几位朋友.我对js不是很熟悉,得好好学学.理解一下..不懂我就问你.呵呵
待会结帖.
showlin 2006-04-30
  • 打赏
  • 举报
回复
试着写了一个,不过暂时不支持连续点按钮,需要的话要把plan_value改造成数组,存储曾经点过的按钮值,再根据运行方向进行升/降序排列,大抵如此


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script>
function SetLight(num){ //点亮某层的灯
var obj;
var tmpstring;
tmpstring="Submit" + num.toString();
obj=document.getElementById(tmpstring);
document.getElementById("now_position").innerText=now_value;
obj.style.background="#ffff00";
}

function SetUnLight(num){ //熄灭某层的灯
var obj;
var tmpstring;
tmpstring="Submit" + num.toString();
obj=document.getElementById(tmpstring);
obj.style.background="#d4d0c8";
}

function goto(obj){
var i;
var tmpobj;
var tmpstring;
if (status!=0 || obj.value==now_value) return; //运行中电梯暂时不允许控制,终点和起点一致不控制
plan_value=obj.value;//设置电梯运行终点
if (plan_value>now_value){//上行
status=1;
up();
}else{
status=-1;
down();
}

}

function up(){
SetUnLight(now_value);//设置离开的楼层显示状态
now_value++;//上行
SetLight(now_value);//顶端显示状态
if (plan_value!=now_value) {//若未抵达延时继续上行
setTimeout("up()",1000);
}else{
status=0;//设置电梯为停
}
}

function down(){
SetUnLight(now_value);//设置离开的楼层显示状态
now_value--;//下行
SetLight(now_value);//顶端显示状态
if (plan_value!=now_value) {
setTimeout("down()",1000);
}else{
status=0;//设置电梯为停
}
}
</script>

</head>

<body>
<script>
var now_value=1;//电梯当前楼层
var plan_value=1;//电梯计划停靠楼层
var status=0;//电梯当前状态,停
</script>
<form name="form1" method="post" action="">
<p>电梯现在位置<span id="now_position"></span>层</p>
<p>
<input name="Submit10" type="button" id="Submit10" value="10" onclick="goto(this);">

<input name="Submit20" type="button" id="Submit20" value="20" onclick="goto(this);">
</p>
<p>
<input name="Submit9" type="button" id="Submit9" value=" 9" onclick="goto(this);">
<input name="Submit19" type="button" id="Submit19" value="19" onclick="goto(this);">
</p>
<p> <input name="Submit8" type="button" id="Submit8" value=" 8" onclick="goto(this);">
<input name="Submit18" type="button" id="Submit18" value="18" onclick="goto(this);">
</p>
<p> <input name="Submit7" type="button" id="Submit7" value=" 7" onclick="goto(this);">
<input name="Submit17" type="button" id="Submit17" value="17" onclick="goto(this);">
</p>
<p> <input name="Submit6" type="button" id="Submit6" value=" 6" onclick="goto(this);">
<input name="Submit16" type="button" id="Submit16" value="16" onclick="goto(this);">
</p>
<p> <input name="Submit5" type="button" id="Submit5" value=" 5" onclick="goto(this);">
<input name="Submit15" type="button" id="Submit15" value="15" onclick="goto(this);">
</p>
<p> <input name="Submit4" type="button" id="Submit4" value=" 4" onclick="goto(this);">
<input name="Submit14" type="button" id="Submit14" value="14" onclick="goto(this);">
</p>
<p> <input name="Submit3" type="button" id="Submit3" value=" 3" onclick="goto(this);">
<input name="Submit13" type="button" id="Submit13" value="13" onclick="goto(this);">
</p>
<p> <input name="Submit2" type="button" id="Submit2" value=" 2" onclick="goto(this);">
<input name="Submit12" type="button" id="Submit12" value="12" onclick="goto(this);">
</p>
<p> <input name="Submit1" type="button" id="Submit1" value=" 1" onclick="goto(this);">
<input name="Submit11" type="button" id="Submit11" value="11" onclick="goto(this);">
</p>
</form>
<script>SetLight(1);</script>
</body>
</html>
jiank 2006-04-30
  • 打赏
  • 举报
回复
简单的:
首先设定dim elevator=1
之后取输入的值input_x=Request.form("……")
判断elevator和input_x的大小,大了则递减并显示单值elevator,如此循环即可。
班门弄斧 2006-04-30
  • 打赏
  • 举报
回复
我也来凑个数^_^
hreoghost 2006-04-30
  • 打赏
  • 举报
回复
偶也踩一脚先! ^_^
zktz1 2006-04-30
  • 打赏
  • 举报
回复
这个用js就可以了吧
为什么一定要asp呢?
dh20156 2006-04-29
  • 打赏
  • 举报
回复
踩一脚先! ^_^
hujing008 2006-04-29
  • 打赏
  • 举报
回复
是这样的:

总共1-20个数(连接/按扭)
按下10键,接着按开始键
然后会显示数字1变化到10.
接着按下19,按开始键
然后会显示数字10变化到19.
然后按下2,按开始键
会显示数字19-2.
就是这个效果!

连续按10,15,17 然后按开始键:
然后会在显示框中显示1一直变化到10,接着从10变化到15.

就像电梯里显示数字的效果一样!显示数字的时候是先显示1,然后1变成2,接着变成3......这种效果。不是显示(1,2,3,....10)
hujing008 2006-04-29
  • 打赏
  • 举报
回复
谢谢wanghui0380(放歌)
这种情况呢!

连续按10,15,17.
然后会在显示框中显示1一直变化到10,接着从10变化到15.
我看了网上有模拟电梯的算法.都是(c++)的
有没有asp方面的?
不知道有没有这方面的资料!!!!
wanghui0380 2006-04-29
  • 打赏
  • 举报
回复
伪代码:
n=0
change(0,10)

function change(n,m)
if(n+m)<=20
i_start=n
i_end=m
i_step=1
else
i_start=m
i_end=n
i_step=-1 //不好意思,刚刚这里少写一句
end if
for i=i_start to i_end step i_step
response.write i+"<br>"
next
Resposne.write "<br>"
end funtion
wanghui0380 2006-04-29
  • 打赏
  • 举报
回复
伪代码:
n=0
change(0,10)

function change(n,m)
if(n+m)<=20
i_start=n
i_end=m
i_step=1
else
i_start=m
i_end=n
end if
for i=i_start to i_end step i_step
response.write i+"<br>"
next
Resposne.write "<br>"
end funtion

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧