• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

programa em java script

denis

GF Prata
Membro Inactivo
Entrou
Set 24, 2006
Mensagens
325
Gostos Recebidos
0
boas, necessitava de alguma coisa feita em javascript.....Eu explico:
tenho programação I- e o programa é java script. Não vou ás aulas e só tenho que apresentar um trabalho, pq sou trabalhador-estudante.
Eu sei que é ousado, mas se alguem me pudesse facultar um agradecia.
 

denis

GF Prata
Membro Inactivo
Entrou
Set 24, 2006
Mensagens
325
Gostos Recebidos
0
entao amigos nao há nenhuma alma caridosa?
 

denis

GF Prata
Membro Inactivo
Entrou
Set 24, 2006
Mensagens
325
Gostos Recebidos
0
Codigo com erros e nao consigo descobrir onde!!!!!

Boas, estou a fazer um programa em java script que é o mine sweepper, com 56 bombas e 26 linhas e 26 colunas só que deparo me com um problema que nao consigo resolver que è:

1- só con sigo por 1( neste caso é um rato) e nao os 56 a serem gerado aleatoriamente

1- e nao consigo que ele me idntifique o nº de minas(ratos) que estao á volta.

alguem me sabe dizer o que tenho mal .

tenho aqui o código que tenho feito com todas as funcões ..s alguem me souber dizer o que está mal , agradecia...pois estou a desesperar...


AQUI FICA:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
function apanharato(tabuleiro,nomeImagem,status,figs,tagId){
// tabuleiro = grelha com tabuleiro; nomeImagem = nome da imagem que foi clikada; status=array com variaveis de estado
// figs = arrays com figuras da grelha; tagId - id da tag HTML que serve de area de escrita dos resultados
var x,nimg,linha,coluna;
var escrever = document.getElementById(tagId);
var t=new Date;
var tempo = (t.getTime() - status[1])/1000 // calcula tempo decorrido
escrever.innerHTML = "PONTOS: TEMPO: "+tempo; // escreve na Tag HTML com id = tagId
if (status[2] == false){ // teste se jogo acabou
linha = Math.floor(parseInt(nomeImagem-1)/26); // calcula linha e coluna da imagem clickada a partir do nome
coluna= parseInt(nomeImagem)% 26; // (com nome das imagens de "1" a "9")
if (tabuleiro[linha][coluna] == 1 || tabuleiro[linha][coluna] == 2 ){ // verifica se o rato está nesta posição -- valor = 1
status[2]=true;
figs[parseInt(nomeImagem)-1].src="rato1.jpg";
alert("GANHOU");
jogador = prompt("Nome do Jogador:","");
//actualiza lista pontos e tempo
escrever.innerHTML= escrever.innerHTML+'<br>'+jogador + " "+status[0]+" "+tempo.toString();
} else {
figs[parseInt(nomeImagem)-1].src="azul.jpg"; // muda imagem para azul indicando que esta posição já foi clickada
status[0]=status[0]+1; // incrementa número de pontos (+ pontos pior!!)
escrever.innerHTML= "PONTOS: "+status[0]+" TEMPO: "+tempo.toString();
}
} else {
alert("JOGO já acabou");
}
}
// prepara um jogo novo.
function novojogo(tabuleiro,status,figs){
var k;
for (k=0;k<27;k++){
tabuleiro[k] = new Array(0,0,0,0);
}
// gera grelha com jogo.
// gera aleatóriamente a posição do rato (valor 1)
tabuleiro[Math.round(Math.random()*26)][Math.round(Math.random()*26+"<br><br>")]=1;
tabuleiro[Math.round(Math.random()*26)][Math.round(Math.random()*26)]=2;
var tempo=new Date;
// array para guardar globalmente alguns dos dados do jogo (total de pontos, tempo inicial e fim do jogo)
status[0]=0; // posição 0 = total de pontos
status[1]=tempo.getTime(); // posição 1 = tempo inicial
status[2]=false; // posição 2 = indica o fim do jogo

for (k=1;k<677;k++){
figs[k-1].src="vermelho.jpg";
}
}
</script>
</head>

<body>
<h1>Jogo Da Caça ao Rato</h1>

<script>
// gerar uma grelha com 26 linhas e 26 colunas
var imagens = new Array();
imagens = document.images; // cada elemento do array aponta para uma imagem do documento, por ordem de aparecimento
var grelha = new Array() // array com a grelha que define o tabuleiro do jogo
var estado = new Array(); // array com o estado do jogo
var tagEscrita = "resultado"; // id da tag HTML que serve de area de escrita dos resultados
// gera imagens HTML
for (k=1;k<677;k++){
document.write('<img name="'+k+'"+ src="vermelho.jpg" border="2" height="40" width="40" onclick="apanharato(grelha,this.name,estado,imagens,tagEscrita)" />');
if (k % 26 == 0)document.write("<br>");
}
//função para calcular as minas adjacentes
function surrounding(y,x) {
var count = 0;
if (y > 0 && x > 0 && mines[y-1][x-1]) count++;
if (y > 0 && mines[y-1][x]) count++;
if (y > 0 && x < gridx-1 && mines[y-1][x+1]) count++;
if (x > 0 && mines[y][x-1]) count++;
if (x < gridx-1 && mines[y][x+1]) count++;
if (y < gridy-1 && x > 0 && mines[y+1][x-1]) count++;
if (y < gridy-1 && mines[y+1][x]) count++;
if (y < gridy-1 && x < gridx-1 && mines[y+1][x+1]) count++;
return count;
}
// posicionar as minas, vendo se existe uma lá
var m;
var grelha = new Array(676)
for(m = 0; m < 56; ++m) {
var x,y;
do {
x = Math.floor(Math.random() * 26);
y = Math.floor(Math.random() * 26);
} while(grelha[y][x]);
m[y][x] = true;
}
// Recursive function to 'roll back' the grid when user clicks on a tile
// with no surrounding mines
function rollback(y,x) {
if (y >= 0 && y < gridy && x >=0 && x < gridx) {
if (shown[y][x] != 3) {
var c = surrounding(y,x);
shown[y][x] = 3;
squaresleft--;
document.images["grd"+y+"_"+x].src = dir + "sq"+c+".gif";
if (c == 0) {
rollback(y-1,x-1);
rollback(y-1,x);
rollback(y-1,x+1);
rollback(y,x-1);
rollback(y,x+1);
rollback(y+1,x-1);
rollback(y+1,x);
rollback(y+1,x+1);
}
}
}
}
novojogo(grelha, estado, imagens);

</script>

<br>
<button title="Novo Jogo" onclick="novojogo(grelha,estado,imagens)">Novo Jogo</button><br>
<div id="resultado">resultados</div>

</body>
</html>
 

denis

GF Prata
Membro Inactivo
Entrou
Set 24, 2006
Mensagens
325
Gostos Recebidos
0
entao...ninguem me sabe dizer onde estou a cometer erros??? please.......
 
Topo