Ver Mensaje Individual
  #6 (permalink)  
Antiguo 17/04/2006, 12:17
ilda
 
Fecha de Ingreso: junio-2001
Mensajes: 277
Antigüedad: 23 años, 8 meses
Puntos: 1
Hola nuevamente

El problema que tengo esta en este js

Hay un lugar de este script donde hay que indicarle que cuando las fichas se desplazan en el tablero, las imagenes las tome de la carpeta "damas", pero no logro detectar cual es el lugar que me falta indicarle ese dato. Si alguien lo sabe se lo agradezco mucho

El js es este

<!--
// Checkers Game

// black.gif
// gray.gif
// you1.gif -- normal piece (player/red)
// you2.gif -- highlighted piece
// you1k.gif -- kinged normal piece
// you2k.gif -- kinged highlighted piece
// me1.gif -- normal piece (computer/black)
// me2.gif -- highlighted piece
// me1k.gif -- kinged normal piece
// me2k.gif -- kinged highlighted piece

function preload() {
this.length = preload.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = new Image();
this[i].src = preload.arguments[i];
}
}
var pics = new preload("damas/black.gif","damas/gray.gif",
"damas/you1.gif","damas/you2.gif","damas/you1k.gif","damas/you2k.gif",
"damas/me1.gif","damas/me2.gif","damas/me1k.gif","damas/me2k.gif");

var black = -1; // computer is black
var red = 1; // visitor is red
var square_dim = 35;
var piece_toggled = false;
var my_turn = false;
var double_jump = false;
var comp_move = false;
var game_is_over = false;
var safe_from = safe_to = null;
var toggler = null;
var togglers = 0;

function Board() {
board = new Array();
for (var i=0;i<8; i++) {
board[i] = new Array();
for (var j=0;j<8;j++)
board[i][j] = Board.arguments[8*j+i];
}
board[-2] = new Array(); // prevents errors
board[-1] = new Array(); // prevents errors
board[8] = new Array(); // prevents errors
board[9] = new Array(); // prevents errors
}
var board;
Board(1,0,1,0,1,0,1,0,
0,1,0,1,0,1,0,1,
1,0,1,0,1,0,1,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,-1,0,-1,0,-1,0,-1,
-1,0,-1,0,-1,0,-1,0,
0,-1,0,-1,0,-1,0,-1);

function message(str) {
if (!game_is_over)
document.disp.message.value = str;
}
function moveable_space(i,j) {
// calculates whether it is a gray (moveable)
// or black (non-moveable) space
return (((i%2)+j)%2 == 0);
}
function Coord(x,y) {
this.x = x;
this.y = y;
}
function coord(x,y) {
c = new Coord(x,y);
return c;
}

document.write("<table border=0 cellspacing=0 cellpadding=0 width="+(square_dim*8+8)
+"<tr><td><img src='damas/black.gif' width="+(square_dim*8+8)
+" height=4><br></td></tr>");
for(var j=0;j<8;j++) {
document.write("<tr><td><img src='damas/black.gif' width=4 height="+square_dim+">");
for(var i=0;i<8;i++) {
if (moveable_space(i,j))
document.write("<a href='javascript:clicked("+i+","+j+")'>");
document.write("<img src='damas/");
if (board[i][j]==1) document.write("you1.gif");
else if (board[i][j]==-1) document.write("me1.gif");
else if (moveable_space(i,j)) document.write("gray.gif");
else document.write("black.gif");
document.write("' width="+square_dim+" height="+square_dim
+" name='space"+i+""+j+"' border=0>");
if (moveable_space(i,j)) document.write("</a>");
}
document.write("<img src='damas/black.gif' width=4 height="+square_dim+"></td></tr>");
}
document.write("<tr><td><img src='damas/black.gif' width="+(square_dim*8+8)
+" height=4><br></td></tr></table><br>"
+"<form name='disp'><textarea name='message' wrap=virtual rows=2 cols=40></textarea><br><input "
+"type=button value=\"Start the Game Over\" onClick=\"location.href+=''\"></form>");

