Kaydet (Commit) fcf9568d authored tarafından Muaz's avatar Muaz

Robot 4. seviye olarak kendisinin devam eden hamlelerini hesaplayabilyor

Robot hard seviyesinin bir üstü olarak expert seviyesinde kendisinin devam eden hamleleri için bir sonraki hamleyi hesaplamaya devam ediyor.
üst b45b2b1e
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// 1: Easy // 1: Easy
// 2: Medium // 2: Medium
// 3: Hard // 3: Hard
const zorlukDerecesi = 3; const zorlukDerecesi = 4;
class Hole { class Hole {
constructor(value,id) { constructor(value,id) {
...@@ -72,8 +72,12 @@ function tikla(id){ ...@@ -72,8 +72,12 @@ function tikla(id){
//player=1; //bu burada kalmali //player=1; //bu burada kalmali
dagit(Number(id[4]),Number(id[9])); dagit(Number(id[4]),Number(id[9]));
boncukCiz(); boncukCiz();
if(zorlukDerecesi == 4){
if(zorlukDerecesi == 3){ while(player == 1 && state){
runRobotExpert();
}
}
else if(zorlukDerecesi == 3){
while(player == 1 && state){ while(player == 1 && state){
robotHard(); robotHard();
} }
...@@ -399,6 +403,84 @@ function robotHard(){ ...@@ -399,6 +403,84 @@ function robotHard(){
} }
} }
function runRobotExpert(){
let move = robotExpert()
player = 1;
//console.log("en yuksek insdis########### ",array[max_indis], ", tiklaniyor.");
tikla("user1hole"+(move).toString()+"x");
}
function robotExpert(){
//console.log("HHHHARD calisti.");
let array = doluHoleler();
let len = array.length;
let score_ar = []; // dolu hucrelerle ayni indisle
if( len > 0){
var temp1 = [];
var temp2 = [];
for (let i = 0; i < 7; i++) {
temp1.push(new Hole(user1hole[i].getValue(),user1hole[i].getID()));
temp2.push(new Hole(user2hole[i].getValue(),user2hole[i].getID()));
};
bosalt();
//console.log("ilk bosalt sonrasi user1hoel uzunnlugu: ",user1hole.length);
//console.log("ilk bosalt sonrasi user2hole uzunnlugu: ",user2hole.length);
/*
console.log("robotHard hesaplama basliyor..");
console.log("temp1[0].value: ", temp1[0].value);
console.log("user1hole[0].value: ", user1hole[0].value);
console.log("atamar yapiliyor..");
temp1[0].value = 100;
user1hole[0].value = 999;
console.log("temp1[0].value: ", temp1[0].getValue());
console.log("user1hole[0].value: ", user1hole[0].getValue());
player = 2;
*/
for ( let k = 0; k < array.length; k++){ // dolu hocre sayisi kadar don
let denenecek_hole_indis = array[k]; // dolu hucresinin indisini al
//console.log("hole ,",denenecek_hole_indis, ", deneniyor.");
bosalt();
for (let i = 0; i < 7; i++) {
user1hole.push(new Hole(temp1[i].getValue(),temp1[i].getID()));
user2hole.push(new Hole(temp2[i].getValue(),temp2[i].getID()));
};
console.log("dagitim sonrasi user1hole uzunnlugu: ",user1hole.length);
console.log("dagitim öncesi hazine: ",user1hole[6].value);
//tikla("user1hole"+(denenecek_hole_indis+1).toString()+"x"); // dolu hucreyi dagittini dusun
dagit(1,denenecek_hole_indis+1);
//console.log("dagitim sonrasi hazine: ",user1hole[6].value);
// dolu hucre dagilitdiktan sonra hazinenin degerini al ve score ar.ine ata
while(player == 1){
let move = robotExpert();
dagit(1,move);
}
score_ar[k] = user1hole[6].getValue();
}
// her dolu kutu denendikten sonra hazineyi encok arttıran adimi sec
bosalt();
for (let i = 0; i < 7; i++) {
user1hole.push(new Hole(temp1[i].getValue(),temp1[i].getID()));
user2hole.push(new Hole(temp2[i].getValue(),temp2[i].getID()));
};
let max = 0;
let max_indis = 0;
for ( let a = 0; a< score_ar.length; a++){ // en yuksek hazine degerini bul
if( score_ar[a] >= max){
max = score_ar[a];
max_indis = a;
}
}
//player = 1;
//console.log("en yuksek insdis########### ",array[max_indis], ", tiklaniyor.");
//tikla("user1hole"+(array[max_indis]+1).toString()+"x");
return array[max_indis]+1;
}
}
function bosalt(){ function bosalt(){
while(user1hole.length > 0){ while(user1hole.length > 0){
user1hole.pop(); user1hole.pop();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment