Nautilus War - Морской бой
Nautilus War или Морской бой
by Yunus Gaziev
HTML
<table id="human" border="1">
<tbody>
<tr>
<td id="hm-0-0"></td>
<td id="hm-1-0"></td>
<td id="hm-2-0"></td>
<td id="hm-3-0"></td>
<td id="hm-4-0"></td>
<td id="hm-5-0"></td>
<td id="hm-6-0"></td>
<td id="hm-7-0"></td>
<td id="hm-8-0"></td>
<td id="hm-9-0"></td>
</tr>
<tr>
<td id="hm-0-1"></td>
<td id="hm-1-1"></td>
<td id="hm-2-1"></td>
<td id="hm-3-1"></td>
<td id="hm-4-1"></td>
<td id="hm-5-1"></td>
<td id="hm-6-1"></td>
<td id="hm-7-1"></td>
<td id="hm-8-1"></td>
<td id="hm-9-1"></td>
</tr>
<tr>
<td id="hm-0-2"></td>
<td id="hm-1-2"></td>
<td id="hm-2-2"></td>
<td id="hm-3-2"></td>
<td id="hm-4-2"></td>
<td id="hm-5-2"></td>
<td id="hm-6-2"></td>
<td id="hm-7-2"></td>
<td id="hm-8-2"></td>
<td id="hm-9-2"></td>
</tr>
<tr>
<td id="hm-0-3"></td>
<td id="hm-1-3"></td>
<td id="hm-2-3"></td>
<td id="hm-3-3"></td>
<td id="hm-4-3"></td>
<td id="hm-5-3"></td>
<td id="hm-6-3"></td>
<td id="hm-7-3"></td>
<td id="hm-8-3"></td>
<td id="hm-9-3"></td>
</tr>
<tr>
<td id="hm-0-4"></td>
<td id="hm-1-4"></td>
<td id="hm-2-4"></td>
<td id="hm-3-4"></td>
<td id="hm-4-4"></td>
<td id="hm-5-4"></td>
<td id="hm-6-4"></td>
<td id="hm-7-4"></td>
<td id="hm-8-4"></td>
<td id="hm-9-4"></td>
</tr>
<tr>
<td id="hm-0-5"></td>
<td id="hm-1-5"></td>
<td id="hm-2-5"></td>
<td id="hm-3-5"></td>
<td id="hm-4-5"></td>
<td id="hm-5-5"></td>
<td id="hm-6-5"></td>
<td id="hm-7-5"></td>
<td id="hm-8-5"></td>
<td id="hm-9-5"></td>
</tr>
<tr>
<td id="hm-0-6"></td>
<td id="hm-1-6"></td>
<td id="hm-2-6"></td>
<td id="hm-3-6"></td>
<td id="hm-4-6"></td>
<td...
CSS
body {
margin:0;
padding:0;
}
table {
margin: 0 auto;
padding:0;
border-spacing: 1px;
border: 0;
}
#human td {
width:40px;
height:40px;
border: solid 1px #FFF;
background: #33B5E5;
color: #FFF;
text-align: center;
}
.cbf {
margin: 12px auto;
width: 160px;
}
JavaScript
// корректировка циклов проверки ячеек и расстановки кораблей
var UpPosCorrection = 0;
var DwPosCorrection = 0;
var freeSquareColor = '#33B5E5',
busySquareColor = '#FF4444';
// переменные для циклов проверки, добавления, попаданий и позиционирования кораблей
var a = 0;
var b = 0;
var RND = 0;
var randomPosRange = 0;
var XrandomPosRange = 0;
var YrandomPosRange = 0;
var MassivKorablikov = new Array(4,3,3,2,2,2,1,1,1,1);
var MassivPopadaniy = new Array(4,3,3,2,2,2,1,1,1,1);
var AIMassivPopadaniy = new Array(4, 3, 3, 2, 2, 2, 1, 1, 1, 1);
//var massivKletokGraf = new Array();
var massivKletokGame = new Array();
var massivPopadaniy = new Array();
//var AImassivKletokGraf = new Array();
var AImassivKletokGame = new Array();
var KolichestvoKorabley = 0;
var Palubka = 0;
var Polojenie = 0;
var Svobodno = false;
var Zaprosi = 0; // МОЖНО УДАЛИТЬ
var KIM = 'hm-';
var JQID;
// инициализация массивa massivKletokGame
for (a = 0; a < 10; a++)
{
massivKletokGame[a] = new Array();
massivPopadaniy[a] = new Array();
for (b = 0; b < 10; b++)
{
massivKletokGame[a][b] = 0;
massivPopadaniy[a][b] = 0;
//$('#'+a+'-'+b).css("background-color","yellow");
}
}
// обнуляем массив расположения кораблей и чистим графику
function AutoPosFn()
{
console.log('DONE!!!');
for (a = 0; a < 10; a++)
{
for (b = 0; b < 10; b++)
{
massivKletokGame[a][b] = 0;
$('#'+KIM+a+'-'+b).css('background-color',freeSquareColor);
$('#'+KIM+a+'-'+b).html('');
}
}
Zaprosi = 0;
GeneratePosition(); // переходим к генерации случайных координат
}
// генерируем случайные координаты и отправляем их в Search(); для проверки
function GeneratePosition()
{
Svobodno = false;
Palubka = MassivKorablikov[KolichestvoKorabley];
randomPosRange = Math.round(Math.random() * 333);
RND = randomPosRange % 2;
//RND = 0; // horizont
//RND = 1; //...