Javascriptet tanulok és projektfeladatként sakkjátékot készítek benne. Kódoltam a bástya, gyalog, lovag és püspök mozgásának logikáját. Most elakadtam a Queen mozgalomban. A királynő lépése alapvetően Bishop és Rook mozgáslogikáját foglalja magában.
Azt szeretném tenni, amikor a királynőt elköltöztetik, ellenőrizni kell, hogy a fájlja megegyezik a célcsempével. Ha ez ugyanaz, hívja meg a Rook kódmozgási logikáját, vagy hívja meg Bishopét. Például, ha a királynő a d4-re (forráslapkára) kerül, és vagy átkerül a d8-ba vagy a g4-be (céllapka). Ekkor ebben az esetben meg kell hívni a Bástya mozgás függvényét.
Az összes darab objektumban van egy mozgatás(). Tehát ebben az esetben szeretném meghívni a Move() of Rook-ot a Queen's move()-ból. itt ragadtam. Szívesen ajánlja. A megfelelő kód beillesztésre kerül alább. Hasonlóképpen készítettem Rookot és más tárgyakat. Most ebből a Queen() mozdulatából () szeretném meghívni a Rook/Bishop mozdulatát.
chess.QueenFactory =
{
instance: function(color, type)
{
var Queen =
{
move: function(color, type)
{
alert("In Queen");
}
};
createPiece.call(Queen, color, type);
return Queen;
}
};
Püspöki költözési funkcióm így van elhelyezve
chess.BishopFactory =
{
instance: function(color, type)
{
var Bishop =
{
move: function(source, destn)
{ //Code here
}
}
}
}
Ezt a függvényt szeretném meghívni a Queen's move()-ból. Hogyan csináljam?
A teljes kódot az alábbi html linken találja.
https://github.com/varunpaprunia/ChessInJavascript/blob/master/ChessBoard_Tags_1.html