プログラミングとは、プログラムを作ることです。
では、プログラムとは何かというと、それはコンピューターへの指令文だと思ってください。コンピューターは電子機器です。その電子機器がどうやって指令文を理解するのか、多くの方にはブラックボックスだと思います。きちんとしたプログラミングの理解には、コンピューターのしくみの理解が欠かせません。コンピューターのしくみコースでは、そこからプログラムの意味を理解していきます。
プログラムの例:(4行4列の枠内で15枚のタイルをスライドさせるゲームの一部)
"use strict";
var tiles = [];
function init() {
var table = document.getElementById("table");
for (var i = 0 ; i < 16 ; i++) {
var td = document.getElementById("td"+i);
td.index = i;
td.value = i;
if (i == 0) {
td.textContent = "";
} else {
td.textContent = i;
}
td.onclick = click;
tiles.push(td);
}
for (var i = 0 ; i < 1000 ; i++) {
click({ srcElement: {index: Math.floor(Math.random() * 16)}})
}
}
function click(e) {
var i = e.srcElement.index;
if (i - 4 >= 0 && tiles[i - 4].value == 0) {
swap(i, i - 4);
} else if (i + 4 < 16 && tiles[i + 4].value == 0) {
swap(i, i + 4);
} else if (i % 4 != 0 && tiles[i - 1].value == 0) {
swap(i, i - 1);
} else if (i % 4 != 3 && tiles[i + 1].value == 0) {
swap(i, i + 1);
}
}
function swap(i, j) {
var tmp = tiles[i].value;
tiles[i].textContent = tiles[j].textContent;
tiles[i].value = tiles[j].value;
tiles[j].textContent = tmp;
tiles[j].value = tmp;
}
最近のコメント