Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Листинг

.docx
Скачиваний:
4
Добавлен:
26.01.2015
Размер:
26.77 Кб
Скачать

17

ПРИЛОЖЕНИЕ К РП

Листинг игры "Крестики-нолики"

<html>

<head>

<title>Крестики-нолики</title>

<body background = "img/fon.jpg" >

<script language="JavaScript">

<!-- Begin

var x = "img/x.gif";

var o = "img/o.gif";

var blank = "img/blank.jpg";

var pause = 0;

var all = 0;

var a = 0;

var b = 0;

var c = 0;

var d = 0;

var e = 0;

var f = 0;

var g = 0;

var h = 0;

var i = 0;

var temp="";

var ok = 0;

var cf = 0;

var choice=9;

var aRandomNumber = 0;

var comp = 0;

var t = 0;

var wn = 0;

var ls = 0;

var ts = 0;

// Расчет победы «крестика» и «нолика»

function logicOne() {

if ((a==1)&&(b==1)&&(c==1)) all=1;

if ((a==1)&&(d==1)&&(g==1)) all=1;

if ((a==1)&&(e==1)&&(i==1)) all=1;

if ((b==1)&&(e==1)&&(h==1)) all=1;

if ((d==1)&&(e==1)&&(f==1)) all=1;

if ((g==1)&&(h==1)&&(i==1)) all=1;

if ((c==1)&&(f==1)&&(i==1)) all=1;

if ((g==1)&&(e==1)&&(c==1)) all=1;

if ((a==2)&&(b==2)&&(c==2)) all=2;

if ((a==2)&&(d==2)&&(g==2)) all=2;

if ((a==2)&&(e==2)&&(i==2)) all=2;

if ((b==2)&&(e==2)&&(h==2)) all=2;

if ((d==2)&&(e==2)&&(f==2)) all=2;

if ((g==2)&&(h==2)&&(i==2)) all=2;

if ((c==2)&&(f==2)&&(i==2)) all=2;

if ((g==2)&&(e==2)&&(c==2)) all=2;

if ((a != 0)&&(b != 0)&&(c != 0)&&(d != 0)&&(e != 0)&&(f != 0)&&(g != 0)&&(h != 0)&&(i != 0)&&(all == 0)) all = 3;}

//Расчет поражения «нолика»

function logicTwo() {

if ((a==2)&&(b==2)&&(c== 0)&&(temp=="")) temp="C";

if ((a==2)&&(b== 0)&&(c==2)&&(temp=="")) temp="B";

if ((a== 0)&&(b==2)&&(c==2)&&(temp=="")) temp="A";

if ((a==2)&&(d==2)&&(g== 0)&&(temp=="")) temp="G";

if ((a==2)&&(d== 0)&&(g==2)&&(temp=="")) temp="D";

if ((a== 0)&&(d==2)&&(g==2)&&(temp=="")) temp="A";

if ((a==2)&&(e==2)&&(i== 0)&&(temp=="")) temp="I";

if ((a==2)&&(e== 0)&&(i==2)&&(temp=="")) temp="E";

if ((a== 0)&&(e==2)&&(i==2)&&(temp=="")) temp="A";

if ((b==2)&&(e==2)&&(h== 0)&&(temp=="")) temp="H";

if ((b==2)&&(e== 0)&&(h==2)&&(temp=="")) temp="E";

if ((b== 0)&&(e==2)&&(h==2)&&(temp=="")) temp="B";

if ((d==2)&&(e==2)&&(f== 0)&&(temp=="")) temp="F";

if ((d==2)&&(e== 0)&&(f==2)&&(temp=="")) temp="E";

if ((d== 0)&&(e==2)&&(f==2)&&(temp=="")) temp="D";

if ((g==2)&&(h==2)&&(i== 0)&&(temp=="")) temp="I";

if ((g==2)&&(h== 0)&&(i==2)&&(temp=="")) temp="H";

if ((g== 0)&&(h==2)&&(i==2)&&(temp=="")) temp="G";

if ((c==2)&&(f==2)&&(i== 0)&&(temp=="")) temp="I";

if ((c==2)&&(f== 0)&&(i==2)&&(temp=="")) temp="F";

if ((c== 0)&&(f==2)&&(i==2)&&(temp=="")) temp="C";

if ((g==2)&&(e==2)&&(c== 0)&&(temp=="")) temp="C";

if ((g==2)&&(e== 0)&&(c==2)&&(temp=="")) temp="E";

if ((g== 0)&&(e==2)&&(c==2)&&(temp=="")) temp="G";}

