最初のプロジェクト-BLOCK MAMBA(4)
9148 ワード
現在の状況
方向キー操作
ここまで実装する過程で、コードは少し変化します.
まず、プレイヤー、ヘビ、宝石は、従来の移動のたびに1枚の画像を描き、drawField()関数として作成し、統一処理を行います.
プレイヤーはユーザ制御時のみ移動し、ヘビは0.1秒ごとに移動し、宝石獲得時に移動するため、drawField()は0.01秒ごとにシーン全体をリフレッシュする.
boardでは、すべての状況がリアルタイムで記録されているので、よく表現されていて問題ありません.
function drawField(){
let draw = setInterval(function(){
for (let i = 0; i < 25; i++){
for (let j = 0; j < 25; j++){
if (board[i][j] === 0){
document.getElementById(`${i},${j}`).style.backgroundColor = "white";
}
else if (board[i][j] === 1){
document.getElementById(`${i},${j}`).style.backgroundColor = "black";
}
else if (board[i][j] === 2){
document.getElementById(`${i},${j}`).style.backgroundColor = "gray";
}
else if (board[i][j] === 3){
document.getElementById(`${i},${j}`).style.backgroundColor = crystalColor[crystalIdx];
}
}
}
if (!gameState){
clearInterval(draw);
resetField();
}
}, 10);
}
他の機能を追加すると同時に、コードが乱れているように見えますが、整理したいのですが、この過程でかなり頭が痛いです.今は文法を勉強する必要があるので、閉鎖訓練が必要です.そして、さっき文章を書いたときに思いついたのは、黒板に0,1,2,3で記録するべきではなく、rgbコードや色名を書いたほうが、drawField()関数も短く書くことができるということです.
まだ入れるものがたくさんあります.
Reference
この問題について(最初のプロジェクト-BLOCK MAMBA(4)), 我々は、より多くの情報をここで見つけました https://velog.io/@be-kid/첫-번째-프로젝트-BLACK-MAMBA-4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol