Eli minulla on tällä hetkellä 24 erillaista toimintoa.. Kaikki liittyvät toisiinsa ns. linjastoina. Mikä olisi helpoin tapa toteuttaa tälläinen systeemi? Olen koko yön valvonut ja ei nyt itselle tule mieleen yhtään, että mikä olisi helpompi tapa.
Minulla on luokka Oil. Eli öljy resurssi. Kun rakennetaan öljy resurssin kerääjä saadaan 3x3 alueelle määrittää mitä siellä tehdään. Eli kerätään öljyä varastoidaan ja myydään.
Ongelma on nyt se, että nämä 3x3 ruudut voidaan yhdistää toimimaan toisiinsa esim.
k|O|s
k|v|O
k|O|O
eli tuossa esimerkissä k tarkoittaa keräämistä ja v varastointia ja s myyntiä.
O on vain tyhjä kohta.
Nyt näiden välillä menee "viivoja" joita painamalla ne kytketään toisiinsa kiinni. Eli tässä tapauksessa kaikki k kirjaimet kytketään kiinni v kirjaimeen ja v kirjain kiinni s kirjaimeen.
Mietein ensin tämän toteutusta niin, että vaan surutta aloitta if sodan. Eli teen Oil luokalle 24kpl muuttujia. (line_1, line_2...) ja tarkistan if koodilla, että mitkä on valittu. Puolessa välissä toteutusta käsitin, että miksi pitäisi lyödä pää mäntyyn koska on pakko olla olemassa helpompikin tapa, kuin noin 500 riviä pelkkää if koodia. Siellä kun on virhe on sitä hieno korjata.
Jos ette ymmärtäneet niin sanokaa vain, että mitä kohtaa niin yritän selittää paremmin. :)
Järjestele homma toimimaan bittitasolla siten, että pystyt yksinkertaisesti yhdistelemään ja vertailemaan binäärioperaatioilla.
Käytä taulukkoa, älä yksittäisiä muuttujia. Taulukon voi käydä läpi vaikka for-silmukalla.
Ja tietenkään ei tehdä muuttujia (tai taulukon kohtia) tyyliin bool onko_viiva_kohdasta_1_1_kohtaan_2_1
, vaan taulukkoon (tai vektoriin tai listaan) tallennetaan tietueita, joissa on aina yhden viivan alku- ja loppukohta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.