次のコードでは、Wheel of Fortune のようなゲームを 1 人でプレイできます (javascript オブジェクトの私のテストの詳細) 。
私の問題は、画面が十分に小さい場合、線が正しく切れないように見えることです。
例えば:
円があるところに、「空白」の正方形があります。空白の四角があるのは、画面が十分に大きい場合に四角が単語間のスペースとして機能するようにするためです。
空白の四角形が行末にあるかどうかを効率的に知り、それを表示しないようにする方法がコードにあり、ウィンドウのサイズが変更されてそれに応じて表示されますか?
window.onresize
私が持っていた唯一の考えは、単語の大きさと遊び場の大きさとの関係を測定し、その事実に基づいて決定するイベントを追加することでしたが、それは非常に非効率的です.
これは、ゲーム ボードを作成するための私のコードです (私のフィドルの 266 行目から始まります)。
WheelGame.prototype.startRound = function (round) {
this.round = round;
this.lettersInPuzzle = [];
this.guessedArray = [];
this.puzzleSolved = false;
this.currentPuzzle = this.puzzles[this.round].toUpperCase();
this.currentPuzzleArray = this.currentPuzzle.split("");
var currentPuzzleArray = this.currentPuzzleArray;
var lettersInPuzzle = this.lettersInPuzzle;
var word = document.createElement('div');
displayArea.appendChild(word);
word.className = "word";
for (var i = 0; i < currentPuzzleArray.length; ++i) {
var span = document.createElement('div');
span.className = "wordLetter ";
if (currentPuzzleArray[i] != " ") {
span.className += "letter";
if (!(currentPuzzleArray[i] in lettersInPuzzle.toObject())) {
lettersInPuzzle.push(currentPuzzleArray[i]);
}
word.appendChild(span);
} else {
span.className += "space";
word = document.createElement('div');
displayArea.appendChild(word);
word.className = "word";
word.appendChild(span);
word = document.createElement('div');
displayArea.appendChild(word);
word.className = "word";
}
span.id = "letter" + i;
}
var clear = document.createElement('div');
displayArea.appendChild(clear);
clear.className = "clear";
};