Kirjoittaja Aihe: Pelin koodamisen alkeet: Näppäilytesti  (Luettu 2438 kertaa)

Poissa Jarskimo

  • Vuoden Foorumilainen 2012
  • Metusalem
  • ******
  • Viestejä: 239
    • Profiili
Pelin koodamisen alkeet: Näppäilytesti
« : Joulukuu 05, 2011, 11:37 »
Tämä näppäily testi on alunperin otettu Mikro-Bitin "Huvia ja Hyötyä Commodore 64" kirjasta. Tämän pelin on koodannut alunperin Jyrki J. J. Kasvi. Minä olen itse hieman hionnut koodia jotta siitä tulee selkeämmän näkoinen kokonaisuus. (Se on selkeä myös tuon ohjeen mukaan, mutta minä en tajunnut yksinkertaisia juttuja, lue viestin loppu)

Lainaus tuosta kirjasta "Tämä pieni peli testaa pelaajan näppäimistön tuntemusta. Näytön keskelle tulostuu jostakin merkeistä muodostettu rivi, jota vastaavaa näppäintä on painettava mahdollisimman nopeasti. Oikean näppäimen painamisen jälkeen etsittävä merkki vaihtuu. Tämä jatkuu kymmenen sekuntia, jonka jälkeen ohjelma ilmoittaa kuinka monta kirjainta pelaaja on tänä aikana ehti löytää."


Tässä näette Jyrkin koodin pätkän josta tämä koko idea lähti liikkeelle.


Jyrkin koodin lopputulos on melko sekava (Ei ole oikeasti sekava, minussa oli virhe, lue visestini loppu)

Itse en ollut tyytyväinen tuohon kirjan koodaukseen jotain päätin hieman muokkailla sitä ja lopputulos näyttää tällaiselta.


Ja nyt kun sinun kiinnostus heräsi tähän siistimpään versioon niin tässä on toimiva koodi tuohon peliin. (Jos ei toimi ilmoittakaa minulla pikaisesti, mutta sen pitäisi toimia)

0 PRINT”NAPPAILYPELI. PAINA NAPPIA OHJEEN MUKAAN”: LA=RND(-TI):REM 97
10 TI$=”000000”: LA=0:REM F7
20 OI$=CHR$(INT(RND(0)*27+64)):NI$=OI$+OI$+OI$+OI$+OI$+OI$:REM E7
30 PRINT”PAINA KIRJAINTA:”;NI$:REM F6
40 GETVA$: IFTI>1000 THEN 100:REM 24
50 IF VA$<>OI$ THEN 40:REM 78
60 LA=LA+1: GOTO 20:REM EE
100 PRINT”AIKA LOPPUI SAIT”;LA;” KIRJAINTA OIKEIN:REM 58
110 INPUT”HALUATKO PELATA UUDESTAAN?<RVS ON>K<RVS OFF>/<RVS ON>E<RVS OFF>”;VA$:REM 2E
120 IF VA$=”K” THEN 0:REM 08

HUOM. Näette varmaan tuon 110 listauksen. Siinä lukee <RVS ON>K<RVS OFF>. Tuota RVS ON ja OFFia ei tarvitse kirjoittaa vaan sen saa Commodore 64 näppärästi painamalla kahta nappia samaan aikaan, eli CTRL nappi pohjaan ja painamalla nappia 9 saat RVS:sän ON asentoon ja OFF asentoon sen saa kun painaa CTRL pohjaan ja samaan aikaan painaa 0 nappia. Commodore 64 näppäimen reunolla lukee nuo kyseiset jutut.


En voi nyt sano muuta kuin koodamisen iloa Commodore 64 parissa  8)

EDIT. Kovimmat Commodore veteraanit huomasivat jo, että olin tehnyt aloittelinjan virheen, eli tuossa alkuperäisisessä koodissa ei olekaan yhtään vikaa, vaan se olikin näpyttäjässä vika. Eli nämä <CLR/HOME> ja <12DOWN> pitää näpytellä koodin sekaan, eli <CLR/HOME> jos haluaa käyttöön, niin paina kuusnelosen näppäimistösät CLR/HOME näppäintä (oikea ylänurkka) ja jos haluat <12DOWN> niin paina alaspäin kursoria 12 kertaa.

Minä itse kokeilin tämän ja lopputuloksena on tämän näköinen peli
« Viimeksi muokattu: Joulukuu 06, 2011, 14:51 kirjoittanut Jarskimo »

Poissa exSyntaxError

  • Metusalem
  • *****
  • Viestejä: 105
    • Profiili
Vs: Pelin koodamisen alkeet: Näppäilytesti
« Vastaus #1 : Joulukuu 06, 2011, 13:20 »
Eipä Jyrkikään meinannut että noita clr/home,12down,17right kirjoitetaan, vaan ne tarkoittaa että ne näppäillään. clr/home ja Home on näppäimiä, 12down tarkoittaa että painetaan 12 kertaa alas, right on oikea, jne.. Kun nämä tehdään lainausmerkkien sisällä saadaan kursorille ohjauskäskyjä ohjelmaan.
« Viimeksi muokattu: Joulukuu 06, 2011, 13:29 kirjoittanut exSyntaxError »
Jos rahaa olisi, ei raha olisikaan mikään ongelma..

Poissa Jarskimo

  • Vuoden Foorumilainen 2012
  • Metusalem
  • ******
  • Viestejä: 239
    • Profiili
Vs: Pelin koodamisen alkeet: Näppäilytesti
« Vastaus #2 : Joulukuu 06, 2011, 13:40 »
Eipä Jyrkikään meinannut että noita clr/home,12down,17right kirjoitetaan, vaan ne tarkoittaa että ne näppäillään. clr/home ja Home on näppäimiä, 12down tarkoittaa että painetaan 12 kertaa alas, right on oikea, jne.. Kun nämä tehdään lainausmerkkien sisällä saadaan kursorille ohjauskäskyjä ohjelmaan.

Tajusin muutes juuri eilen miten tuon saisi toimimaan juuri silleen miten sen pitäisi. No onpahan ohjeet hieman erilaiseen menetelmään. Voin päivittää tuota vielä jonain päivänä tuota aloitusviestiä.

EDIT. Aloitusviestiä päivitetty, kiitti exSyntaxError
« Viimeksi muokattu: Joulukuu 06, 2011, 14:53 kirjoittanut Jarskimo »