Burada var olandan kastım sen hesapları yaparken bilgisayarının mantık kapılarını kullanıyorsun. Ben kendi yaptığım mantık kapılarını. Benim projemde gördüğün devreler var ya. Hani o tuşların arkasındaki. Oradaki devrelerde neler var anlatayım. Satın alma işlemi şöyle. Orada senin para miktarını tutan bir hafıza birimi var. Sen bir şey almak istediğinde o parandan almak istediğini çıkarıyor, eğer sonuç eksiyse senin paran daha az demek oluyor ve işlem iptal oluyor. Eğer sonuç artıysa ya da sıfırsa senin parandan almak istediğin şeyin parasını çıkarıyor, eski hafızayı silip yeni parayı hafızaya yazıyor. O sırada istediğin eşyanın ilgili dispenser'dan atılmasını sağlıyor. Senin yeni paran ikilik tabanda olduğu için ikilik tabandan ikilik kodlu onluk taban dekoderine, sonra da ikilik kodlu onluk tabandan onluk taban dekoderinde giden para miktarı ekranda beliriyor. Para ekleme kısmında ise senin ne attığını tespit edip onu senin hafızada depolanan parana ekliyor, yeni paran da hafızaya eski paranın üzerine yazılıyor. Sonrasında o yukarıda yazdığım iki set halindeki dekoderlerden geçerek ekrana ulaşıyor. Eğer sen bunları yapan bütün devreleri command block ile yapıyorsan e geriye ne kaldı ki? Benim yaptığım makinemin beyni bu. Senin makinende beyin yok, sadece verici ve alıcı var(burada verici java compiler oluyor), senin bilgisayarına yani beyne verileri yolluyor, bilgisayarın bunları yorumluyor ve sana sonucu veriyor. Yazılımla donanımın farkını hala anlayamıyorsunuz. Yazılımda çok kolay olan bir şey donanımda çok zordur. Sen orada ((2^15)-x)^n yazmışsın. Bu işlemi yapabilmek için benim projemin 10 katı büyüklükte bir alana ihtiyacın var. Yazılımın marifetini donanımın marifetiymiş gibi gösteriyorsun. Sana bir yazılım örneği göstereyim.
<?php
$x=4564;
echo 123*434-434/$x;
?>
Yukarıda gördüğün kodlar 123 ile 434'ü çarpar, sonra 434'ü 4564'e böler. Sonra ilk sayıdan ikincisini çıkarır. Yazdığım şey o kadar basit bir şey ki. Yazılım öğrenmeye başlayan birisi en geç 20dk. sonra mantığını anlamış olur. Fakat bunu yazılımda yapmayı öğrenmek 20 dk alırken donanımda 4 ayını alır. Çünkü donanımda bu işler çok zordur. Sen eğer madem bir algoritma geliştirdiğini söylüyorsun, o zaman ben de sana minecraft'ı bıraktığımda kendi geliştirdiğim bir algoritmayı göstereyim. Sayıları asal çarpanlara ayırıyor.
$sayi=43435;//Ayrılacak sayı
$dizi=array();
for($a=1;$a<$sayi+1;$a++){
$sayac=0;
for($b=1;$b<$a+1;$b++){
if($a%$b==0){
$sayac++;
}
}
if($sayac==2){
while(1){
if($sayi%$a==0){
$sayi=$sayi/$a;
$dizi[]=$a;
}else{
break;
}
}
}
}
$yenidizi=array_count_values($dizi);
foreach($yenidizi as $anahtar => $deger){
echo $anahtar;
if($deger!=1){
echo "^".$deger;
}
echo "*";
}
Eğer yazılım ve özellikle de algoritma konusunda bu kadar yetenekliysen yukarıdaki kod diziminin işlevini command block kullanarak minecraft'ta gerçekleştir. Ben yukarıdakini minecraft'ta yaparım demiyorum. Çünkü command block kullanmıyorum. Ama madem ((2^15)-x)^n ile "olmayan bir şeyi yapmış oluyorsun", algoritmalar öğrendikçe yaptığının aslında çok ufak bir şey olduğunu anlarsın. Ben redstone shop'u php ile 1 saatte yaparım ve milisaniyeler içinde çalışır. O yüzden bana yazılımla gelme, donanımla gel.
Amaca odaklandığımızda benim yaptığımın çok verimsiz olduğunu söylemişsin. Benim amacımla senin amacının aynı olduğunu nereden biliyorsun? Eğer benim amacım bunu hızlı yapmak olsaydı yaptığım bütün suyla tanıma bölümünü siler ve yerine hopper kullanırdım. Eğer amacım küçük yapmak olsaydı O zenci musa yazısını ortaya alan kabloların 5'te 3'ünü kullanmazdım. Ama benim amacım olmayanı yapmak, benim amacım yazılımla yapılanları donanımla yapılabilmek. O yüzden benim amacıma göre çok başarılı bir proje.