JSFiddle - React, Tailwind, and code Playground

by certainlyakey

JavaScript

var planetList = [];

function getPlanetPositionByName(planetName) {
	for (var i=0;i<planetList.length;i++) {
		if (planetList[i].name === planetName) {
			return planetList[i].position;
		}
	}
}

function getPlanetNameByPosition(givenPosition) {
	for (var i=0;i<planetList.length;i++) {
		result = planetList[i].position;
		if (comparePositions(planetList[i].position,givenPosition)) {
			result = 'Планета ' + planetList[i].name + ' (' + planetList[i].position + ')';
			break;
		}
	}
	return result;
}

function comparePositions(first,second) {
	positionArrayEqual = false;
	for (var n=0; n<2; n++) {
			if (first[n] == second[n]) {
				positionArrayEqual = true;
			} else {
				positionArrayEqual = false;
				break;
			}
	}
	if (positionArrayEqual) {return true;}
	else {return false;}
}

/**
* Создает экземпляр космического корабля.
* @name Vessel
* @param {String} name Название корабля.
* @param {Number}[] position Местоположение корабля.
* @param {Number} capacity Грузоподъемность корабля.
*/
function Vessel(name, position, capacity) {
	var vessel = this;

	vessel.name = name;
	vessel.position = position;
	vessel.capacity = capacity;

	vessel.load = 0;
	vessel.markup = $('<div class="vessel"><output class="capacity"></output><output class="load"></output></div>');


	this.setPosition = function(position) {
		var x = position[0];
		var y = position[1];
		vessel.position = [x,y];
	}

	this.initialize = function() {
		vessel.setPosition(vessel.position);
	};

	vessel.initialize();
}

/**
* Выводит текущее состояние корабля: имя, местоположение, доступную грузоподъемность.
* @example
* vessel.report(); // Грузовой корабль. Местоположение: Земля. Товаров нет.
* @example
* vessel.report(); // Грузовой корабль. Местоположение: 50,20. Груз: 200т.
* @name Vessel.report
*/
Vessel.prototype.report = function () {
	var sep = '. ';
	var namePrefix = 'Корабль "';
	var nameSuffix = '"';
	var locationLabel = 'Местоположение: ';

	var goodsMessage = '';
	if (this.load > 0)...