新闻动态

HTANoid 用hta编写的一个经典的游戏

发布日期:2021-12-18 08:45 | 文章来源:脚本之家
This game is not finished. The purpose was just to show you that you can do some graphical things without having to use external pictures.
If you want to develop this game, please submit your updates. File Name : htanoid.hta
Requirement : IE 6 ?
Author : Jean-Luc Antoine
Submitted : 17/05/2002
Category : Other
效果图: 实现代码:

复制代码 代码如下:

<html xmlns:v="urn:schemas-microsoft-com:vml" XMLNS:t="urn:schemas-microsoft-com:time">
<head>

<HTA:APPLICATION
APPLICATIONNAME="HTAnoid"
BORDER="thick" | "dialog" | "none" | "thin"
BORDERSTYLE="normal" | "complex" | "raised" | "static" | "sunken"
CAPTION="yes" CONTEXTMENU="yes"
ID="oHTA" alert(oHTA.applicationName);
INNERBORDER="yes" MAXIMIZEBUTTON="yes" MINIMIZEBUTTON="yes"
NAVIGABLE="no" SCROLL="no" SCROLLFLAT="no"
SELECTION="yes" SHOWINTASKBAR="yes" SINGLEINSTANCE="no"
SYSMENU="yes" VERSION="0.5"
WINDOWSTATE="normal" | "maximize" | "minimize">

<script language=vbscript>
Option explicit
Const C_ScreenW=400
Const C_NbX=12
Const C_NbY=10
Dim Terrain(10,12)
Dim RaqX,RaqW,Playing,BalleX,BalleY
Dim DirBX,DirBY'Direction balle X,Y
Dim BordDroit
BordDroit=C_ScreenW-32

Sub Document_onKeyPress()
Select Case UCase(Chr(Window.Event.keyCode))
Case "P"
Msgbox "pause"
'Window.ClearTimeOut
End Select
End Sub

Sub Document_onClick()
Playing=True
'document.title="click " & window.event.button
End Sub

Sub Document_onMouseMove()
RaqX=window.event.clientX-RaqW'.shiftKey .keyCode .ctrlKey .button .altKey
If RaqX<16 Then RaqX=16'Mur gauche
If RaqX+RaqW>BordDroit Then RaqX=BordDroit-RaqW
Raquette.style.Left=RaqX
If Not Playing Then
BalleX=RaqX+RaqW/2
Balle.Style.Left=BalleX
End If
End Sub

Sub DrawLevel(n)
Dim k,x,y
set k=document.getElementById("Raquette")
For y=0 To C_NbY
For x=0 To C_NbX
Terrain(y,x)=0'Nb de coups restant à porter
Next
Next

Select Case n
Case 1
'Bricks
For y=0 To 5
For x=0 To C_NbX
k.insertAdjacentHTML "beforeBegin","<TABLE style='position:absolute;top=" & 102+14*y & ";left=" & 16+27*x _
& ";width=25;height=10;' bgcolor=" & Array("silver","red","yellow","blue","magenta","lightgreen")(y) & "><TR><TD></TD></TR></TABLE>"
Next
Next
End Select
Randomize
BalleY=400
DirBX=Int(Rnd()*3)+1
DirBY=0-(Int(Rnd()*4)+1)
End Sub

Sub Init
Dim x,y,k
Window.MoveTo screen.Width/2-200,0
Window.ReSizeTo C_ScreenW,484
RaqW=Int(Replace(Raquette.style.width,"pc","")*1.6)

'Lives Left
set k=document.getElementById("Raquette")
'CreateElement + insertAdjacentElement
For x=0 To 2
k.insertAdjacentHTML "beforeBegin","<v:group style='position:absolute;top=430;left=" & 16+x*30 _
& ";width:15pc;height:5pc;'><v:roundrect style='width:100;height:100;' fillcolor=red><v:fill type='gradient'/></v:roundrect>" _
& "<v:rect style='position:relative;left:10;top:2;width:80;height:90' strokecolor=black><v:fill type='gradient' color=#4682b4 focus=0.2 /></v:rect></v:group>"
Next

DrawLevel 1
Playing=False

window.setTimeout "Gere",10
End Sub

Sub Gere
If Playing Then
'Déplacement de la balle
If DirBX>0 Then
If BalleX+DirBX>BordDroit-10 Then DirBX=0-DirBx
Else
If BalleX+DirBX<16 Then DirBX=0-DirBx
End If
If DirBY>0 Then
If BalleY+DirBY>400 Then DirBY=0-DirBY
Else
If BalleY+DirBY<50 Then DirBY=0-DirBY
End If
BalleX=BalleX+DirBX
BalleY=BalleY+DirBY
Balle.Style.Left=BalleX
Balle.Style.Top=BalleY
Else
document.title=Now
End If
window.setTimeout "Gere",10
End Sub
</script>
<STYLE TYPE="text/css">
<!--
v\:*{behavior:url(#default#VML);}
t\:*{behavior:url(#default#time2)}

BODY{
font-family: "Verdana, Arial, Helvetica, sans-serif";
background-color=#003159;
color:#0000FF;
font-size: 8pt;
}
TABLE,TD{
border:'0pix groove';
cursor:W-resize;
}
.score{
color:white;
font-size: 10pt;
}
-->
</STYLE>

</head>
<body topmargin=0 leftmargin=0 rightmargin=0 onload="vbscript:init">
<!-- Panel de score -->
<CENTER><font size=2 color=red><b>HIGH SCORE</b></font><br><table cellspacing=0 width=100%><tr><td width=50% align=center>
<div id=Score class=score>1234</div></td><td><div id=HighScore class=score>123400</div></td></tr></table></CENTER>

<!-- terrain -->
<table width=100% height=420 cellspacing=0 cellpadding=0>
<tr height=14><td colspan=3>
<v:rect style='width:100%;height:15'>
<v:fill type="gradient" color=white color2=darkgray focus=3.3 />
</v:rect>
</td></tr>
<tr height=100%><td width=15>
<v:rect style='width:15;height:100%' strokecolor="#666666" strokeweight="2pt">
<v:stroke dashstyle="dashdot" />
<v:fill type="gradient" angle="-90" color2=white color=darkgray focus=3.3 />
</v:rect>
</td>

<td width=100%>

<v:oval id="balle" style='position:absolute;top=400;width:8;height:6' fillcolor=#009999 strokecolor=#0066FF id=boule>
<v:fill type=gradientradial color2=white focusposition=0.3,0.3 focussize=0.01,0.01 />
</v:oval>


<v:group id=Raquette style='position:absolute;top=410;width:30pc;height:6pc;'>
<v:roundrect style='width:100;height:100;' fillcolor=red>
<v:fill type='gradient'/></v:roundrect>
<v:rect style='position:relative;left:10;top:2;width:80;height:90' strokecolor=black>
<v:fill type='gradient' color=#4682b4 focus=0.2 /></v:rect>
</v:group>


</td>
<td align=right>
<v:rect style='width:15;height:100%' strokecolor="#666666" strokeweight="2pt">
<v:stroke dashstyle="dashdot" />
<v:fill type="gradient" angle="-90" color2=white color=darkgray focus=3.3 />
</v:rect>
</td></tr>
</table>

</body>
</html>

原文:http://www.interclasse.com/scripts/htanoid.php

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部