JS游戏

<style Type="Text/CSS">
<!--
.blox{
Height:48px;
Width:48px;
Font-Size:16pt;
Font-Weight:900;
Font-Family:Comic Sans MS,Arial,Verdana;
Text-Align:Center;
}
.pje{
Width:144px;
}
//-->
</style>

<table border=2 align=center>
<tr><td align=center>
<Form>
<Input Type="Button" Name="beurten" Width="164px" Class="pje" Value="Player 1">
<Table CellPadding="0" CellSpacing="0" Border="0">
<script Language="JavaScript">
<!--
for (i = 1; i < 10; i++) {        // 循环出方格
if (i % 3 == 1) {document.write('<Tr>');}
document.write('<Td><Input Type="Button" Name="' + i + '" Value="    " Class="blox" onClick="wijzig(this.form,this)"></Td>');
if (i % 3 == 0) {document.write('</Tr>');}
}
//-->
</Script>
</Table>
<Input Type="CheckBox" Name="automaat" Value="2 players" Id="autmat" onClick="if (this.value == 'Computer') {this.value = '2 players'; auto = 0} else {this.value = 'Computer'; auto = 1}; wie = 'Player 1'; initieer();">与电脑对玩?
<Table CellPadding="0" CellSpacing="0" Border="1">
<Tr BgColor="#cccccc">
<Td Align="Center"> 玩家1胜</Td>
<Td Align="Center"> 玩家2胜</Td>
<Td Align="Center"> 平局 </Td>
</Tr>
<Tr BgColor="#cccccc">
<Td Align="Center"><Input Style="BackGround-Color:Transparent;Border:Solid 0px;Text-Align:Center" Type="Text" Size="3" ReadOnly Title="Player 1" Name="speler1" Value="0"></Td>
<Td Align="Center"><Input Style="BackGround-Color:Transparent;Border:Solid 0px;Text-Align:Center" Type="Text" Size="3" ReadOnly Title="Player 2" Name="speler2" Value="0"></Td>
<Td Align="Center"><Input Style="BackGround-Color:Transparent;Border:Solid 0px;Text-Align:Center" Type="Text" Size="3" ReadOnly Title="Remise" Name="remise" Value="0"></Td>
</Tr>
</Table>
</Form>

<Script Language="JavaScript">
<!--
timerID = xtal = ytal = ztal = auto = 0;        // 初始化变量
wie = 'Player 1';

function initieer(){
 clearTimeout(timerID);                  // 清除定时器
 cel = new Array(0,0,0,0,0,0,0,0,0,0);
 aanv = new Array();
 strat = verd = leeg = aanv;
 beurt = wissel = 1;
 wint = keren = 0;
 document.forms[0].speler1.value = xtal;          // 玩家1胜利数
 document.forms[0].speler2.value = ytal;          // 玩家2胜利数
 document.forms[0].remise.value = ztal;           // 平局数
 if (wie != 'Start') {
 for (i in cel) {
  cel[i] = 0;
  if (i > 0)
  {document.forms[0].elements[i].value = ''};
 }
 }
 document.forms[0].beurten.value = wie;           // 按钮赋值
}

function zetten() {
    clearTimeout(timerID);                               // 清除定时器
    if (aanv[0] > 0) {
  slag = aanv[Math.floor(Math.random() * 10) % aanv.length]
    } else if (verd[0] > 0) {
  slag = verd[Math.floor(Math.random() * 10) % verd.length];
    } else if (strat[0] > 0) {
  slag = strat[Math.floor(Math.random() * 10) % strat.length];
    } else {
  slag = leeg[Math.floor(Math.random() * 10) % leeg.length];
    }
    if (beurt == 0 && slag > 0) {document.forms[0].elements[slag].click()};
}

function win() {
  if ( cel[1] + cel[2] + cel[3] == 3 ||
 cel[4] + cel[5] + cel[6] == 3 ||
 cel[7] + cel[8] + cel[9] == 3 ||
 cel[1] + cel[4] + cel[7] == 3 ||
 cel[2] + cel[5] + cel[8] == 3 ||
 cel[3] + cel[6] + cel[9] == 3 ||
 cel[1] + cel[5] + cel[9] == 3 ||
 cel[3] + cel[5] + cel[7] == 3
     ) {
 if (confirm("玩家一: 你赢了一局 !!\n还想要继续玩吗?"))      // 提示胜利,是否继续
 {
 wint = 1;
 xtal++;          // 玩家1胜利局数加1
 wie = 'Player 1';
 timerID = setTimeout('initieer()',800)     // 800毫秒后自动更新
 }
 else
 {
 xtal++;          // 玩家1胜利局数加1
 wie = 'Start';
 timerID = setTimeout('initieer()',800)     // 800毫秒后自动更新
 };
    } 
  if ( cel[1] + cel[2] + cel[3] == 30 ||
 cel[4] + cel[5] + cel[6] == 30 ||
 cel[7] + cel[8] + cel[9] == 30 ||
 cel[1] + cel[4] + cel[7] == 30 ||
 cel[2] + cel[5] + cel[8] == 30 ||
 cel[3] + cel[6] + cel[9] == 30 ||
 cel[1] + cel[5] + cel[9] == 30 ||
 cel[3] + cel[5] + cel[7] == 30
     )
     {
 if (confirm(((auto == 1) ? ('电脑赢啦!!!') : ('玩家二: 你赢了一局 !!')) + "!\n还想要继续玩吗?")) { // 提示胜利,是否继续
 ytal++;           // 玩家2胜利局数加1
 wie = 'Player 1';
 timerID = setTimeout('initieer()',800)     // 800毫秒后自动更新
 }
 else {
 ytal++;           // 玩家2胜利局数加1
 wie = 'Start';
 timerID = setTimeout('initieer()',800)     // 800毫秒后自动更新 
 };
   }
}

