
ayuda con ejercicio
Publicado por John (6 intervenciones) el 11/12/2017 16:16:55
Buenas a todos, he estado haciendo un ejercicio, en el que al pulsar un botón, se inserta en una tabla de forma aleatoria las letras 'c' de carnívoro, la 'h' de herbívoro y la 'n' de neutral. Pero en la tabla, un herbívoro no puede estar al lado de un carnívoro, ni tampoco encima ni debajo. Varios herbívoros si pueden estar juntos y carnívoros o neutrales también (los carnívoros no se comen a los neutrales). A continuación el código:
El ejercicio lo he hecho con DOM, y mi duda es como podría hacer que un carnívoro no esté a los lados, arriba o abajo de un herbívoro, se que una forma sería comparar por ejemplo el valor de una posición tal de un array y si es igual a 'h' se modifica y se añade 'c' pero no se como resolverlo.
Gracias a todos, por vuestra ayuda y atención.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<html>
<head>
<title>Zoo en JavaScript</title>
<fieldset>
H --> Animales herbívoros <br>
N --> Animales neutros <br>
C --> Animales carnívoros <br>
</fieldset>
<script type="text/javascript">
// Variables globales -------------------------------------------------
var aLetras = new Array('H', 'N', 'C');
var cLetra = aLetras[Math.floor(Math.random()*aLetras.length)];
// -------------------------------------------------------------------
function genera_tabla(){
var cadena=" ";
document.getElementById("parrafo").textContent=cadena;
var ancho= prompt ("¿Qué ancho quieres que tenga la tabla?");
var alto= prompt ("¿Qué alto quieres que tenga la tabla?");
// Obtener la referencia del elemento body
var body = document.getElementsByTagName("body")[0];
// Crea un elemento <table> y un elemento <tbody>
var tabla = document.createElement("table");
var tblBody = document.createElement("tbody");
// Crea las celdas
for (var i = 0; i < ancho; i++) {
// Crea las hileras de la tabla
var hilera = document.createElement("tr");
for (var j = 0; j < alto; j++) {
// Crea un elemento <td> y un nodo de texto, haz que el nodo de
// texto sea el contenido de <td>, ubica el elemento <td> al final
// de la hilera de la tabla
var celda = document.createElement("td");
var textoCelda = document.createTextNode(aLetras[Math.floor(Math.random()*aLetras.length)]);
celda.appendChild(textoCelda);
hilera.appendChild(celda);
}
// agrega la hilera al final de la tabla (al final del elemento tblbody)
tblBody.appendChild(hilera);
}
// posiciona el <tbody> debajo del elemento <table>
tabla.appendChild(tblBody);
// appends <table> into <body>
body.appendChild(tabla);
// modifica el atributo "border" de la tabla y lo fija a "2";
tabla.setAttribute("border", "2");
document.getElementById("parrafo").appendChild(tabla); // Y esta tabla ya formada, se envía al div="parrafo"
}
</script>
</head>
<body>
<p><center><input type="button" value="Colocar animales" onclick="genera_tabla()"></center></p>
<center><p id="parrafo"></p></center>
</body>
</html>
El ejercicio lo he hecho con DOM, y mi duda es como podría hacer que un carnívoro no esté a los lados, arriba o abajo de un herbívoro, se que una forma sería comparar por ejemplo el valor de una posición tal de un array y si es igual a 'h' se modifica y se añade 'c' pero no se como resolverlo.
Gracias a todos, por vuestra ayuda y atención.
Valora esta pregunta


0