Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2012, 20:41   #1
Шваблык
Пользователь
 
Регистрация: 22.05.2012
Сообщений: 15
По умолчанию как дописать скрипт

В общем вот тут JS:
Код HTML:
selected = false;
selectedbak = false;
lastmove = false;
lastmovebak = false;

col = Array(null,'a','b','c','d','e','f','g','h');
row = Array(null,8,7,6,5,4,3,2,1);

function handle(piece)
{
	if (selected == false)
		pickup(piece);
	else
		putdown(piece.id);
}
function pickup(piece)
{
	selected = piece.id;
	selectedbak = piece.bak;
	$(piece.id).className = 'selected';
	piece.bak = 'selected';
}
function putdown(to)
{
	param='piece='+selected.substr(1,2)+'&move='+to.substr(1,2);
	post(param);

	$(selected).className = selectedbak;
	$(selected).bak = selectedbak;
	selected = false;
}
function hover(square)
{
	square.real = square.real ? square.real : square.className;
	square.bak = square.className;
	square.className = (selected == square.id) ? 'selectedhover' : 'hover';
	square.onmouseout = function(){square.className = square.bak};
}

function move(from, to, raw)
{
	if (!raw)
	{
		if (lastmove.id == selected)
		{
			selectedbak = lastmove.real;
		}
		else
		{
			lastmove.className = lastmovebak;
			lastmove.bak = lastmovebak;
		}
	}

	movefrom = $('x'+from);
	moveto = $('x'+to);
	moveto.innerHTML = movefrom.innerHTML;
	movefrom.innerHTML = '&nbsp';

	if (raw) return;

	lastmove = moveto;

	if (lastmove.id == selected)
	{
		selectedbak = lastmove.real+'move';
		lastmovebak = lastmove.real;
	}
	else
	{
		lastmovebak = lastmove.bak ? lastmove.bak : lastmove.className;
		lastmove.className = lastmovebak+'move';
		lastmove.bak = lastmovebak+'move';
	}

	turn = $("white").className == "player_turn" ? "black" : "white";
	change = turn == "white" ? "black" : "white";
	turn = $(turn);
	change = $(change);
	turn.innerHTML = "--> "+turn.innerHTML;
	change.innerHTML = change.innerHTML.substring(6);
	turn.className = "player_turn";
	change.className = "player";

	from = col[from.substring(0,1)]+row[from.substring(1)];
	to = col[to.substring(0,1)]+row[to.substring(1)];

	var move = change.innerHTML+' - '+from+' '+to;
	console(move, "history");
}
function promote(pawn, to)
{
	if (to)
	{
		change = $('x'+pawn).getElementsByTagName("img")[0];
		color = change.className.substr(0,1);
		change.setAttribute("alt", to);
		change.setAttribute("src", "output/icons/"+color+to+".<?php echo $ImgType; ?>");
	}
	else
	{
		$('x'+pawn).className = 'selected';

		p = "1 - Queen\r\n2 - Bishopr\r\n3 - Knight\r\n4 - Rook";
		if (navigator.userAgent.indexOf("Gecko")<0) p = p.replace(/\r\n/g," ");

		choose = false;
		while (!choose) choose = prompt(p);

		param='piece='+pawn+'&promote='+choose;
		post(param);
	}
}


//time
function setTime(time, color)
{

}
function startTime(color)
{

}
function stopTime(color)
{

}
function timer()
{

}

function sit(color, player)
{
	if (player)
	{
		var sit = $(color+"_player");
		sit.innerHTML = player;

		var color = color == 'white' ? 'black' : 'white';
		//disable ohter sit
	}
	else
	{
		param='sit='+color;
		post(param);
	}
}
function stand(color)
{
	if (color)
	{
		var stand = $(color+"_player");
		stand.innerHTML = '<input type="button" value="Sit" onclick="sit(\''+color+'\', false)" id="sit'+color+'" /> waiting...'
	}
	else
	{
		post('stand=1');
	}
}
/*
note IE will refuse to run onclick="start()"
so butotn calls startGame
server calls start
*/
function start(start)
{
	startGame(start);
}
function startGame(start)
{
	if (start)
	{
		feedback("Game has started!");
		turn = $("white");
		turn.innerHTML = "--&gt; "+turn.innerHTML;
		turn.className = "player_turn";
	}
	else
	{
		post('start=1');
	}
}

function cancel(sure)
{
	if (sure)
	{
		post('cancel=1');
	}
	else
	{
		sure = confirm("Are you sure you want to cancel the game?");
		if (sure) cancel(true);
	}
}

var nonogame = true;
function nogame()
{
	if (nonogame)
	{
		nonogame = false;
		alert('The host has canceled the game.');
		location.href = 'index.php';
	}
}



function kick(uid)
{
	post('kick='+uid);
}

