Actions

MediaWiki

Common.js: Difference between revisions

From Necroxia Origin

mNo edit summary
mNo edit summary
Line 26: Line 26:




 
function getPossibleTeleports(currentRoom, currentCount, answerNumberIni) {
function validateValues(roomsLeft, answerNumber, currentRoom, currentCount, answerNumberIni){
let isPossible = false;
let isError = false;
let a = 0;
let b = 0;
let c = 0;
let outputText = '';
let outputText = '';
if (currentRoom < 1) {
let roomsLeft = totalRooms - currentRoom;
outputText += 'El numero de tu habitacion actual no puede ser menor a 1.<br>';
let answerNumber = answerNumberIni - currentCount;
isError = true;
}
if (currentRoom > totalRooms) {
outputText += 'El numero de tu habitacion actual no puede ser mayor a ' + totalRooms + '.<br>';
isError = true;
}
if (currentCount < 0) {
outputText += 'Tu cuenta no puede ser menor a 0.<br>';
isError = true;
}
if (answerNumber < 0) {
outputText += 'Tu cuenta es muy alta debes reiniciar.<br>';
isError = true;
}
if (answerNumberIni < minCount) {
if (validateValues(roomsLeft, answerNumber, currentRoom, currentCount, answerNumberIni)){
outputText += 'la cuenta total no puede ser menor a ' + minCount + '.<br>';
outputText = 'Not valid values: Los valores introducidos no son validos';
isError = true;
return outputText;
}
}
//if (isCorrect === false) {
//return true;
// getPossibleTeleports();
// }
if (answerNumberIni > maxCount) {
while (c <= roomsLeft) {
outputText += 'la cuenta total no puede ser mayor a ' + maxCount + '.<br>';
a = calculateA(answerNumber, roomsLeft, c);
isError = true;
b = calculateB(answerNumber, roomsLeft, c);
if (a !== -1 && b !== -1 && ((a + b + c) === roomsLeft) && ((a + (2 * b) + (3 * c)) === answerNumber)){
//outputText += 'sum1: ' + (a + b + c) + ' sum2: ' + (a + (2 * b) + (3 * c)) + ' -> a: ' + a + ', b: ' + b + ', c: ' + c + ' - Rooms: ' + roomsLeft + ', AnswerNumber: ' + answerNumber + '<br>';
//alert(`sum1: ` + (a + b + c) + ' sum2: ' + (a + (2 * b) + (3 * c)) + ` -> a: ` + a + `, b: ` + b + `, c: ` + c + ` - Rooms: ` + roomsLeft + `, AnswerNumber: ` + answerNumber);
isPossible = true;
break;
}
//console.log("sum1: ", (a + b + c), ", sum2: ", (a + (2 * b) + (3 * c))," -> a: ", a,", b: ", b,", c: ", c," - Rooms: ", roomsLeft, ", AnswerNumber: ", answerNumber);
//alert(`sum1: ` + (a + b + c) + ' sum2: ' + (a + (2 * b) + (3 * c)) + ` -> a: ` + a + `, b: ` + b + `, c: ` + c + ` - Rooms: ` + roomsLeft + `, AnswerNumber: ` + answerNumber);
c++;
}
}
if (isError) {
if (isPossible === true) {
document.getElementById("answer").innerHTML = outputText;
outputText += 'Puedes tomar (' + a + ') veces el Teleport 1, (' + b + ') veces el Teleport 2, (' + c + ') veces el teleport 3.';
}
//alert(`Puedes tomar (` + a + `) veces T1, (` + b + `) veces T2, (` + c + `) veces T3.`);
return isError;
} else {
}
outputText += 'Debes ir hasta el ultimo Teleport para reiniciar tu Cuenta, no es posible completar la Quest con tu cuenta actual.';
 
//alert(`no es posible, debes reiniciar tu cuenta ${c} !`);
function calculateA(answerNumber, roomsLeft, c){
}
let a = c + (2 * roomsLeft) - answerNumber;
//getPossibleTeleports();
//console.log(a, " = ", c , " + (2 * ", roomsLeft, ") - ",answerNumber)
// alert(`Existen en total ${totalRooms} habitaciones!`);
if (a < 0 || a % 1 !== 0){
//document.getElementById("answer").innerHTML = outputText;
//console.log("a % 1 = ",a % 1);
return outputText;
return -1;
}
return a;
}
 
function calculateB(answerNumber, roomsLeft, c){
let b = answerNumber - roomsLeft - (2 * c);
//console.log(b, " = ", answerNumber , " - ",roomsLeft ," - (2 * ", c, ")")
if (b < 0 || b % 1 !== 0){
//console.log("b % 1 = ",b % 1)
return -1;
}
return b;
}
}

Revision as of 09:50, 1 September 2020

