Sunday 31 January 2010

Tammiyhteenveto

Skriptihöskä Alpha V3 omaa 16 käskyä! Ja näiden ajoympäristö syö 900 riviä CB-koodia Mutta toisaalta näihin käskyihin kuuluu myös Include (sisällytä - komento omaa Include - toiminnallisuuden) (ja hymiö on linkitetty Nightwishin foorumilta)

Wihta edistyy. Siinä ei ole vielä mitään hienoa latausruutua, tai oikeastaan: siinä ei ole vielä mitään. Ja tähän eimitään - kokonaisuuteen kuuluu 1000 riviä koodia. Ikkunointi toimii, API toimii, ja komentotulkki toimii. Eli tällä hetkellä Wihtassa voi ajaa ikkunoituna omia koodejaan. Mikä Killer-App!

Wednesday 27 January 2010

Nyys Fläs

Pari minuuttia edellisen blogpostin lähettämisen jälkeen tajusin omaavani Doors Wihta Frozen Editionin ToDo-listassani. Epäjäädytin sen siis. Hyödynnän tässä vielä_julkaisematonta skriptihöskän versiota. Lisäinfoa tulee proejtkin edetessä.

"Viestiä tallennetaan..."

Herraisäjaäiti ku voi olla koulussa tylsää, Skriptihöskä on suunnitteluvaiheessa, tarina on kesken, eikä mitään muita eläviä projekteja oikeastaan ole atm. Siksi jaan kanssanne "luonnoksia":

-Asiakas, joka unohdit kaalia malmille, voit noutaa sen infosta unelmia vastaan
-Kansanmusiikkia omaperäisillä pakotteilla höystettynä
-Suomen matemaattisten opettajien äh
-Sellon torinossa
-Ota käyttöön Suomalaisen etukassi. Kerää kassiin viisi peikkoa.
-Vessasta ui särki ku muistutit et pepsiä voi kaataa pöydälle
-Asiakas Rytkönen, palelet kaijaliikkeessä
-Kuivakausi alkaa
-Koira riihimäelle lähtee raiteelta 3 klo 13.53, heti iltapäivän lätkämatsin jälkeen
-Raxin kumijuomaa
Ja legenda: -Onneks ei sentään sada

Tuesday 19 January 2010

Skriptihöskä Alpha V3

Long time no blogspotpost.

Kun kysyntä oli niin kovaa, tein sen arkkitehtuurimuutoksen Skriptihöskän tukirakenteisiin. Ja jos totta puhumme, kyseessä oli tarvittu arkkitehtuurimuutos. Yritän karistaa Höskän pölyisistä kellareista noita taulukkoja pois, ja toteuttaa kaiken taulukkoa vaativan kokoelmilla/tyypeillä/linkitetyllä listalla/kutsu miksi haluat.

Toinen, ruokatunnilla mieleentullut idea 'tulkkauksen' nopeuttamiseksi, kuuluu seuraavasti:
Oletan nyt julmasti että kaikki, keitä asia kiinnostaa, tuntevat CB:n Type-EndType - rakenteen toiminnan.

Kun nykyinen type - rakenne, joka säilyttää tulkattavan koodin, näyttää seuraavalta:

 Type skripti 'Kokoelma johon skripti ladataan
    Field rivi As String
EndType

niin ajattelin lisätä tuohon toisen kentän, nimellä ei ole merkitystä mutta tyyppi tulee olemaan Byte tai Short. Moottorin alkuun luettelisin N vakiota, joilla jokaisella on oma, uniikki numeronsa. Jos nimeän nämä vakiot kunnolla, voin tehdä kääntäjän seuraavan pseudokoodin mukaisesti:

luetaan rivi lähdekoodia (eli yhden skripti - typen esiintymän rivi - kenttä)
tutkitaan ensimmäinen sana (GetWord 1)
jos sana on "tulosta" niin asetetaan tavukentän arvoksi sama, kuin tulosta - vakion
ja sama inputilla/odota_painalluksella ja muilla. Periaatteen näkee tuosta.

Tämä johtaisi siihen, että kun koodi ajettaisiin esikäsittelyn lisäksi byte/short - kääntäjän lävitse, saattaa koodin käynnistäminen kestää kauemmin. Mutta, kun voitaisiin  For=Each - luupissa nykyisen Select GetWord(rivin eka sana) - rivin muoto muuttaa muotoon Select Byte/Short-kenttä_jonka_nykyinen_esiintymä_omaa, saataisiin prosentuaalista nopeutta. Pähkinänkuoressa: tavujen Selectin kautta ajaminen on nopeampaa kuin StringLinejen!

Ja vielä, nyt annan luvan haaveilla Include - komennosta höskään. Omaan selvän suunnitelman siitä, miten tuon saa toteutettua. Nähkäämme taasen!

Saturday 9 January 2010

lisäinfoa

Esikäsittelijä on valmis. Älkää haaveilko (ainakaan vielä) include - komennosta, se saattaisi vaatia taas uuden arkkitehtuurimuutoksen Skriptihöskän syvimpiin tukirakenteisiin, mutta rivinvaihdot ovat tuettuja ja kommentointi toimii '-merkillä, kuten CoolBasicissakin. En nähnyt tarvetta muuttaa toimivaa kommenttimerkkiä.

lisää syntaksimuutoksia ja to-dota

-Suunnittelen esikäsittelijää, jolloin uusi_versio skriptihöskästä mahdollistaisi rivinvaihdot.
-inputille välitetään kohdemuuttujan tyyppi seuraavasti: "input +nimi+ "Moi kukaoot?"" tai "input %lukuarvo% "Kuin vanha oot?""
-textout -komento käyttäytyy kuin addtext ja tukee int ja str - muuttujia
-outputlocation toimii textoutille kuin Locate Addtextille, ja tukee %muuttujia% parametreinä
-piirräruutu - komento kutsuu drawscreenin
-cleartextstream tyhjentää textout/addtextvirran. Eli kutsuu konepellin alla cleartextiä

Hyvää uuttaYoolia

Uudenvuoden kunniaksi aloin kirjoittaa Skriptihöskää täysin uudelleen. Tietotyypit eroavat nyt oikeasti konepellin allakin, kaikki ei ole yhtä suurta stringline - massaa, vaan int-tietotyyppi nojaa integerkokoelmaan. Ja kirjoitan sen myös siistimmin. En omaa intoa kirjoittaa lisää materiaalia 1000-riviseen gotopötköön joka on sisennettykin päin sitä ihteensä.

Muutoksia siis syntaksiin!
Ennen esikäsittelijän rakennusta, koodi on kirjoitettava yhteen pötköön. Ei siis turhia rivivälejä tai sisennyksiä!
Aseta_muistiin - komento poistuu. Nykyään sanotaan että 'str moimaailma = "Ikäni on seuraava "' taiettä "Int ikä = 400"
Tulosta - komennolla tulostetaan seuraavan syntaksin mukaan: 'tulosta " +moimaailma+ %ikä% vuotta"'
Ylläoleva tulostaisi siis seuraavaa:
"Ikäni on seuraava 400 vuotta"
Eli tekstimuuttujat ilmaistaan + - merkein, kokonaisluvut % - merkein. Hyvää yötä