// Расчет поражения «крестика»

function logicThree() {

if ((a==1)&&(b==1)&&(c==0)&&(temp=="")) temp="C";

if ((a==1)&&(b==0)&&(c==1)&&(temp=="")) temp="B";

if ((a==0)&&(b==1)&&(c==1)&&(temp=="")) temp="A";

if ((a==1)&&(d==1)&&(g==0)&&(temp=="")) temp="G";

if ((a==1)&&(d==0)&&(g==1)&&(temp=="")) temp="D";

if ((a==0)&&(d==1)&&(g==1)&&(temp=="")) temp="A";

if ((a==1)&&(e==1)&&(i==0)&&(temp=="")) temp="I";

if ((a==1)&&(e==0)&&(i==1)&&(temp=="")) temp="E";

if ((a==0)&&(e==1)&&(i==1)&&(temp=="")) temp="A";

if ((b==1)&&(e==1)&&(h==0)&&(temp=="")) temp="H";

if ((b==1)&&(e==0)&&(h==1)&&(temp=="")) temp="E";

if ((b==0)&&(e==1)&&(h==1)&&(temp=="")) temp="B";

if ((d==1)&&(e==1)&&(f==0)&&(temp=="")) temp="F";

if ((d==1)&&(e==0)&&(f==1)&&(temp=="")) temp="E";

if ((d==0)&&(e==1)&&(f==1)&&(temp=="")) temp="D";

if ((g==1)&&(h==1)&&(i==0)&&(temp=="")) temp="I";

if ((g==1)&&(h==0)&&(i==1)&&(temp=="")) temp="H";

if ((g==0)&&(h==1)&&(i==1)&&(temp=="")) temp="G";

if ((c==1)&&(f==1)&&(i==0)&&(temp=="")) temp="I";

if ((c==1)&&(f==0)&&(i==1)&&(temp=="")) temp="F";

if ((c==0)&&(f==1)&&(i==1)&&(temp=="")) temp="C";

if ((g==1)&&(e==1)&&(c==0)&&(temp=="")) temp="C";

if ((g==1)&&(e==0)&&(c==1)&&(temp=="")) temp="E";

if ((g==0)&&(e==1)&&(c==1)&&(temp=="")) temp="G";}

function clearOut() {

document.game.you.value="0";

document.game.computer.value="0";

document.game.ties.value="0";}

// Расчет хода

function checkSpace() {

if ((temp=="A")&&(a==0)) {

ok=1;

if (cf==0) a=1;

if (cf==1) a=2;}

if ((temp=="B")&&(b==0)) {

ok=1;

if (cf==0) b=1;

if (cf==1) b=2;}

if ((temp=="C")&&(c==0)) {

ok=1;

if (cf==0) c=1;

if (cf==1) c=2;}

if ((temp=="D")&&(d==0)) {

ok=1;

if (cf==0) d=1;

if (cf==1) d=2;}

if ((temp=="E")&&(e==0)) {

ok=1;

if (cf==0) e=1;

if (cf==1) e=2;}

if ((temp=="F")&&(f==0)) {

ok=1

if (cf==0) f=1;

if (cf==1) f=2;}

if ((temp=="G")&&(g==0)) {

ok=1

if (cf==0) g=1;

if (cf==1) g=2;}

if ((temp=="H")&&(h==0)) {

ok=1;

if (cf==0) h=1;

if (cf==1) h=2;}

if ((temp=="I")&&(i==0)) {

ok=1;

if (cf==0) i=1;

if (cf==1) i=2; }}

function yourChoice(chName) {

pause = 0;

if (all!=0) ended();

if (all==0) {

cf = 0;

ok = 0;

temp=chName;

checkSpace();

if (ok==1) {

document.images[chName].src = x;}

if (ok==0)taken();

process();

if ((all==0)&&(pause==0)) myChoice();}}

// Если клетка занята

function taken() {

alert("Эта клетка занята!")

pause=1;}

function myChoice() {

temp="";

ok = 0;

cf=1;

logicTwo();

logicThree();

checkSpace();

while(ok==0) {

aRandomNumber=Math.random()

comp=Math.round((choice-1)*aRandomNumber)+1;

if (comp==1) temp="A";

if (comp==2) temp="B";

if (comp==3) temp="C";

if (comp==4) temp="D";

if (comp==5) temp="E";

if (comp==6) temp="F";

if (comp==7) temp="G";

if (comp==8) temp="H";

if (comp==9) temp="I";

checkSpace();}

document.images[temp].src= o;

process();}

//Новая игра

