Bu sayfadaki yazılar
Sayfanın metni
Sayfa 110
VICHaritasi[i] = 0;
function ekraniCiz()
alert("VIC haritasının oluşturulması biraz zaman alabilir.
\nHarita oluşturulurken sabırlı olun.");
cikti = "<table width=320 height=200 border=0 cellspacing=0 cellpadding=0>";
for (y = 0; y < 25; y++)
cikti += "<tr>";
for (x = 0; x < 40; x++)
cikti += "<td>";
for (i = 0; i < 8; i++)
haritaIndeksi = y * 320 + x * 8 + i;
cikti += "<img src=i/" + (VICHaritasi[haritaIndeksi] & 255) + ".gif>";
if(i != 7)
cikti += "<br>";
cikti += "</td>";
cikti += "</tr>";
cikti += "</table>";
document.body.innerHTML = cikti;
ekraniTemizle();
İşte VIC simülatörü yapmak bu kadar kolay. Bu kodu açıklamaya ihtiyaç duymuyorum. Sonuç olarak ne yaptığını bilmeniz önemli. Kodun en başında global olarak tanımlanan "VICHaritasi" dizisi 8000 bytelık bir dizi. ekraniTemizle() fonksiyonu bu diziyi 0 değerleriyle dolduruyor ve ekraniCiz ise bu değerleri VIC'in çalışma prensibine uygun bir şekilde simüle ederek uygun gif parçaları ile bir tablo halinde ekrana basıyor. ekraniTemizle() fonksiyonu bu scriptin sonunda çağrılırken ekraniCiz() fonksiyonu bu scriptin linklendiği HTML dosyasından kullanılmak üzere hazırlandı.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 111
Şimdi bu yukarıdaki scripti kullanan bir HTML örneği görelim.
vicsim.htm
<html>
<head>
<title>VIC Simülatörü</title>
<script src="vicsim.js"></script>
</head>
<body bgcolor="#cccccc"></body>
<script> function nokta(x,y)
adres = ((y >> 3) * 320) + (y & 7) + (x & 0x1f8);
byteDegeri = Math.pow(2, 7 - (x & 7));
VICHaritasi[adres] = VICHaritasi[adres] | byteDegeri;
function ekraniOlustur()
for(i = 0; i < 256; i++)
x = 160 + 160 * Math.cos(i / 128 * Math.PI);
y = 100 + 100 * Math.sin(i / 128 * Math.PI);
nokta(x,y);
ekraniOlustur();
ekraniCiz();
</script>
</html>
HTML'in çıktısı:
Öncelikle ekrana aşağıdaki uyarı mesajı gelir.