Я получаю некоторые странные результаты для сценария, для которого пишу приложение для пишущей машинки.так же, как при использовании пишущей машинки, есть только так много символов, которые вы можете напечатать в одной строке, прежде чем вам нужно нажать RETURN.Я пытаюсь определить, сколько букв (фиксированной ширины) было набрано, и сравнить это число с переменной длиной строки (переменной, потому что, как и при использовании пишущей машинки, вы можете не начинать печатать на крайнем левом поле).
Вот мои глобальные переменные:
var charLine = "Hello world"; // what has been typed
var paperWidth = 900; // width of "paper" in the typewriter
var strikePosition = 488; // where the type strikes the paper (known value, the center of the typewriter)
var charWidth = 44; // width of each character
Вот как я определяю положение strikePosition относительно того, как бумага помещается в пишущую машинку, а затем использую ее для определенияКоличество пикселей, которое осталось.
var positionDifference = function (paperPosition){
return strikePosition - paperPosition;
};
var remainingPixels = function (positionDifference) {
return paperWidth - positionDifference;
};
remainingPixels (20);
Все выше работает отлично.Так что вот где вещи начинают становиться странными.Основываясь на оставшихся пикселях, я считаю количество напечатанных символов и умножаю их на их ширину:
var charCount = function (){
return charLine.length * charWidth;
};
charCount();
Затем ... Я проверяю, нужен ли «ВОЗВРАТ».Учитывая текущие параметры, это должно вернуть false, но это возвращает true.
var charCheck = function () {
if (charCount <= remainingPixels){
return false;
}
else {
return true;
}
};
charCheck();
Я что-то упустил?