Ver Mensaje Individual
  #8 (permalink)  
Antiguo 11/04/2011, 09:29
Polkiko
 
Fecha de Ingreso: enero-2011
Mensajes: 59
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Box calculador

Cita:
Iniciado por laratik Ver Mensaje
Ya con el algoritmo que te di, es sencillo acondicionarlo:

Código HTML:
<html>
	<head>
		<title>Puntos de Experiencia, nivel</title>
		<script type="text/javascript">
			function convertir() {
				var num = document.getElementById("num").value;
				try {
						num = parseInt(num);
						var nivel = 1;
						for (var i=10000; i<=10485760999; i*=2) {
							if(num == nivel) {
								document.getElementById("res").value = i;
								return;
							}
							nivel++;
						}
						document.getElementById("res").value = "ERROR";
				} catch (e) {
					alert("Digite un numero valido");
				}
			}
		</script>
	</head>
	
	<body>
		<label>Nivel: </label><input type="text" id="num" /><br/><br/>
		<label>Numero: </label><input type="text" id="res" disabled="true" /><br/><br/>
		<input type="button" value="Convertir" onclick="convertir()">
	</body>
</html> 
Hola,

Viendo el codigo me di cuenta que el nivel 2 debe de marcar 10.000 puntos, no 20.000, para ello cambie el codigo dejandolo asi:
Código HTML:
<title>Puntos de Experiencia, nivel</title>
		<script type="text/javascript">
			function convertir() {
				var num = document.getElementById("num").value;
				try {
						num = parseInt(num);
						var nivel = [COLOR="Red"]2[/COLOR];
						for (var i=10000; i<=10485760999; i*=2) {
							if(num == nivel) {
								document.getElementById("res").value = i;
								return;
							}
							nivel++;
						}
						document.getElementById("res").value = "ERROR";
				} catch (e) {
					alert("Digite un numero valido");
				}
			}
		</script>
	</head>
	
	<body>
		<label>Nivel: </label><input type="text" id="num" /><br/><br/>
		<label>Numero: </label><input type="text" id="res" disabled="true" /><br/><br/>
		<input type="button" value="Convertir" onclick="convertir()"> 

Cambiando funciona bien, el nivel 2 marca 10.000 puntos al 3, 20.000 y asi
Pero si le pongo el numero 1, el mozilla se atasca y me muestra lo siguiente:

""Un script de esta página puede estar ocupado, o puede haber dejado de responder. Puede detener el script, o puede continuar para ver si el script finaliza.""

Esdecir no asocia nada al numero 1 porque empieza por el 2.

¿Como puedo poner que al nivel 1 ponga 0?

Gracias