/* Any JavaScript here will be loaded for all users on every page load. */
$("#testdiv").each(function() {
	var parent = $(this);
	//var inputs = ['currentRoom', 'currentCount', 'answerNumber'];
	var inputs = [
		['currentRoom', 1, 32, 1, 'Escribe aqui el numero de la habitacion en que te encuentras:'], ['currentCount', 0, 999, 0,'Escribe aqui tu cuenta actual:'], ['answerNumber', 31, 93, 77,'Escribe aqui el numero al que necesitas llegar:']
		];
	var textToPrint = "";
	//var d = document.createElement('div');
	
	$(this).append("<table id='table1'></table>");
	for (i = 0; i < inputs.length; i++) {
		$('#table1').append("<tr><td>"+inputs[i][4]+"</td><td><input type='number' id='" + inputs[i][0] + "' name='"+inputs[i][0]+"' min='"+inputs[i][1]+"' max='"+inputs[i][2]+"' value='"+inputs[i][3]+"' maxLength='4' style='width:70px'/></td></tr>");
		//$(this).append("<input type='number' id='" + inputs[i][0] + "' name='"+inputs[i][0]+"' min='"+inputs[i][1]+"' max='"+inputs[i][2]+"' value='"+inputs[i][3]+"' maxLength='4' style='width:70px'/>");
		$(this).append("<br> id="+inputs[i][0]+" name="+inputs[i][0]+" min="+inputs[i][1]+" max="+inputs[i][2]+" value="+inputs[i][3]);
	}
	$(this).append("<button id='button1'>getChance</button>");
	
	$('#button1').click( function() {
		textToPrint = getPossibleTeleports( $('#currentRoom').val(), $('#currentCount').val(), $('#answerNumber').val());
	});
	//var currentRoom = $('#currentRoom').val();
	$(this).append("<br>"+currentRoom);
	$(this).append("<br> " + $("input[id=currentRoom]").value);
});


function getPossibleTeleports(currentRoom, currentCount, answerNumberIni) {
	let isPossible = false;
	let a = 0;
	let b = 0;
	let c = 0;
	let outputText = '';
	let roomsLeft = totalRooms - currentRoom;
	let answerNumber = answerNumberIni - currentCount;
	
	if (validateValues(roomsLeft, answerNumber, currentRoom, currentCount, answerNumberIni)){
		outputText = 'Not valid values: Los valores introducidos no son validos';
		return outputText;
	}
	//if (isCorrect === false) {
		//return true;
	//	getPossibleTeleports();
	// }
	
	while (c <= roomsLeft) {
		a = calculateA(answerNumber, roomsLeft, c);
		b = calculateB(answerNumber, roomsLeft, c);
		if (a !== -1 && b !== -1 && ((a + b + c) === roomsLeft) && ((a + (2 * b) + (3 * c)) === answerNumber)){
			//outputText += 'sum1: ' + (a + b + c) + ' sum2: ' + (a + (2 * b) + (3 * c)) + ' -> a: ' + a + ', b: ' + b + ', c: ' + c + ' - Rooms: ' + roomsLeft + ', AnswerNumber: ' + answerNumber + '<br>';
			//alert(`sum1: ` + (a + b + c) + ' sum2: ' + (a + (2 * b) + (3 * c)) + ` -> a: ` + a + `, b: ` + b + `, c: ` + c + ` - Rooms: ` + roomsLeft + `, AnswerNumber: ` + answerNumber);
			isPossible = true;
			break;
		}
		//console.log("sum1: ", (a + b + c), ", sum2: ", (a + (2 * b) + (3 * c))," -> a: ", a,", b: ", b,", c: ", c," - Rooms: ", roomsLeft, ", AnswerNumber: ", answerNumber);
		//alert(`sum1: ` + (a + b + c) + ' sum2: ' + (a + (2 * b) + (3 * c)) + ` -> a: ` + a + `, b: ` + b + `, c: ` + c + ` - Rooms: ` + roomsLeft + `, AnswerNumber: ` + answerNumber);
		c++;
	}
	
	if (isPossible === true) {
			outputText += 'Puedes tomar (' + a + ') veces el Teleport 1, (' + b + ') veces el Teleport 2, (' + c + ') veces el teleport 3.';
			//alert(`Puedes tomar (` + a + `) veces T1, (` + b + `) veces T2, (` + c + `) veces T3.`);	
		} else {
			outputText += 'Debes ir hasta el ultimo Teleport para reiniciar tu Cuenta, no es posible completar la Quest con tu cuenta actual.';
			//alert(`no es posible, debes reiniciar tu cuenta ${c} !`);	
		}
	//getPossibleTeleports();	
	// alert(`Existen en total ${totalRooms} habitaciones!`);
	//document.getElementById("answer").innerHTML = outputText;
	return outputText;
}