SHENZHEN I/O vinkit

Published on Friday, October 14, 2022

SHENZHEN I/O -pelin vinkit

SHENZHEN I/O on Zachtronicsin kehittämä ohjelmointipulmapeli tietokoneille (Windows, Linux ja Mac). Itsellä pääkampanja läpäisy vei aikaa noin 30 tuntia, ja alla olen listannut muutamia vinkkejä, joilla pelistä (ja ehkä myös oikeasta elämästä) saa hieman enemmän irti.

Manuaalin lukeminen kannattaa

Pelin mukana tulee PDF-manuaali, joka varsinkin noviisina kannattaa avata jokaisen pelikerran alussa taustalle, koska pelin oma tutorialisointi on hyvin heikko. Manuaali sisältää tietoja eri komponenteista ja tehtäviin liittyviä tietoja/vaatimuksia. PDF:n teksti on tekstimuotoista, joten haluttuja asioita on helppo etsiä oman PDF-lukijan find/etsi-toiminnolla.

Tetävänanto kannattaa lukea tarkkaan

Itselleni tuli valitettavasti väärinymmärryksiä muutaman tehtävän kohdalla luetun ymmärtämisen kanssa. Väärän toteutuksen tekeminen vie vain turhaa aikaa.

Alussa ei kannata pyrkiä täydellisyyteen

Alussa ei kannata yrittää tehdä täydellisiä toteutuksia, vaan keskittyä tehtävien läpäisyyn. Tämä siksi, että pelin edetessä käyttöön tulee uusia komentoja ja komponentteja, joiden avulla aiempien tehtävien läpäisy onnistuu pienemmällä budjetilla/koodimäärällä/virrankulutuksella.

Tehtäviä ei tarvitse läpäistä järjestyksessä

Jos jokin tehtävä tuntuu todella haastavalta, kannattaa pienen yrittämisen jälkeen siirtyä suosiolla seuraavaan tehtävään, ja jättää ongelma hautumaan omiin aivoihin.

P- ja X-porttien erot kannattaa sisäistää heti

P- ja X-porttien erot kannattaa sisäistää mahdollisimman pian. Porteissa on useampi ero mm. lukemisen ja arvoalueiden välillä, jotka kannattaa ottaa huomioon omissa suunnitelmissa.

Monimutkaisuutta kannattaa välttää

Monissa tehtävissä käytettävää piirialaa ei ole tarpeeksi, jotta tehtävän voisi ratkaista monimutkaisella toteutuksella. Useimmissa tapauksissa esim. kahden silmukan sisällyttäminen yhdessä koodiosiossa on jo liian monimutkainen toteutus.

Ongelmia voi ratkaista osissa

Monissa tehtävissä on yleensä useampi ongelma, jotka pitää ratkaista. Näissä kohdissa kannattaa aloittaa yhdestä ongelmasta, ja työstää siihen ratkaisu. Omaa toteutusta voi siis testata ennen kuin se on rakennettu kokonaan loppuun.

Testaustoimintoa kannattaa hyödyntää jatkuvasti

Windowsilla pelatessa voi testaustoiminnon aikajanalle laittaa pysäytyspisteen (breakpoint) painamalla näppäimistöstä Ctrl-napin pohjaan ja klikkaamalla sitten hiirtä aikajanalla halutussa kohtaan. Kun sitten laittaa simulaation pyörimään, pysähtyy simulaatio automaattisesti pysäytyspisteen kohdalla. Samalla yhdistelmällä voi luonnollisesti poistaa laitetun pysäytyspisteen.

Peruspiireissä ei ole jakolaskutoimintoa

Pelin peruspiireissä ei ole lainkaan jakolaskutoimintoa eikä jakojäännöksen laskemista. Tämän takia monet normaalista ohjelmoinnista tutut bittien nypläämiset eivät onnistu pelissä mitenkään helposti, joka kannattaa pitää mielessä, kun omia suunnitelmia tekee.

Johtoja voi vetää piirien alitse

Vihreää johtoa voi vetää piirien alitse. Show wires -nappi (Tab-näppäin) auttaa tässä tilanteessa, koska sen avulla näkee piirien alle.

Paras tulos kaikissa kategorioissa saattaa vaatia eri toteuksia

Pelissä on useampi tehtävä, jossa pienintä budjettia, koodimäärää ja virrankulutusta ei saavuteta samalla toteutuksella. Eli toteutuksia pitää olla useampi.

🖥️