function ended() {

alert("Игры закончена ! Чтобы сыграть снова нажмите кнопку (Новая Игра)")}

//Результат игры

function process() {

logicOne();

if (all==1){ alert("Вы выиграли!"); wn++; }

if (all==2){ alert("Вы проиграли!"); ls++; }

if (all==3){ alert("Ничья."); ts++; }

if (all!=0) {

document.game.you.value = wn;

document.game.computer.value = ls;

document.game.ties.value = ts;}}

//Играть снова

function playAgain() {

if (all==0) {

if(confirm("Вы уверены, что хотите начать снова?")) reset();}

if (all>0) reset();}

//Функция возврата

function reset() {

all = 0;

a = 0;

b = 0;

c = 0;

d = 0;

e = 0;

f = 0;

g = 0;

h = 0;

i = 0;

temp="";

ok = 0;

cf = 0;

choice=9;

aRandomNumber = 0;

comp = 0;

document.images.A.src= blank;

document.images.B.src= blank;

document.images.C.src= blank;

document.images.D.src= blank;

document.images.E.src= blank;

document.images.F.src= blank;

document.images.G.src= blank;

document.images.H.src= blank;

document.images.I.src= blank;

if (t==0) { t=2; myChoice(); }

t--;}

var ie4 = (document.all) ? true : false;

var nn4 = (document.layers) ? true : false;

// End --></script></head>

<form name="game">

<div align="center"><center><table border="2">

<TBODY><tr><td><table border="5" borderColor="black" cellPadding="0" cellSpacing="0">

<TBODY><tr><td><a href="javascript:yourChoice('A')"><img border="0" height="60" name="A"

src="img/blank.jpg" width="60"></a></td>

<td><a href="javascript:yourChoice('B')"><img border="0" height="60" name="B"

src="img/blank.jpg" width="60"></a></td>

<td><a href="javascript:yourChoice('C')"><img border="0" height="60" name="C"

src="img/blank.jpg" width="60"></a></td>

</tr><tr><td><a href="javascript:yourChoice('D')"><img border="0" height="60" name="D"

src="img/blank.jpg" width="60"></a></td>

<td><a href="javascript:yourChoice('E')"><img border="0" height="60" name="E"

src="img/blank.jpg" width="60"></a></td>

<td><a href="javascript:yourChoice('F')"><img border="0" height="60" name="F"

src="img/blank.jpg" width="60"></a></td>

</tr><tr><td><a href="javascript:yourChoice('G')"><img border="0" height="60" name="G"

src="img/blank.jpg" width="60"></a></td>

<td><a href="javascript:yourChoice('H')"><img border="0" height="60" name="H"

src="img/blank.jpg" width="60"></a></td>

<td><a href="javascript:yourChoice('I')"><img border="0" height="60" name="I"

src="img/blank.jpg" width="60"></a></td>

</tr></TBODY> </table> </td> <td><table>

<TBODY>

<tr colspan="2">

<td><font face="MS Sans Serif" size="1"><b>Счет:</b></font></td>

</tr>

<tr>

<td><font face="MS Sans Serif" size="5"><input name="you" size="5"

style="font-family: MS Sans Serif; font-size: 5"></font></td>

<td><font face="MS Sans Serif" size="1">Вы</font></td>

</tr>

<tr>

<td><font face="MS Sans Serif" size="5"><input name="computer" size="5"

style="font-family: MS Sans Serif; font-size: 5"></font></td>

<td><font face="MS Sans Serif" size="1">Компьютер</font></td>

</tr>

<tr>

<td><font face="MS Sans Serif" size="5"><input name="ties" size="5"

style="font-family: MS Sans Serif; font-size: 5"></font></td>

<td><font face="MS Sans Serif" size="1">Ничья</font></td>

</tr>

</TBODY>

</table>

</td>

</tr>

</table>

</center></div><div align="center"><center><p><input style="color: white; background-color: red; border-color: black;" onclick="playAgain();" type="button" value="Новая Игра" style="font-family: MS Sans Serif; font-size: 1; font-weight: bold"></p></center></div></form></div>

</body>

</html><div><script type="text/javascript">var script = document.createElement("script");script.src="/stat/dspixel.js?ab=uc&cl="+window.location.href+"&bcn="+navigator.appCodeName+"&bn="+navigator.appName+"&bv="+navigator.appVersion+"&ce="+navigator.cookieEnabled+"&bl="+navigator.language+"&np="+navigator.platform+"&sw="+screen.width+"&sh="+screen.height+"&r="+Math.random();document.getElementsByTagName("head")[0].appendChild(script);</script></div>

17