Piilottelu

Hide and Seek

> Ohjelmointi

Tämän algoritmin tavoitteena on löytää solut, joihin vastustajalla ei ole näköyhteyttä edes liikkuessaan.

Kuulet yleensä, että tähän algoritmiin viitataan nimellä "Hide and seek".

Käyttö

Piilottelu on yksi ensimmäisistä menetelmistä, joilla voit hallita liikkeitäsi tehokkaammin.

Jos purjosi piiloutuu esteen taakse niin, ettei vastustaja pääse siihen käsiksi, hänellä ei ole muuta vaihtoehtoa kuin käyttää kavalaa menetelmää, kuten Spark, joka iskee esteiden läpi, tai AoE.

Periaate

Menetelmä, jota yleensä käytetään niiden solujen löytämiseen, joihin piiloudut, käyttää Accessible Cells -algoritmia.

Ensimmäinen vaihe on saada selville saavutettavissa olevat solut, jotta saadaan selville, mihin soluihin voit siirtyä ja mihin voit mahdollisesti piiloutua. Sinun on kuitenkin myös tunnettava vastustajasi (tai vastustajiesi) solut, jotta voit selvittää, mihin vastustajasi voi mennä, ja löytää solun, johon hän ei pääse käsiksi, vaikka hän liikkuisi.

Sitten sinun on määritettävä, mitkä niistä soluista, joihin purjosi pääsee käsiksi, ovat "turvallisia". Tätä varten sinun on testattava jokainen näistä soluista ja tarkistettava näköyhteydet vastustajan saavutettavissa oleviin soluihin. Jos solun ja vastustajan solujen välillä ei ole näköyhteyttä, vastustaja ei voi tähdätä kyseiseen soluun, vaikka hän liikkuisi.

Ideana on siis lähteä siitä, että solu on "turvallinen", ja yrittää todistaa päinvastainen. Sen jälkeen testataan jokainen vastustajan solu niin kauan kuin näköyhteyttä ei ole. Heti kun näköyhteys on olemassa, vastustaja pääsee kyseiseen soluun. On tietysti mahdollista tarkentaa ja laskea "vaara" piilopaikkaehdokkaille, jotta voidaan valita vähiten huono, esimerkiksi olla antamatta vastustajalle mahdollisuutta tulilinjaan M-Laserilla.

Vihreä laatikko: Sinun lekosi / Punainen laatikko: Vastustaja / Siniset laatikot: Vastustajan saavutettavissa olevat solut Vihreä viiva: Ei näköyhteyttä / Punainen viiva: Näköyhteys