function updateUsers(userlist)
{
	var users = $("users");
	remove = users.rows.length;

	for (i=0; i<remove; i++)
	{
		users.deleteRow(0);
	}
	var row = 0;
	for (i=0; i<userlist.length; i=i+2)
	{
		var user = users.insertRow(row++);
		var cell1 = user.insertCell(0);
		cell1.innerHTML = userlist[i];
		cell1.style.width = "100%";
		id = userlist[i+1];
		user.insertCell(1).innerHTML = '<input type="button" value="Kick" onclick="kick('+id+')" />';
	}
}
Шваблык вне форума Ответить с цитированием
Старый 01.06.2012, 20:42   #2
Шваблык
Пользователь
 
Регистрация: 22.05.2012
Сообщений: 15
По умолчанию

Тут php который его использует:
PHP код:
<?php
require "output/header.php";

if (!
$GLOBALS['session']->game)
{
    echo 
'
    <script type="text/javascript">
    alert("That game does not exist, perhaps the host canceled it.");
    window.location.href = "index.php";
    </script>'
;
    require 
"footer.php";
    exit;
}

$whiteclass $white && $turn==white "player_turn" "player";
$blackclass $black && $turn==black "player_turn" "player";

?>

<table>
<tr>
    <td>
        <table class="board" cellspacing="0">
        <?php foreach($cols as $col): ?>
        <tr>
            <?php foreach($col as $row): ?>
            <td id="<?php echo $row['id']; ?>" class="<?php echo $row['class']; ?>square"<?php if ($row['handle']) echo ' onclick="handle(this)" onmouseover="hover(this)"'?>>

                <?php if (!$row['handle'] && $row['piece']): ?>
                    <?php echo $row['piece']; ?>
                <?php elseif (!is_null($row['piece'])): ?>
                    <img class="<?php echo $row['color']; ?>" src="output/icons/<?php echo substr($row['color'], 01).$row['piece'].".$ImgType"?>" alt="<?php echo $row['piece']; ?>" />
                <?php else: ?>
                    &nbsp;
                <?php endif; ?>

            </td>
            <?php endforeach; ?>
        </tr>
        <?php endforeach; ?>
        </table>
    </td>
    <td>
        <table class="console">
        <tr>
            <td class="<?php echo $blackclass?>" id="black">
                <span id="black_player">
                    <?php if ($black): ?>
                        <?php echo $black?>
                    <?php else: ?>
                        <input type="button" value="Sit" onclick="sit('black', false)" id="sitblack" />
                        waiting...
                    <?php endif; ?>
                </span>
                <span id="black_time"></span>
            </td>
        </tr>
        <tr>
            <td>
                <div style="float:left">
                <input type="checkbox" checked="checked" onclick="show('message', this)" />Chat
                <input type="checkbox" checked="checked" onclick="show('history', this)" />History
                <input type="checkbox" checked="checked" onclick="show('feedback',this)" />Messages
                </div>
                <div id="loading" style="float:right">
                <img src="output/js/loading.gif" alt="*" /> Loading...
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <div class="usersbox">
                    <table id="users">
                    <tr><td></td></tr>
                    </table>
                </div>
            </td>
        </tr>
        <tr>
            <td class="chat">
                <div id="chat"></div>
            </td>
        </tr>
        <tr>
            <td class="input">
                <form action="javascript:sendMsg()">
                <input type="text" size="45" id="send" />
                <input type="submit" value="Send" class="button" />
                </form>
            </td>
        </tr>
        <tr>
            <td class="<?php echo $whiteclass?>" id="white">
                <span id="white_player">
                    <?php if ($white): ?>
                        <?php echo $white?>
                    <?php else: ?>
                        <input type="button" value="Sit" onclick="sit('white', false)" id="sitwhite" />
                        waiting...
                    <?php endif; ?>
                </span>
                <span id="white_time"></span>
            </td>
        </tr>
        </table>
    </td>
</tr>
</table>

<input type="button" value="Cancel Game" onclick="cancel(false)" />
<input type="button" value="Standup" onclick="stand()" id="standupbutton" />
<input type="button" value="Start Game" onclick="startGame(false)" id="startbutton" />
<a href="index.php">Back to game browser</a>

<?php
//-----------------
// Fix up move -->
//-----------------
global $game;
if (
$game['status'] == STATUS_INPROG)
{
    echo 
'
    <script type="text/javascript">
    turn = $("white").className == "player_turn" ? "white" : "black";
    turn = $(turn);
    turn.innerHTML = "--&gt; "+turn.innerHTML;
    </script>'
;
}

