主页 > 知识库 > HTANoid 用hta编写的一个经典的游戏

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

热门标签:银行业务 铁路电话系统 网站文章发布 呼叫中心市场需求 检查注册表项 服务器配置 智能手机 美图手机
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 RaqX16 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+DirBX16 Then DirBX=0-DirBx
  End If
  If DirBY>0 Then
   If BalleY+DirBY>400 Then DirBY=0-DirBY
  Else
   If BalleY+DirBY50 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

标签:红河 沧州 上海 新疆 长治 河南 沈阳 乐山

巨人网络通讯声明:本文标题《HTANoid 用hta编写的一个经典的游戏》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266