function clicked(i,j) {
if (my_turn) {
if (integ(board[i][j])==1) toggle(i,j);
else if (piece_toggled) move(selected,coord(i,j));
else message("Haga click sobre una ficha suya y muévala!!!");
} else {
message("It's not your turn yet. Hang on a sec!");
}
}
function toggle(x,y) {
if (my_turn) {
if (piece_toggled)
draw(selected.x,selected.y,"you1"+((board[selected.x][selected.y]==1.1)?"k":"")+".gif");
if (piece_toggled && (selected.x == x) && (selected.y == y)) {
piece_toggled = false;
if (double_jump) { my_turn = double_jump = false; computer(); }
} else {
piece_toggled = true;
draw(x,y,"you2"+((board[x][y]==1.1)?"k":"")+".gif");
}
selected = coord(x,y);
} else {
if ((piece_toggled) && (integ(board[selected_c.x][selected_c.y])==-1))
draw(selected_c.x,selected_c.y,"me1"+((board[selected_c.x][selected_c.y]==-1.1)?"k":"")+".gif");
if (piece_toggled && (selected_c.x == x) && (selected_c.y == y)) {
piece_toggled = false;
} else {
piece_toggled = true;
draw(x,y,"me2"+((board[x][y]==-1.1)?"k":"")+".gif");
}
selected_c = coord(x,y);
}
}
function draw(x,y,name) {
document.images["space"+x+""+y].src = name;
}
function integ(num) {
if (num != null)
return Math.round(num);
else
return null;
}
function abs(num) {
return Math.abs(num);
}
function sign(num) {
if (num < 0) return -1;
else return 1;
}
function concatenate(arr1,arr2) {
// function tacks the second array onto the end of the first and returns result
for(var i=0;i<arr2.length;i++)
arr1[arr1.length+i] = arr2[i];
return arr1;
}
function legal_move(from,to) {
if ((to.x < 0) || (to.y < 0) || (to.x > 7) || (to.y > 7)) return false;
piece = board[from.x][from.y];
distance = coord(to.x-from.x,to.y-from.y);
if ((distance.x == 0) || (distance.y == 0)) {
message("You may only move diagonally.");
return false;
}
if (abs(distance.x) != abs(distance.y)) {
message("Invalid move.");
return false;
}
if (abs(distance.x) > 2) {
message("Invalid move.");
return false;
}
if ((abs(distance.x) == 1) && double_jump) {
return false;
}
if ((board[to.x][to.y] != 0) || (piece == 0)) {
return false;
}
if ((abs(distance.x) == 2)
&& (integ(piece) != -integ(board[from.x+sign(distance.x)][from.y+sign(distance.y)]))) {
return false;
}
if ((integ(piece) == piece) && (sign(piece) != sign(distance.y))) {
return false;
}

return true;
}
function move(from,to) {
my_turn = true;
if (legal_move(from,to)) {
piece = board[from.x][from.y];
distance = coord(to.x-from.x,to.y-from.y);
if ((abs(distance.x) == 1) && (board[to.x][to.y] == 0)) {
swap(from,to);
} else if ((abs(distance.x) == 2)
&& (integ(piece) != integ(board[from.x+sign(distance.x)][from.y+sign(distance.y)]))) {
double_jump = false;
swap(from,to);
remove(from.x+sign(distance.x),from.y+sign(distanc e.y));
if ((legal_move(to,coord(to.x+2,to.y+2)))
|| (legal_move(to,coord(to.x+2,to.y-2)))
|| (legal_move(to,coord(to.x-2,to.y-2)))
|| (legal_move(to,coord(to.x-2,to.y+2)))) {
double_jump = true;
message("You may complete the double jump or click on your piece to stay still.");
}
}
if ((board[to.x][to.y] == 1) && (to.y == 7)) king_me(to.x,to.y);
selected = to;
if (game_over() && !double_jump) {
setTimeout("toggle("+to.x+","+to.y+");my_turn = double_jump = false;computer();",1000);
}
}
return true;
}
function king_me(x,y) {
if (board[x][y] == 1) {
board[x][y] = 1.1; // king you
draw(x,y,"you2k.gif");
} else if (board[x][y] == -1) {
board[x][y] = -1.1; // king me
draw(x,y,"me2k.gif");
}
}

function swap(from,to) {
if (my_turn || comp_move) {
dummy_src = document.images["space"+to.x+""+to.y].src;
document.images["space"+to.x+""+to.y].src = document.images["space"+from.x+""+from.y].src;
document.images["space"+from.x+""+from.y].src = dummy_src;
}
dummy_num = board[from.x][from.y];
board[from.x][from.y] = board[to.x][to.y];
board[to.x][to.y] = dummy_num;
}
function remove(x,y) {
if (my_turn || comp_move)
draw(x,y,"gray.gif");
board[x][y] = 0;
}
function Result(val) {
this.high = val;
this.dir = new Array();
}
function move_comp(from,to) {
toggle(from.x,from.y);
comp_move = true;
swap(from,to);
if (abs(from.x-to.x) == 2) {
remove(from.x+sign(to.x-from.x),from.y+sign(to.y-from.y));
}
if ((board[to.x][to.y] == -1) && (to.y == 0)) king_me(to.x,to.y);
setTimeout("selected_c = coord("+to.x+","+to.y+");piece_toggled = true;",900);
setTimeout("bak=my_turn;my_turn=false;toggle("+to. x+","+to.y+");my_turn=bak;",1000);
if (game_over()) {
setTimeout("comp_move = false;my_turn = true;togglers=0;",600);
message("Ya jugué!, hágalo usted ahora.");
}
return true;
}
function game_over() { // make sure game is not over (return false if game is over)
comp = you = false;
for(var i=0;i<8;i++) {
for(var j=0;j<8;j++) {
if(integ(board[i][j]) == -1) comp = true;
if(integ(board[i][j]) == 1) you = true;
}
}
if (!comp) message("Me has vencido! Te atreves a darme revancha?");
if (!you) message("Te gané! entrena más y vuelve.");
game_is_over = (!comp || !you)
return (!game_is_over);
}

// the higher the jump_priority, the more often the computer will take the jump over the safe move
var jump_priority = 10;