按照书上的石头、剪刀、布的ASP代码看不到效果,各位哥姐看看哪出错了。

ristin 2009-12-24 09:00:09
<%
Function ComputerChoose()
Dim RandomNum
Dim choice
Randomize
RandomNum=int(rnd*3)+1
if RandomNum=1 then
choice="S"
elseif RandomNum=2 then
chioce="J"
else
choice="B"
end if
ComputerChoose=choice
End Funciton

sub DetermineWinner(playerChoice,computerChoice)
if playerChoice="S" then
if computerChoice="S" then
response.write"<font color=red> 石头 </font> VS<font color=blue>石头</font>
<br>"
response.write"我们平手了"
elseif computerChoice="J" then
response.write"<font color= red > 石头</font> VS <font color=blue> 剪子</font>
<br>"
response.write"恭喜你,你赢了"
elseif playerChoice="B" then
response.write"<font color=red> 石头</font> VS <font color=blue>布</font>
<br>"
response.write"恭喜你,你赢了"
end if
elseif playerChoice="J" then
if computerChoice="S" then
response.write"<font color=red> 剪子</font> VS <font color=blue>石头
</font><br>"
response.write"恭喜你,你赢了"
elseif computerChoice="J" then
response.write"<font color=red>剪子</font> VS <font color=blue>剪子</font>
<br>"
response.write"我们平手了"
elseif computerChoice="B" then
response.write"<font color=red>剪子</font> VS <font color=blue> 布</font>
<br>"
response.write"恭喜你,你赢了"
end if
elseif playerChoice="B" then
if computerChoice="S" then
response.write "<font color=red>布</font> VS <font color=blue> 石头</font> </br>"
response.write"恭喜你,你赢了"
elseif computerChoice="J" then
response.write"<font color=red> 布</font> VS<font color=blue>剪子</font><br>"
response.write"这次我赢了"
elseif computerChoice="B" then
response write"<font color=red> 布</font> VS <font color=blue>布 </font><br>"
response.write"我们平手了"
end if
end if

End sub
%>
<html>
<title>石头、剪子、布小游戏</title>
<body>
<center>
玩家<font color="#FFFFFF">---------</font>计算机<br>
<%
dim player
dim computer
player=request("choice")
if player="S" or player="J" or player="B" then
computer=ComputerChoose()
call DetermineWinner(player,computer)
end if
%>
<hr>
请做出你的选择:
<form action="sjb.asp" method="post">
<input type="radio" name="choice" value="S" >石头<br>
<input type="radio" name="choice" value="J" >剪子<br>
<input type="radio" name="choice" value="B" >布 <br >
<input type="submit" value="开战" >
</form>
</center>
</body>
</html>
...全文
142 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ristin 2009-12-29
  • 打赏
  • 举报
回复
谢谢了,我自己在检查检查吧!
yan11cn 2009-12-29
  • 打赏
  • 举报
回复
没问题啊 你把他命名为11.asp还报错? 是不是你少复制了什么?
ristin 2009-12-29
  • 打赏
  • 举报
回复
楼上的大哥,我运行了,有错误呀!



Microsoft VBScript 编译器错误 '800a0409'

未结束的字符串常量

\11.asp, line 17
yan11cn 2009-12-29
  • 打赏
  • 举报
回复
你的choice有写错的。。。
下面这个测试可用

<%
Function ComputerChoose()
Dim RandomNum
Dim choice
choice=array("S","J","B")
Randomize
RandomNum=int(rnd*3)
ComputerChoose=choice(RandomNum)
End Function

sub DetermineWinner(playerChoice,computerChoice)
dim str
str=trim(playerChoice)&trim(computerChoice)
select case str
case "SS":
response.write" <font color=red> 石头 </font> VS <font color=blue>石头 </font><br>"
response.write"我们平手了"
case "SJ":
response.write" <font color= red > 石头 </font> VS <font color=blue> 剪子 </font><br>"
response.write"恭喜你,你赢了"
case "SB":
response.write" <font color=red> 石头 </font> VS <font color=blue>布 </font> <br>"
response.write"哈哈哈,你输了"
case "JS":
response.write" <font color=red> 剪子 </font> VS <font color=blue>石头</font> <br>"
response.write"哈哈哈,你输了"
case "JJ":
response.write" <font color=red>剪子 </font> VS <font color=blue>剪子 </font> <br>"
response.write"我们平手了"
case "JB":
response.write" <font color=red>剪子 </font> VS <font color=blue> 布 </font><br>"
response.write"恭喜你,你赢了"
case "BS":
response.write " <font color=red>布 </font> VS <font color=blue> 石头 </font> </br>"
response.write"恭喜你,你赢了"
case "BJ":
response.write" <font color=red> 布 </font> VS <font color=blue>剪子 </font> <br>"
response.write"哈哈哈,你输了"
case "BB":
response.write" <font color=red> 布 </font> VS <font color=blue>布 </font> <br>"
response.write"我们平手了"
case else response.write"出错了"&str
END SELECT
End sub
%>
<html>
<title>石头、剪子、布小游戏 </title>
<body>
<center>
玩家 <font color="#FFFFFF">--------- </font>计算机 <br>
<%
dim player
dim computer
player=request("choice")
if player="S" or player="J" or player="B" then
computer=ComputerChoose()
call DetermineWinner(player,computer)
end if
%>
<hr>
请做出你的选择:
<form action="11.asp" method="post">
<input type="radio" name="choice" value="S" >石头 <br>
<input type="radio" name="choice" value="J" >剪子 <br>
<input type="radio" name="choice" value="B" >布  <br >
<input type="submit" value="开战" >
</form>
</center>
</body>
</html>
ristin 2009-12-29
  • 打赏
  • 举报
回复
AWS.exe是一个替代IIS的软件。
chinank 2009-12-28
  • 打赏
  • 举报
回复
程序员群号101179725。你运行的aws是什么?貌似asp不能生成exe的吧。
ristin 2009-12-28
  • 打赏
  • 举报
回复
谢谢楼上的帮忙,我把代码已经改了,在DW的设计模式能显示表单,但是我运行AWS.EXE后却不能显示。(前提,AWS.exe我检查了,没问题)
gingerkang 2009-12-25
  • 打赏
  • 举报
回复
response write=>response.write
gingerkang 2009-12-25
  • 打赏
  • 举报
回复
Funciton =>function
yan11cn 2009-12-24
  • 打赏
  • 举报
回复
另外你的比较函数DetermineWinner用if 嵌套的多了 可能会有问题
建议你这么写试试看:

sub DetermineWinner(playerChoice,computerChoice)
dim str
str=trim(playerChoice)& trim(computerChoice)
select case str
case "SS"
response.write" <font color=red> 石头 </font> VS <font color=blue>石头 </font> <br>"
response.write"我们平手了"
case "SJ"
response.write" <font color= red > 石头 </font> VS <font color=blue> 剪子 </font>
<br>"
response.write"恭喜你,你赢了"

case ...
end select
end sub
yan11cn 2009-12-24
  • 打赏
  • 举报
回复
看了一遍程序 没发现明显的语法和逻辑错误
你把call DetermineWinner(player,computer)注释掉
再把player和computer这俩个变量输出看看
如果输出正常 那就是比较的函数出问题了
ristin 2009-12-24
  • 打赏
  • 举报
回复
代码在服务器上不能显示,不知道哪出错了。

28,391

社区成员

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

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