function wisselen(beurt){
  if (wissel == 1)  {
    if (beurt == 0) {
        beurt = 1;
        wie = "Player " + 1
    }
    else {
        if (auto == 0)        // 判断对手
        {beurt = 0;
 wie = "Player " + 2}
 else {beurt = 0; wie = "Computer";}
    }
      if (keren == 9
     ) {
 if (confirm("打平了!!!\n\n还想要继续玩吗?")) {
 ztal++;            // 平局数加1
 wie = 'Player 1';
 timerID = setTimeout('initieer()',800)}      // 800毫秒后自动更新
 else
 {ztal++;            // 平局数加1
 wie = 'Start';
 timerID = setTimeout('initieer()',800)};     // 800毫秒后自动更新
      }

  }
  else {
    beurt = beurt;
  }
  wissel = 1;
  return(beurt);
}

function wijziging(klik) {
plek = cel[klik];
geklikt = klik;
if (plek == 0){
   if (beurt == 0){               // 判断显示O还是X
 xo = "O";
 plek = 10;
   } else {
 xo = "X";
 plek = 1;
   }
cel[klik] = plek;
keren++;
}
else {
   if (plek == 10){              // 判断显示O还是X
       xo = "O";}
   if (plek == 1){
       xo = "X";}
   wissel = 0
}
return(xo);
}

function verdedig()
{
leeg = new Array();
verd = new Array();
for (i = 1; i < 10; i++) { oud = cel[i]; cel[i] = 1;
  if ( (cel[1] + cel[2] + cel[3] == 3 ||
 cel[4] + cel[5] + cel[6] == 3 ||
        cel[7] + cel[8] + cel[9] == 3 ||
        cel[1] + cel[4] + cel[7] == 3 ||
        cel[2] + cel[5] + cel[8] == 3 ||
        cel[3] + cel[6] + cel[9] == 3 ||
        cel[1] + cel[5] + cel[9] == 3 ||
        cel[3] + cel[5] + cel[7] == 3) && oud == 0
     ) { verd[verd.length] = i}
   cel[i] = oud;
   if (cel[i] == 0) {
   if (keren != 1) {leeg[leeg.length] = i} else
   if (cel[5] == 0) {leeg[0] = 5; leeg[1] = 10 - geklikt} else
   if (i % 2 != 0) {leeg[leeg.length] = i}
   };
}
}

function aanval()
{
aanv = new Array();
for (i = 1; i < 10; i++) { oud = cel[i]; cel[i] = 10;
  if ( (cel[1] + cel[2] + cel[3] == 30 ||
 cel[4] + cel[5] + cel[6] == 30 ||
        cel[7] + cel[8] + cel[9] == 30 ||
        cel[1] + cel[4] + cel[7] == 30 ||
        cel[2] + cel[5] + cel[8] == 30 ||
        cel[3] + cel[6] + cel[9] == 30 ||
        cel[1] + cel[5] + cel[9] == 30 ||
        cel[3] + cel[5] + cel[7] == 30) && oud == 0
     ) { aanv[aanv.length] = i}
cel[i] = oud;
}
}

function strategie()
{strat = new Array();
for (i = 1; i < 10; i++) { oud = cel[i]; cel[i] = 10;
  if ( (cel[1] + cel[2] + cel[3] == 20 ||
 cel[4] + cel[5] + cel[6] == 20 ||
        cel[7] + cel[8] + cel[9] == 20 ||
        cel[1] + cel[4] + cel[7] == 20 ||
        cel[2] + cel[5] + cel[8] == 20 ||
        cel[3] + cel[6] + cel[9] == 20 ||
        cel[1] + cel[5] + cel[9] == 20 ||
        cel[3] + cel[5] + cel[7] == 20) && oud == 0
     ) {
     if (keren != 3) {strat[strat.length] = i} else if (i % 2 != 0) {strat[strat.length] = i}
     }
cel[i] = oud;
}
}

function wijzig(form,element){                  // 点击方格所触发的函数
    wijziging(element.name);
    element.value = xo;
    beurt = wisselen(beurt);
    form.beurten.value = wie;
    verdedig();
    aanval();
    strategie();
    win();
    if (auto == 0 || wint == 1) {return} else {
    timerID = setTimeout('zetten()',600)
    }
}
initieer();
//-->
</script>
</td>
</tr>
</table>
</body>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值