home *** CD-ROM | disk | FTP | other *** search
- //<SCRIPT Language="JavaScript">
- var konec=1;
- var pozastav=0;
- var celkem_obrazku=5;
- var pocet_obrazku=0;
- ie4 = document.all?1:0
- ns4 = document.layers?1:0
- ns6 = document.getElementById&&!document.all?1:0
- //obj.getElementsByName("SP")[0].value
- function PocitejObr()
- {
- if(++pocet_obrazku==celkem_obrazku)
- {konec=0;}
- }
- var obr=new Array();
- var obra=new Array();
- obr[1]=new Image(20,20);
- obr[1].onLoad=PocitejObr();
- obr[1].src="kolo.gif";
- obr[-1]=new Image(20,20);
- obr[-1].onLoad=PocitejObr();
- obr[-1].src="kriz.gif";
- obra[1]=new Image(20,20);
- obra[1].onLoad=PocitejObr();
- obra[1].src="koloa.gif";
- obra[-1]=new Image(20,20);
- obra[-1].onLoad=PocitejObr();
- obra[-1].src="kriza.gif";
- var nic=new Image(20,20);
- nic.onLoad=PocitejObr();
- nic.src="nic.gif";
- var pr=12;//pocet radku
- var ps=15;//pocet sloupcu
- var na_tahu=1;// 1 kolecko, -1 krizek
- var _r=pr;
- var r_=0;
- var _s=ps;
- var s_=0;
- var pole=new Array();
- for (i=0;i<pr;i++)
- for (j=0;j<ps;j++)
- {
- pole[i+"_"+j]=0;
- }
- function KresliTab()
- {
- with(document)
- {
- write("<table border=1 CELLSPACING=1 CELLPADDING=0 bgcolor=White >");
- for (i=0;i<pr;i++)
- {
- write("<tr>");
- for (j=0;j<ps;j++)
- {
- write("<td width=20 height=20>");
- write("<IMG SRC=\"nic.gif\" align=middle WIDTH=20 HEIGHT=20 BORDER=0 name=r"+i+"_"+j+" OnClick=Akce("+i+","+j+")>");
- write("</td>");
- }
- write("</tr>");
- }
- write("</table>");
- }
- }
- function Akce(i,j)
- {
- if(!pozastav)
- if(!konec)
- if (!pole[i+"_"+j])
- {
- document["r"+i+"_"+j].src=obr[na_tahu].src;
- pole[i+"_"+j]=na_tahu;
- if(_r>i) {_r=i};
- if(r_<i) {r_=i};
- if(_s>j) {_s=j};
- if(s_<j) {s_=j};
-
- if (Vyhodnot()==1)
- {
- konec=na_tahu;
- if (na_tahu==1)
- { document.skore.ko.value++; }
- else {document.skore.kr.value++}
- if (ns6==1)
- {
- document.getElementById('NH').style.background="Yellow";
- document.getElementById('NH').style.color="Black";
- }
- else
- {
- document.all.item('NH').style.background="Yellow";
- document.all.item('NH').style.color="Black";
- }
- }
- if (Vyhodnot()==2)
- {
- // neni volne pole
- konec=na_tahu;
- alert("Remiza\nStiskni tlaciko NOVA HRA");
- }
- NaTahu();
- }
- }
- function NaTahu()
- {
- if (!konec)
- {
- na_tahu=-1*na_tahu;
- if (na_tahu){document['tah'].src=obr[na_tahu].src;}
- }
- }
- function KonRad(j,a,k)
- {
- s=0;
- for (i=a;i<a+5;i++)
- if(!pole[i+"_"+j] || !(pole[i+"_"+j]-k)) s++;
- if(!(s-5)) return 0;
- return 1;
- }
- function KonSlo(i,a,k)
- {
- s=0;
- for (j=a;j<a+5;j++)
- if(!pole[i+"_"+j] || !(pole[i+"_"+j]-k)) s++;
- if(!(s-5)) return 0;
- return 1;
- }
- function KonHD(i,j,k)
- {
- s=0;
- for (l=0;l<5;l++)
- if(!pole[(i+l)+"_"+(j+l)] || !(pole[(i+l)+"_"+(j+l)]-k)) s++;
- if(!(s-5)) return 0;
- return 1;
- }
- function KonVD(i,j,k)
- {
- s=0;
- for (l=0;l<5;l++)
- if(!pole[(i+l)+"_"+(j+4-l)] || !(pole[(i+l)+"_"+(j+4-l)]-k)) s++;
- if(!(s-5)) return 0;
- return 1;
- }
- function KontrolaRem()
- {
- pozastav=1;
- //po radcich
- var i;
- var j;
- for (i=0;i<pr;i++)
- for (j=0;j<ps-4;j++)
- {
- if ( !KonSlo(i,j,1))
- {
- pozastav=0;
- return 0;
- }
- if ( !KonSlo(i,j,-1))
- {
- pozastav=0;
- return 0;
- }
- }
- //po sloupcich
- for (j=0;j<ps;j++)
- for (i=0;i<pr-4;i++)
- {
- // kontrola 1
- if ( !KonRad(j,i,1))
- {
- pozastav=0;
- return 0;
- }
- // kontrola -1
- if ( !KonRad(j,i,-1))
- {
- pozastav=0;
- return 0;
- }
- }
- //po hlavni diagonale
- for (j=0;j<ps-4;j++)
- for (i=0;i<pr-4;i++)
- {
- // kontrola 1
- if ( !KonHD(i,j,1))
- {
- pozastav=0;
- return 0;
- }
- // kontrola -1
- if ( !KonHD(i,j,-1))
- {
- pozastav=0;
- return 0;
- }
- }
- //po vedlejsi diagonale
- for (j=0;j<ps-4;j++)
- for (i=0;i<pr-4;i++)
- {
- // kontrola 1
- if ( !KonVD(i,j,1))
- {
- pozastav=0;
- return 0;
- }
- // kontrola -1
- if ( !KonVD(i,j,-1))
- {
- pozastav=0;
- return 0;
- }
- }
- pozastav=0;
- return 1;
- }
- function NovaHra()
- {
- if(!pozastav)
- if (!konec)
- {if (na_tahu==1) document.skore.ko.value--;
- if (na_tahu==-1) document.skore.kr.value--;
- }
- konec=0;
- _r=pr;
- r_=0;
- _s=ps;
- s_=0;
- for (i=0;i<pr;i++)
- for (j=0;j<ps;j++)
- {
- if(pole[i+"_"+j]){document["r"+i+"_"+j].src=nic.src;}
- pole[i+"_"+j]=0;
- }
- NaTahu();
- }
- function Vyhodnot()
- {
- pozastav=1;
- //po radcich
- for (i=_r;i<=r_;i++)
- for (j=_s;j<=s_-4;j++)
- if(Math.abs(pole[i+"_"+j]+pole[i+"_"+(j+1)]+ pole[i+"_"+(j+2)]+pole[i+"_"+(j+3)]+ pole[i+"_"+(j+4)])==5)
- {
- document["r"+i+"_"+j].src=obra[na_tahu].src;
- document["r"+i+"_"+(j+1)].src=obra[na_tahu].src;
- document["r"+i+"_"+(j+2)].src=obra[na_tahu].src;
- document["r"+i+"_"+(j+3)].src=obra[na_tahu].src;
- document["r"+i+"_"+(j+4)].src=obra[na_tahu].src;
- pozastav=0;
- return 1}
- //po sloupcich
- for (j=_s;j<=s_;j++)
- for (i=_r;i<=r_-4;i++)
- if(Math.abs(pole[i+"_"+j]+pole[(i+1)+"_"+j]+ pole[(i+2)+"_"+j]+pole[(i+3)+"_"+j]+ pole[(i+4)+"_"+j])==5)
- {
- document["r"+i+"_"+j].src=obra[na_tahu].src;
- document["r"+(i+1)+"_"+j].src=obra[na_tahu].src;
- document["r"+(i+2)+"_"+j].src=obra[na_tahu].src;
- document["r"+(i+3)+"_"+j].src=obra[na_tahu].src;
- document["r"+(i+4)+"_"+j].src=obra[na_tahu].src;
- pozastav=0;
- return 1}
- //po hlavni diagonale
- for (j=_s;j<=s_-4;j++)
- for (i=_r;i<=r_-4;i++)
- if(Math.abs(pole[i+"_"+j]+pole[(i+1)+"_"+(j+1)]+ pole[(i+2)+"_"+(j+2)]+pole[(i+3)+"_"+(j+3)]+ pole[(i+4)+"_"+(j+4)])==5)
- {
- document["r"+i+"_"+j].src=obra[na_tahu].src;
- document["r"+(i+1)+"_"+(j+1)].src=obra[na_tahu].src;
- document["r"+(i+2)+"_"+(j+2)].src=obra[na_tahu].src;
- document["r"+(i+3)+"_"+(j+3)].src=obra[na_tahu].src;
- document["r"+(i+4)+"_"+(j+4)].src=obra[na_tahu].src;
- pozastav=0;
- return 1}
- //po vedlejsi diagonale
- for (j=_s;j<=s_-4;j++)
- for (i=_r;i<=r_-4;i++)
- if(Math.abs(pole[i+"_"+(j+4)]+pole[(i+1)+"_"+(j+3)]+ pole[(i+2)+"_"+(j+2)]+pole[(i+3)+"_"+(j+1)]+ pole[(i+4)+"_"+j])==5)
- {
- document["r"+i+"_"+(j+4)].src=obra[na_tahu].src;
- document["r"+(i+1)+"_"+(j+3)].src=obra[na_tahu].src;
- document["r"+(i+2)+"_"+(j+2)].src=obra[na_tahu].src;
- document["r"+(i+3)+"_"+(j+1)].src=obra[na_tahu].src;
- document["r"+(i+4)+"_"+j].src=obra[na_tahu].src;
- pozastav=0;
- return 1}
- pocet=0;
- if(_r==0 && r_==(pr-1) && _s==0 && s_==(ps-1))
- {for (i=0;i<pr;i++)
- for (j=0;j<ps;j++)
- if (!pole[i+"_"+j]) {pocet++}
- if (!pocet) {pozastav=0;return 2;}
- }
- pozastav=0;
- return 0;
- }
- function KR()
- {// kontrola remizy
- if(!pozastav)
- if (!konec)
- {
- if (KontrolaRem())
- {konec=na_tahu; alert("Ji₧ nelze vyhrßt!\nStiskni tlaΦφtko NOV┴ HRA");}
- else
- {alert("JeÜt∞ lze vyhrßt!");}
- }
- }
- function Nuluj()
- {
- document.skore.kr.value=0;
- document.skore.ko.value=0;
- }
- function Aktiv(d)
- {
- if(!pozastav)
- if(!konec)
- if (ns6==1)
- {
- document.getElementById(d).style.background="red";
- }
- else
- {
- document.all.item(d).style.background="red";
- }
- }
- function noAktiv(d)
- {
- if(!pozastav)
- if(!konec)
- {
- if (ns6==1)
- {
- document.getElementById(d).style.background="Black";
- document.getElementById(d).style.color="White";
- }
- else
- {
- document.all.item(d).style.background="";
- document.all.item(d).style.color="White";
- }
- }
- }