vip-zaec:стартовая загрузилась за 6.19с
по ссылкам ходит от 5 до 12 с
в принципе неплохо
тут вроде быстрее:
http://pasha4ur.org.ua/" target="_blank
vip-zaec:так а чего русскую версию не поставил
На фанхост файлы более 3700кб надо качать по ФТП. На работе прокси стоит, а дома не заходит.
Новая проблема.
нашел игру "Mine Field Game"
Но в боковых и тд позициях она расплывается:
А в "Дебаг" нет:
Код:
Код: Выделить всё
<?php // no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
$imgroot=JURI::root().'modules/mod_minefield/images/';
?>
<meta name="Author" content="Onur Canalp & Siyyah.Com">
<style type="text/css">
body{
margin:auto;
background-color:white;
color:black;
font-family:verdana;
}
#mineField{
font-size:10pt;
font-weight:bold;
font-family:verdana;
font-style:italic;
}
.mineTable{
border-right:1px solid gray;
border-bottom:1px solid gray;
}
.outerTable{
border:2px outset gray;
background-color:lightgrey;
font-size:8pt;
font-weight:bold;
font-family:verdana;
}
.paramSelect{
font-size:7pt;
font-weight:bold;
font-family:verdana;
}
a, a:link, a:active, a:visited{
color:black;
text-decoration:none;
}
a:hover{
color:white;
text-decoration:none;
}
</style>
<center>
<!-- MAYIN TARLASI-->
<form name="f">
<table class="outerTable" cellpadding=2 cellspacing=2 border=0>
<tr valign="top" align="center">
<td>
<div id="cont1" style="visibility:hidden">
<?php echo JText::_( 'STRSATIR'); ?><br>
<select name="r" class="paramSelect" style="visibility:hidden; position:absolute;">
<option value="5"<?php if($params->get('satir')==5) echo " selected";?>>5</option>
<option value="10"<?php if($params->get('satir')==10) echo " selected";?>>10</option>
<option value="15"<?php if($params->get('satir')==15) echo " selected";?>>15</option>
<option value="20"<?php if($params->get('satir')==20) echo " selected";?>>20</option>
<option value="25"<?php if($params->get('satir')==25) echo " selected";?>>25</option>
</select>
</div>
</td>
<td>
<div id="cont2" style="visibility:hidden">
<?php echo JText::_( 'STRMAYIN'); ?><br>
<select name="m" class="paramSelect" style="visibility:hidden; position:absolute;">
<option value="10"<?php if($params->get('satir')==10) echo " selected";?>>10</option>
<option value="15"<?php if($params->get('satir')==15) echo " selected";?>>25</option>
<option value="20"<?php if($params->get('satir')==20) echo " selected";?>>40</option>
<option value="25"<?php if($params->get('satir')==25) echo " selected";?>>55</option>
<option value="70"<?php if($params->get('satir')==70) echo " selected";?>>70</option>
<option value="85"<?php if($params->get('satir')==85) echo " selected";?>>85</option>
<option value="100"<?php if($params->get('satir')==100) echo " selected";?>>100</option>
</select>
</div>
</td>
<td>
<div id="cont3" style="visibility:hidden">
<?php echo JText::_( 'STRSURE'); ?><br>
<select name="c" class="paramSelect" style="visibility:hidden; position:absolute;">
<option value="5"<?php if($params->get('satir')==5) echo " selected";?>>5</option>
<option value="10"<?php if($params->get('satir')==10) echo " selected";?>>10</option>
<option value="15"<?php if($params->get('satir')==15) echo " selected";?>>15</option>
<option value="20"<?php if($params->get('satir')==20) echo " selected";?>>20</option>
<option value="25"<?php if($params->get('satir')==25) echo " selected";?>>25</option>
</select>
</div>
</td>
</tr>
<tr>
<td align="left" width="33%"><img name="cnt_1" src="<?php echo $imgroot; ?>lcd0.gif"><img name="cnt_2" src="<?php echo $imgroot; ?>lcd0.gif"><img name="cnt_3" src="<?php echo $imgroot; ?>lcd0.gif"></td>
<td align="center" width="34%"><div id="cont4" style="visibility:hidden"><img name="smilie" src="<?php echo $imgroot; ?>smile1.gif" onmousedown="if(pL)this.src='<?php echo $imgroot; ?>smile2.gif'" onmouseup="if(pL){this.src='<?php echo $imgroot; ?>smile1.gif'; setParameters()}" onmouseout="if(!gO)this.src='<?php echo $imgroot; ?>smile1.gif'"></div></td>
<td align="right" width="33%"><img name="tmr_1" src="<?php echo $imgroot; ?>lcd0.gif"><img name="tmr_2" src="<?php echo $imgroot; ?>lcd0.gif"><img name="tmr_3" src="<?php echo $imgroot; ?>lcd0.gif"></td>
</tr>
<tr align="center">
<td colspan=3>
<div id="minefield"><br><?php echo JText::_( 'STRBEKLE'); ?><br><Br>
<img src="<?php echo $imgroot; ?>lcd0.gif"><img src="<?php echo $imgroot; ?>lcd1.gif"><img src="<?php echo $imgroot; ?>lcd2.gif"><img src="<?php echo $imgroot; ?>lcd3.gif"><img src="<?php echo $imgroot; ?>lcd4.gif"><img src="<?php echo $imgroot; ?>lcd5.gif"><img src="<?php echo $imgroot; ?>lcd6.gif"><img src="<?php echo $imgroot; ?>lcd7.gif"><img src="<?php echo $imgroot; ?>lcd8.gif"><img src="<?php echo $imgroot; ?>lcd9.gif"><img src="<?php echo $imgroot; ?>lcdn.gif"><img src="<?php echo $imgroot; ?>lcdb.gif"><img src="<?php echo $imgroot; ?>smile1.gif"><img src="<?php echo $imgroot; ?>smile2.gif"><img src="<?php echo $imgroot; ?>smile3.gif"><img src="<?php echo $imgroot; ?>smile4.gif"><img src="<?php echo $imgroot; ?>smile5.gif"><br><br><img src="<?php echo $imgroot; ?>number0.gif"><img src="<?php echo $imgroot; ?>number1.gif"><img src="<?php echo $imgroot; ?>number2.gif"><img src="<?php echo $imgroot; ?>number3.gif"><img src="<?php echo $imgroot; ?>number4.gif"><img src="<?php echo $imgroot; ?>number5.gif"><img src="<?php echo $imgroot; ?>number6.gif"><img src="<?php echo $imgroot; ?>number7.gif"><img src="<?php echo $imgroot; ?>number8.gif"><img src="<?php echo $imgroot; ?>flag.gif"><img src="<?php echo $imgroot; ?>mine1.gif"><img src="<?php echo $imgroot; ?>mine2.gif"><img src="<?php echo $imgroot; ?>mine3.gif">
</div>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<?php
if($params->get('mayingoster')==1)
{
?>
<a href="javascript:showMine()"><?php echo JText::_( 'STRYARDIMMAYIN'); ?></a>
<?php
}
if($params->get('duraklatgoster')==1)
{
?>
<a href="javascript:pauseGame()"><?php echo JText::_( 'STRDURDUR'); ?></a>
<?php
}
if($params->get('rakamgoster')==1)
{
?>
<a href="javascript:showSquare()"><?php echo JText::_( 'STRYARDIMRAKAM'); ?></a>
<?php
}
?>
</td>
</tr>
</table>
</form>
<script language="JavaScript">
// mayэn tarlasэ
var pL=false, gO=true;
var mineField=null;
var mA, mF;
var seconds=0, tID=0, totalClicked=0;
var mouseB='';
var rows=10, cols=10, mines=10;
document.forms["f"].reset();
//satir sutun ayarlama
function setParameters(){
var d=document.forms["f"];
if( (d.r.selectedIndex*5+5==rows) && (d.c.selectedIndex*5+5==cols) && (d.m.selectedIndex*15+10==mines) )resetMineField();
else{
mineField.innerHTML='<?php echo JText::_( 'STRBEKLE'); ?>';
setTimeout('subParams()',100);
}}
//USED WITH setParameters() TO DELAY LONG ENOUGH TO DISPLAY MESSAGE IN MINEFIELD AREA
function subParams(){
var d=document.forms["f"];
rows=d.r.selectedIndex*5+5;
cols=d.c.selectedIndex*5+5;
mines=d.m.selectedIndex*15+10;
buildMineField();
}
//FUNCTION TO TEST FOR AND START TIMER
function testTimer(){
if(seconds==-1){
seconds=0;
tID=setInterval('timer()',1000);
}}
//OFFERS A HINT BY SHOWING A RANDOM NON-MINE SQUARE
function showSquare(){
if(!gO && pL){
testTimer();
var tr,tc,ta;
for(r=0;r<rows;r++){
for(c=0;c<cols;c++){
ta=mA[r][c];
if(!ta.hasMine && !ta.clicked && !ta.flagged && !gO && pL){
ta.clicked=true;
document.images["img"+ta.idnum].src="<?php echo $imgroot; ?>number"+ta.mineCount+".gif";
findMines(ta.idnum);
r=rows-1;
c=cols-1;
}}}}}
//OFFERS A HINT BY SHOWING A RANDOM MINE
function showMine(){
if(!gO && pL){
testTimer();
var tr,tc,ta;
for(r=0;r<rows;r++){
for(c=0;c<cols;c++){
ta=mA[r][c];
if(ta.hasMine && !ta.clicked && !ta.flagged){
mF+=1;
document.images["img"+ta.idnum].src="<?php echo $imgroot; ?>flag.gif";
ta.flagged=true;
setMineCounter(mines-mF);
r=rows-1;
c=cols-1;
}}}}}
//PAUSE
function pauseGame(){
gO=!gO;
}
//SUB-FUNCTION TO FIND ELEMENT REFERENCE
function findID(n){
return (document.all)?document.all[n]:document.getElementById(n);
}
//COUNTDOWN TIMER DISPLAYED VIA IMAGES.
function timer(){
if(!gO){
seconds++;
var n=Math.max(Math.min(999,seconds),0)+'';
while(n.length<3)n="0"+n;
n=n.split("");
document.images["tmr_1"].src="<?php echo $imgroot; ?>lcd"+n[0]+".gif";
document.images["tmr_2"].src="<?php echo $imgroot; ?>lcd"+n[1]+".gif";
document.images["tmr_3"].src="<?php echo $imgroot; ?>lcd"+n[2]+".gif";
}}
//SETS THE MINECOUNTER LCD READOUT VIA IMAGES.
function setMineCounter(n){
if(n>=0){
n=Math.min(n,999);
n+='';
while(n.length<3)n="0"+n;
}else{
n=Math.min(Math.abs(n),99);
n="n"+n;
while(n.length<3)n="b"+n;
}
n=n.split("");
document.images["cnt_1"].src="<?php echo $imgroot; ?>lcd"+n[0]+".gif";
document.images["cnt_2"].src="<?php echo $imgroot; ?>lcd"+n[1]+".gif";
document.images["cnt_3"].src="<?php echo $imgroot; ?>lcd"+n[2]+".gif";
}
//PARSE OUT THE ROW & COL NUMBER FROM A STRING AND RETURN AN ARRAY OF [R,C].
function getRC(s){
var ta=new Array();
ta[0]=parseInt(s.substring(1,s.indexOf('c')));
ta[1]=parseInt(s.substring(s.indexOf('c')+1,s.length));
return ta;
}
//GIVES ERROR MESSAGE IF ROWS, COLS, AND/OR MINE COUNT IS SMALLER THAN REQUIRED.
function testMinesRowsCols(){
var t='';
if( rows*cols<25 || mines>(rows*cols)-10 )t='<?php echo JText::_( 'STRAYARKONTROL'); ?>'
return t;
}
//USED TO CHEAT :) TO FIND STATS FOR A SPECIFIC ROW/COL
function showStats(r,c){
var t='<?php echo JText::_( 'STRTOPLAMTIK'); ?>: '+totalClicked+'n';
t+='<?php echo JText::_( 'STRSATIR'); ?>: '+r+'n';
t+='<?php echo JText::_( 'STRSUTUN'); ?>: '+c+'n';
t+='<?php echo JText::_( 'STRMAYINVARMI'); ?>: '+((mA[r][c].hasMine)?'<?php echo JText::_( 'STRYES'); ?>':'<?php echo JText::_( 'STRNO'); ?>')+'n';
t+='<?php echo JText::_( 'STRMAYINLAR'); ?>: '+mA[r][c].mineCount+'n';
t+='<?php echo JText::_( 'STRTIKLANDI'); ?>: '+((mA[r][c].clicked)?'<?php echo JText::_( 'STRYES'); ?>':'<?php echo JText::_( 'STRNO'); ?>')+'n';
t+='<?php echo JText::_( 'STRBAYRAKKONDU'); ?>: '+((mA[r][c].flagged)?'<?php echo JText::_( 'STRYES'); ?>':'<?php echo JText::_( 'STRNO'); ?>')+'n';
alert(t);
}
//USED TO CHEAT :) SHOWS WHOLE GRID WITH MINE PLACEMENT
function showGrid(){
var t='';
for(r=0;r<rows;r++){
for(c=0;c<cols;c++){
t+=(mA[r][c].hasMine)?'X ':'o ';
}
t+='n';
}
alert(t)
}
//CLEAR ALL SQUARES AROUND CLICKED ONE IF THERE ARE NO ADJACENT BOMBS
function clearSquares(r,c){
if(mA[r][c].mineCount==0 && !gO){
var ta;
if(r>0 && c>0){
ta=mA[r-1][c-1];
if(!ta.clicked && !ta.hasMine && !ta.flagged){
ta.clicked=true;
totalClicked++;
document.images["imgr"+(r-1)+"c"+(c-1)].src="<?php echo $imgroot; ?>number"+ta.mineCount+".gif";
setTimeout('clearSquares('+(r-1)+','+(c-1)+')',20);
}}
if(r>0){
ta=mA[r-1][c];
if(!ta.clicked && !ta.hasMine && !ta.flagged){
ta.clicked=true;
totalClicked++;
document.images["imgr"+(r-1)+"c"+(c)].src="<?php echo $imgroot; ?>number"+ta.mineCount+".gif";
setTimeout('clearSquares('+(r-1)+','+c+')',20);
}}
if(r>0 && c<cols-1){
ta=mA[r-1][c+1];
if(!ta.clicked && !ta.hasMine && !ta.flagged){
ta.clicked=true;
totalClicked++;
document.images["imgr"+(r-1)+"c"+(c+1)].src="<?php echo $imgroot; ?>number"+ta.mineCount+".gif";
setTimeout('clearSquares('+(r-1)+','+(c+1)+')',20);
}}
if(c>0){
ta=mA[r][c-1];
if(!ta.clicked && !ta.hasMine && !ta.flagged){
ta.clicked=true;
totalClicked++;
document.images["imgr"+(r)+"c"+(c-1)].src="<?php echo $imgroot; ?>number"+ta.mineCount+".gif";
setTimeout('clearSquares('+r+','+(c-1)+')',20);
}}
if(c<cols-1){
ta=mA[r][c+1];
if(!ta.clicked && !ta.hasMine && !ta.flagged){
ta.clicked=true;
totalClicked++;
document.images["imgr"+(r)+"c"+(c+1)].src="<?php echo $imgroot; ?>number"+ta.mineCount+".gif";
setTimeout('clearSquares('+r+','+(c+1)+')',20);
}}
if(r<rows-1 && c>0){
ta=mA[r+1][c-1];
if(!ta.clicked && !ta.hasMine && !ta.flagged){
ta.clicked=true;
totalClicked++;
document.images["imgr"+(r+1)+"c"+(c-1)].src="<?php echo $imgroot; ?>number"+ta.mineCount+".gif";
setTimeout('clearSquares('+(r+1)+','+(c-1)+')',20);
}}
if(r<rows-1){
ta=mA[r+1][c];
if(!ta.clicked && !ta.hasMine && !ta.flagged){
ta.clicked=true;
totalClicked++;
document.images["imgr"+(r+1)+"c"+(c)].src="<?php echo $imgroot; ?>number"+ta.mineCount+".gif";
setTimeout('clearSquares('+(r+1)+','+c+')',20);
}}
if(r<rows-1 && c<cols-1){
ta=mA[r+1][c+1];
if(!ta.clicked && !ta.hasMine && !ta.flagged){
ta.clicked=true;
totalClicked++;
document.images["imgr"+(r+1)+"c"+(c+1)].src="<?php echo $imgroot; ?>number"+ta.mineCount+".gif";
setTimeout('clearSquares('+(r+1)+','+(c+1)+')',20);
}}testWin();
}}
//FIND NUMBER OF MINES AROUND THE CLICKED SQUARE.
function findMines(t){
var r=getRC(t)[0];
var c=getRC(t)[1];
mA[r][c].clicked=true;
totalClicked++;
if(mA[r][c].mineCount==0)clearSquares(r,c);
else document.images["img"+t].src="<?php echo $imgroot; ?>number"+mA[r][c].mineCount+".gif";
testWin();
}
//TEST FOR WIN
function testWin(){
if(rows*cols-mines == totalClicked){
clearInterval(tID);
document.images["smilie"].src="<?php echo $imgroot; ?>smile5.gif";
for(r=0;r<rows;r++){
for(c=0;c<cols;c++){
if(mA[r][c].hasMine)document.images["imgr"+r+"c"+c].src="<?php echo $imgroot; ?>flag.gif";
}}
gO=true;
setMineCounter(0);
alert('<?php echo JText::_( 'STRKAZANDINIZ'); ?>');
}}
//HANDLE MOUSEDOWN EVENT
function toggleFlag(e){
testTimer();
if(!gO){
if(!e)var e=window.event;
if(e.which)mouseB=(e.which<=1)?"L":"R";
else if(e.button)mouseB=(e.button==1)?"L":"R";
if(mouseB=="R"){
if(!this.clicked){
if(this.flagged){
mF-=1;
document.images["img"+this.idnum].src="<?php echo $imgroot; ?>square.gif";
}else{
mF+=1;
document.images["img"+this.idnum].src="<?php echo $imgroot; ?>flag.gif";
}
this.flagged=!this.flagged;
setMineCounter(mines-mF);
}}else{
if(!this.clicked && !this.flagged){
document.images["smilie"].src="<?php echo $imgroot; ?>smile3.gif";
document.images["img"+this.idnum].src="<?php echo $imgroot; ?>number0.gif";
}}}}
//HANDLE MOUSEUP EVENT
function checkSquareStatus(){
if(!gO){
var r=getRC(this.idnum)[0];
var c=getRC(this.idnum)[1];
//if(this.clicked)document.images["imgr"+r+"c"+c].src="number0.gif";
if(this.clicked)document.images["imgr"+r+"c"+c].src="<?php echo $imgroot; ?>number"+mA[r][c].mineCount+".gif"
document.images["smilie"].src="<?php echo $imgroot; ?>smile1.gif";
if(mouseB!="R" && !this.clicked && !this.flagged){
if(this.hasMine){
document.images["img"+this.idnum].src="<?php echo $imgroot; ?>mine3.gif";
this.clicked=true;
clearInterval(tID);
document.images["smilie"].src="<?php echo $imgroot; ?>smile4.gif";
gO=true;
for(r=0;r<rows;r++){
for(c=0;c<cols;c++){
if(mA[r][c].hasMine && !mA[r][c].clicked)document.images["imgr"+r+"c"+c].src="<?php echo $imgroot; ?>mine1.gif";
if(!mA[r][c].hasMine && mA[r][c].flagged)document.images["imgr"+r+"c"+c].src="<?php echo $imgroot; ?>mine2.gif";
}}
return false;
}else findMines(this.idnum);
}}}
//BUILD THE GAMEBOARD AND INITIALIZE
function buildMineField(){
var t=testMinesRowsCols();
if(t!='')mineField.innerHTML=t;
else{
t+='<table cellpadding=0 cellspacing=0 border=0 width="10" class="mineTable">';
for(r=0;r<rows;r++){
t+='<tr>';
for(c=0;c<cols;c++)t+='<td><span id="r'+r+'c'+c+'"><img name="imgr'+r+'c'+c+'" src="<?php echo $imgroot; ?>square.gif"></span></td>';
t+='</tr>';
}
t+='</table>';
mineField.innerHTML=t;
mA=new Array();
for(r=0;r<rows;r++){
mA[r]=new Array();
for(c=0;c<cols;c++){
mA[r][c]=findID('r'+r+'c'+c);
mA[r][c].idnum='r'+r+'c'+c;
mA[r][c].onmouseover=function(){
if(!this.clicked && !this.flagged && !gO)document.images['img'+this.idnum].src="<?php echo $imgroot; ?>square.gif";
}
mA[r][c].onmouseout=function(){
if(!this.clicked && !this.flagged && !gO)document.images['img'+this.idnum].src="<?php echo $imgroot; ?>square.gif";
if(this.clicked && !this.flagged && !gO)document.images['img'+this.idnum].src="<?php echo $imgroot; ?>number"+this.mineCount+".gif";
}
mA[r][c].onmousedown=toggleFlag;
mA[r][c].onmouseup=checkSquareStatus;
mA[r][c].oncontextmenu=function(){return false;}
mA[r][c].onmouseout=function(){
if(!gO)document.images["smilie"].src="<?php echo $imgroot; ?>smile1.gif";
}}}
setParameters();
resetMineField();
}}
// RELOAD THE GAME
function resetMineField(){
var t=testMinesRowsCols();
if(t!='')mineField.innerHTML=t;
else{
for(r=0;r<rows;r++){
for(c=0;c<cols;c++){
document.images["imgr"+r+"c"+c].src="<?php echo $imgroot; ?>square.gif";
mA[r][c].clicked=false;
mA[r][c].flagged=false;
mA[r][c].hasMine=false;
mA[r][c].mineCount=0;
}}
var tr,tc;
for(m=1;m<=mines;m++){
tr=Math.floor(Math.random()*rows);
tc=Math.floor(Math.random()*cols);
if(!mA[tr][tc].hasMine)mA[tr][tc].hasMine=true;
else m-=1;
}
for(r=0;r<rows;r++){
for(c=0;c<cols;c++){
var ta=mA[r][c];
if(r>0 && c>0)if(mA[r-1][c-1].hasMine)ta.mineCount++;
if(r>0)if(mA[r-1][c].hasMine)ta.mineCount++;
if(r>0 && c<cols-1)if(mA[r-1][c+1].hasMine)ta.mineCount++;
if(c>0)if(mA[r][c-1].hasMine)ta.mineCount++;
if(c<cols-1)if(mA[r][c+1].hasMine)ta.mineCount++;
if(r<rows-1 && c>0)if(mA[r+1][c-1].hasMine)ta.mineCount++;
if(r<rows-1)if(mA[r+1][c].hasMine)ta.mineCount++;
if(r<rows-1 && c<cols-1)if(mA[r+1][c+1].hasMine)ta.mineCount++;
}}
document.images["smilie"].src='<?php echo $imgroot; ?>smile1.gif';
totalClicked=0;
gO=false;
pL=true;
mF=0;
clearInterval(tID);
seconds=(-2);
timer();
setMineCounter(mines);
}}
//yeah burada baslasin islem. kod kitlenmesini onleyelim
mineField=findID('minefield');
findID("cont1").style.visibility="visible";
findID("cont2").style.visibility="visible";
findID("cont3").style.visibility="visible";
findID("cont4").style.visibility="visible";
buildMineField();
</script>
</center>
[/off]
МОжет где-то фиксированный по размеру див впихнуть?
