Kaikki tämän sivun Casio-ohjelmat ja pelit ovat kokonaan ja alusta asti itse ideoimiani ja koodaamiani. Ne saa asentaa laskimeensa muttei väittää omakseen. Muokata saa mutta alkuperä pitää silti mainita. Tietenkin jos optimoit / muokkaat koodia, voit laittaa koodin näkyville kommentilla muillekin saatavaksi. Kaikki uudet ideat koodiin ovat tervetulleita.
Pelit ja ohjelmat on kehitetty Casio CFX-9860G -laskimella, sen muistirajoitusten ja nopeuden mukaan. Ne voivat toimia myös muissa Casion laskimissa, mutta kaikki testaaminen on omalla vastuulla. Ohjelmat käyttävät myös matriiseja ja listoja joissa olevat alkuperäiset tiedot tuhoutuvat (tästä mainitaan jokaisen kohdalla erikseen). Kannattaa myös muistaa että jatkuvasti pyörivien pelien (kuten seiskaventti ja reaktiopeli) pitkäaikainen ajaminen kuluttaa patteria suunnattomasti normaalikäyttöä nopeammin. En ota vastuuta mistään näiden ohjelmien ajamisesta, käytöstä tai väärinkäytöstä aiheutuvista ongelmista ja tiedon katoamisista.
Jokaisen rivin loppuun tulee rivinvaihtomerkki, mutta fontin takia sitä ei tekstitiedostoissa näy. Samoin mahdottomia merkkejä (kuten suurempi tai yhtäsuuri kuin) on muunneltu esim. kahden merkin pituisiksi (>=). Opiskele Casio-koodi ennen näiden ohjelmien kirjoittamista laskimeesi. [DISP] tarkoittaa ohjelman suorituksen keskeyttävää ja senhetkisen tuloksen näyttävää pientä kolmiomerkkiä.
Ohjelmalista:
- Pelit
- Seiskaventti
- Pieni ja helppo seiskaventtiklooni tietokonevastustajaa vastaan. Tavoitteena saada omaan korttipinoon (vasemmalla) luku 21 (kortit 1-13, ei jokereita) painamalla toistuvasti 1. Jos luku menee yli 21, häviää automaattisesti. Kun luku on 21 tai mielestäsi tarpeeksi lähellä, paina 2 lopettaaksesi erän, jolloin vastustaja voi ottaa vielä yhden kortin yrittääkseen päästä lähemmäksi.
- Tarvitsee aliohjelmat S-TIMER, S-GK sekä 1×4 -kokoisen matriisin B.
- 7-CARD.txt – Aktivoituu painettaessa 1, arpoo uuden kortin.
- 7-NCARD.txt – Aktivoituu painettaessa 2, lopettaa erän.
- 7-NEWG.txt – Aloittaa uuden pelin.
- 7-STATS.txt – Laskee ja näyttää tilastot.
- 7-VENTTI.txt – Käynnistää pelin, aja tämä pelataksesi.
- Reaktiopeli
- Tyypillinen reaktiopeli (tuttu kolikkopelinä) jossa neljässä ruudussa vilahtelee valo (tässä tapauksessa merkki x) ja tehtävänä on painaa oikeata vastaavaa nappia tahdin kiihtyessä jatkuvasti. Yksikin väärä painallus tai painamatta jättäminen lopettaa erän.
Pelissä myös eräs huijauskikka, jolla jokainen painallus osuu oikein, mutta mehän emme huijaa, vai mitä? ;) - Tarvitsee aliohjelmat S-TIMER, S-GK, S-GKTIME, sekä 1×3 -kokoisen matriisin D.
- REACTION.txt – Päätiedosto, aja tämä pelataksesi.
- REAC-NEW.txt – Aloittaa uuden pelin.
- Tyypillinen reaktiopeli (tuttu kolikkopelinä) jossa neljässä ruudussa vilahtelee valo (tässä tapauksessa merkki x) ja tehtävänä on painaa oikeata vastaavaa nappia tahdin kiihtyessä jatkuvasti. Yksikin väärä painallus tai painamatta jättäminen lopettaa erän.
- Laivanupotus
- Klassinen laivanupotus 1-ruutuisilla laivoilla. Peliruudukko 21*6, laivojen määrä valittavissa 1-125 (ruudukossa 126 ruutua). Osuessa saa uuden vuoron. Pelin voi lopettaa milloin vain AC-napilla, jolloin peliä voi jatkaa myöhemmin päävalikosta.
Tähänkin peliin on huijauskeino jolla voit ampua omalla vuorollasi niin monta kertaa kuin haluat, mutta sitä en ainakaan julkisesti paljasta. - Suuri ja monimutkainen peli joka vaatii tehoja ja muistia. Tarvitsee aliohjelmat S-GK, S-TIMER, S-SMAT sekä 6×43 -kokoisen matriisin H. Huom! Aliohjelma S-SMAT vaatii listan 1, joka näin ollen tyhjennetään sekä suorituksenaikaisesti matriisin S jonka koko vaihtelee (jää ohjelman lopuksi kokoon 1×1 muistin säästämiseksi).
- SINK.txt – Päätiedosto, aja tämä pelataksesi.
- SINK-AE.txt – Aktivoituu kun on pelaajan vuoro ampua vastustajaa.
- SINK-CP.txt – Vaihtaa vuoron.
- SINK-CUR.txt – Piirtää ja liikuttaa kursoria.
- SINK-DM.txt – Piirtää kartan.
- SINK-GC.txt – Game Control, pyörittää peliä.
- SINK-LG.txt – Lataa vanhan pelin.
- SINK-LOC.txt – Piirtää ikonit karttaan.
- SINK-NG.txt – Aloittaa uuden pelin.
- SINK-SS.txt – Laivojen asettelu paikalleen.
- SINK-STA.txt – Laskee ja näyttää tilastot.
- SINK-WIN.txt – Aktivoituu jomman kumman pelaajan voittaessa.
- SINK-YT.txt – Aktivoituu pelaajan vuoron alkaessa.
- Klassinen laivanupotus 1-ruutuisilla laivoilla. Peliruudukko 21*6, laivojen määrä valittavissa 1-125 (ruudukossa 126 ruutua). Osuessa saa uuden vuoron. Pelin voi lopettaa milloin vain AC-napilla, jolloin peliä voi jatkaa myöhemmin päävalikosta.
- Seiskaventti
- Muut ohjelmat
- Matrix-näytönsäästäjä
- Suhteellisen nopea ja optimoitu matrixkoodin tyyliin tehty näytönsäästäjä laskimelle. Itse asiassa ei säästä näyttöä ja kuluttaa pattereita, mutta onpahan kaverille näyttämistä.
- Ei tarvitse muita aliohjelmia tai matriiseja. Näytönsäästäjästä poistutaan AC-näppäimellä.
- MATRIX.txt – Pääohjelma, aja tämä käynnistääksesi näytönsäästäjä.
- MTRXCLR.txt – Ohjelman nopeuttamiseksi tämä pätkä on erillinen ohjelma, piirtää ruutuun sekalaisia rivejä.
- Lollercoaster
- Kemian kaksoistunnilla kirjoitettu sekavakoodinen ja suhteellisen hidas L0L-junaohjelma. Ajettaessa piirtää “junaradan” ruudulle jonka L0L-juna sitten ajaa. Tämä toistuu loputtomiin; ohjelmasta poistutaan AC-näppäimellä.
- Ei vaadi aliohjelmia mutta tarvitsee 2×21-kokoisen matriisin C.
- LOLLER.txt
- Matrix-näytönsäästäjä
- Aliohjelmat
Näillä ohjelmilla ei yksin tee mitään, mutta niitä voi käyttää muissa ohjelmissa.- S-DEF.txt – Asettaa “normaalit” asetukset laskimeen: 0 -> A~Z, Deg, CoordOn, GridOff, AxesOn, LabelOff, Norm 1, S-L-Normal, G-Connect, DerivOn, BG-None, ViewWindow -6.3,6.3,1,-3.1,3.1,1
Lähtöarvot:- Ei mitään.
- S-DICE.txt – Arpoo ja palauttaa satunnaisen luvun muuttujassa U.
Lähtöarvot:- A – Yläraja
- B – Alaraja
- S-GK.txt – Odottaa kunnes käyttäjä painaa jotakin nappia ja palauttaa sen arvon muuttujassa Z.
Lähtöarvot:- Ei mitään.
- S-GKTIME.txt – Odottaa tietyn ajan ja palauttaa sinä aikana painetun ensimmäisen napin, tai 0 jos mitään ei painettu, muuttujassa Z.
Lähtöarvot:- L – Odotettava aikamäärä.
- S-SMAT.txt – Etsii matriisista S haluttua arvoa ja palauttaa löydettyjen arvojen kohdat listassa 1.
Lähtöarvot:- T – Hakusuunta (1 = Alas, 2 = Oikealle).
- V – Pysty- / vaakarivi josta etsiä.
- N – Haettu arvo.
- D – Virheraja.
- S-TIMER.txt – Ajastin, odottaa tietyn ajan tekemättä mitään.
Lähtöarvot:- L – Odotettava aika.
- S-DEF.txt – Asettaa “normaalit” asetukset laskimeen: 0 -> A~Z, Deg, CoordOn, GridOff, AxesOn, LabelOff, Norm 1, S-L-Normal, G-Connect, DerivOn, BG-None, ViewWindow -6.3,6.3,1,-3.1,3.1,1
Tuo s-timer näyttäs ehkä paremmalta tälleen:
Filename:S-TIMER 1000L->Q For 0->R To Q Next 0->R Return
tai
Filename:S-TIMER For 0->R To 1000L Next 0->R Return
uudestaan!
Filename:S-TIMER
1000L->Q
For 0->R To Q
Next
0->R
Return
tai
Filename:S-TIMER
For 0->R To 1000L
Next
0->R
Return
Esaa, varmasti näyttäisi. :) Noita ohjelmia tehdessä eivät yleensä olleet esteettiset näkökulmat ensimmäisenä mielessä jo ihan senkin takia, että ruutu, jolta koodia katseltiin oli onnettoman pieni, joten koodin luettavuus oli muutenkin mitä sattuu – etenkin, kun kommentteja ei voinut koodiin laittaa (mikä kyllä näkyy koodin laadusta!). Toiminnan nopeuden kannalta nuo taitavat olla kuitenkin samaa tasoa.