require 
"output/footer.php";
?>
В общем тут JS шахматной доски где написаны функции ходов, доски и т.п. Не дописаны функции времени, времени для игроков на ход..., может если это не настолько трудно, поможет кто разобратся и дописать. Спс.
Шваблык вне форума Ответить с цитированием
Старый 01.06.2012, 20:42   #3
Шваблык
Пользователь
 
Регистрация: 22.05.2012
Сообщений: 15
По умолчанию

Тут php который его использует:
PHP код:
<?php
require "output/header.php";

if (!
$GLOBALS['session']->game)
{
    echo 
'
    <script type="text/javascript">
    alert("That game does not exist, perhaps the host canceled it.");
    window.location.href = "index.php";
    </script>'
;
    require 
"footer.php";
    exit;
}

$whiteclass $white && $turn==white "player_turn" "player";
$blackclass $black && $turn==black "player_turn" "player";

?>

<table>
<tr>
    <td>
        <table class="board" cellspacing="0">
        <?php foreach($cols as $col): ?>
        <tr>
            <?php foreach($col as $row): ?>
            <td id="<?php echo $row['id']; ?>" class="<?php echo $row['class']; ?>square"<?php if ($row['handle']) echo ' onclick="handle(this)" onmouseover="hover(this)"'?>>

                <?php if (!$row['handle'] && $row['piece']): ?>
                    <?php echo $row['piece']; ?>
                <?php elseif (!is_null($row['piece'])): ?>
                    <img class="<?php echo $row['color']; ?>" src="output/icons/<?php echo substr($row['color'], 01).$row['piece'].".$ImgType"?>" alt="<?php echo $row['piece']; ?>" />
                <?php else: ?>
                    &nbsp;
                <?php endif; ?>

            </td>
            <?php endforeach; ?>
        </tr>
        <?php endforeach; ?>
        </table>
    </td>
    <td>
        <table class="console">
        <tr>
            <td class="<?php echo $blackclass?>" id="black">
                <span id="black_player">
                    <?php if ($black): ?>
                        <?php echo $black?>
                    <?php else: ?>
                        <input type="button" value="Sit" onclick="sit('black', false)" id="sitblack" />
                        waiting...
                    <?php endif; ?>
                </span>
                <span id="black_time"></span>
            </td>
        </tr>
        <tr>
            <td>
                <div style="float:left">
                <input type="checkbox" checked="checked" onclick="show('message', this)" />Chat
                <input type="checkbox" checked="checked" onclick="show('history', this)" />History
                <input type="checkbox" checked="checked" onclick="show('feedback',this)" />Messages
                </div>
                <div id="loading" style="float:right">
                <img src="output/js/loading.gif" alt="*" /> Loading...
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <div class="usersbox">
                    <table id="users">
                    <tr><td></td></tr>
                    </table>
                </div>
            </td>
        </tr>
        <tr>
            <td class="chat">
                <div id="chat"></div>
            </td>
        </tr>
        <tr>
            <td class="input">
                <form action="javascript:sendMsg()">
                <input type="text" size="45" id="send" />
                <input type="submit" value="Send" class="button" />
                </form>
            </td>
        </tr>
        <tr>
            <td class="<?php echo $whiteclass?>" id="white">
                <span id="white_player">
                    <?php if ($white): ?>
                        <?php echo $white?>
                    <?php else: ?>
                        <input type="button" value="Sit" onclick="sit('white', false)" id="sitwhite" />
                        waiting...
                    <?php endif; ?>
                </span>
                <span id="white_time"></span>
            </td>
        </tr>
        </table>
    </td>
</tr>
</table>

<input type="button" value="Cancel Game" onclick="cancel(false)" />
<input type="button" value="Standup" onclick="stand()" id="standupbutton" />
<input type="button" value="Start Game" onclick="startGame(false)" id="startbutton" />
<a href="index.php">Back to game browser</a>

<?php
//-----------------
// Fix up move -->
//-----------------
global $game;
if (
$game['status'] == STATUS_INPROG)
{
    echo 
'
    <script type="text/javascript">
    turn = $("white").className == "player_turn" ? "white" : "black";
    turn = $(turn);
    turn.innerHTML = "--&gt; "+turn.innerHTML;
    </script>'
;
}

require 
"output/footer.php";
?>
В общем тут JS шахматной доски где написаны функции ходов, доски и т.п. Не дописаны функции времени, времени для игроков на ход..., может если это не настолько трудно, поможет кто разобратся и дописать. Спс.
Шваблык вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как дописать в макрос.............? Artem_85 Microsoft Office Excel 3 13.03.2012 16:24
Надо дописать скрипт сохранения текстовой информации kakawkin PHP 3 17.09.2010 10:42
Необходимо дописать простой скрипт на PHP+Mysql kutt Фриланс 8 08.10.2009 13:09
Необходимо дописать скрипт на PHP.... kutt Фриланс 2 01.04.2009 20:50