Paras valotaulu -kisa

Post Reply
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Paras valotaulu -kisa

Post by DJ-Filbe »

Tein pikaisesti tällaisen valotauluhässäkän. Eli:
sinulla on 10x10 valotaulu, jossa siis on numeroituna 100 valoa, 10kpl joka rivillä.
Kirjoitat erillisellä ohjelmalla tavuista koostuvan tiedoston, jolla hallitset valotaulun tapahtumia.
Alla on listattu tavukomennot:

Code: Select all

0 = sulje valotaulu
1-100 = laita valo päälle (numero kertoo valon järjestysnumeron valotaululla). Näytetään päälläolevat valot jos ei lukitusta.
101-200 = laita valo pois päältä (numero miinus sata kertoo valon järjestysnumeron valotaululla). Näytetään päälläolevat valot jos ei lukitusta.
201 = sammuta kaikki valot
202 = vilkuta päällä olevia valoja
203 = laita kaikki valot yksitellen päälle
204 = laita kaikki valot yksitellen pois päältä
205 = laita random valo päälle
206 = laita 10 random valoa päälle
207 = laita 50 random valoa päälle
208 = päivitä päälläolevat valot (jos lukitus päällä)
209 = sammuta kaikki valot
210 = aloita luku tiedoston alusta
240 = lukitse valojen näyttämiskomento. Hyödyllinen jos ei haluta taukoa kahden valon syttymisen välillä.
241 = palauta valojen näyttämiskomento
Ylläolevia koodeja voi myöäs kutsua funktioista (ks. "writer.cb"). Rar-paketissa tulee mukana taulukuva, taulutiedoston kirjoitusohjelman sorsa, esimerkkitaulutiedosto ja taulutiedoston lukija.

Kisan säännöt:

Kilpailuun osallistutaan kahdella tiedostolla: "flashtable.ft", mitä voi lukea alla olevasta Rar-paketista löytyvällä lukijalla, sekä kuvatiedosto, josta löytyy omanlainen taulu.
Lisäksi: Ehdotuksia taulusysteemin parantamiseksi otetaan vastaan ja alla olevaa pakettia päivitellään sitä mukaan.
Kilpailutyöt tulee julkaista tällä palstalla ennen heinäkuun 1. päivää, jolloin äänestys käynnistyy.

Varaan myös oikeuden tehdä muutoksia tuohon pakettiin, jos laitan lisäominaisuuksia siihen (säilytän yhteensopivuuden vanhempiin versioihin). Ilmoittelen niitä myöhemmin jos keksin lisättävää.
EDIT:

Ensimmäinen joka tekee tähän funktiot, joilla voi pyörittää isoja kirjaimia ja numeroita valotaululla, bonus 5 pistettä

Attachments
Flashtable.rar
Sisältää:
flashtable.ft -tiedosto (valotaulutiedosto)
flashtable.txt -tiedosto (tekstitiedosto)
Flashtable.exe (valotaulutiedoston lukija)
TextFlashtable.exe (tekstitiedoston lukija)
table.png -kuva (valotaulu)
writer.cb -tiedosto (kirjoittaa funktioista valotaulutiedostoon sekä tekstitiedostoon, jota voi muokata myös käsin)
Päivitetty 21:05
12.6.2010
(1.15 MiB) Downloaded 339 times
valotaulu.png
valotaulu.png (18.29 KiB) Viewed 12160 times
Last edited by DJ-Filbe on Sat Jun 12, 2010 9:06 pm, edited 7 times in total.
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: Paras valotaulu -kisa

Post by Henkru »

Ainakin voisi lisätä jonkinlaisen "wait" mahdollisuuden (yksittäisten pallojen väliin). Onko tuo fps riippumaton? Jos ei ole niin saisi olla.
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Paras valotaulu -kisa

Post by DJ-Filbe »

Henkru wrote:Ainakin voisi lisätä jonkinlaisen "wait" mahdollisuuden (yksittäisten pallojen väliin). Onko tuo fps riippumaton? Jos ei ole niin saisi olla.
wait -mahdollisuuden voi toteuttaa niin, että kirjoittaa ylimääräisiä v() -funktiokutsuja, jolloin ohjelma odottaa tuon "odotusajan", jonka voi määrittää alussa (ks. writer.cb :n koodi, ekat rivit)
FPS-riippumattomuus... on riippumaton siinä mielessä, että saat tuskin oletusasetuksilla paljon 15fps :ä suuremman FPS :än, ja toisaalta harva kone on niin hidas ettei tuota pyöritä.
E:
^^
kannattaa pitää mielessä että tuo riippuu aivan "odotusaika" -muuttujan tilasta, eli se byte mikä ensimmäisenä kirjoitetaan tiedostoon on oleellisin tässä. Kunhan muistat, että tuo luku ei saa olla kovin lähellä nollaa.
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: Paras valotaulu -kisa

Post by Henkru »

asd. No edelleenkään ei voi määrittää pallokohtaisia odotusaikoja. Tommoset purkat ei oo kivoja.
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Paras valotaulu -kisa

Post by DJ-Filbe »

Henkru wrote:asd. No edelleenkään ei voi määrittää pallokohtaisia odotusaikoja. Tommoset purkat ei oo kivoja.
no saat waittisi. Odotas vähän...
EDIT:

Valmis. Kutsu "odota(aika)" -tyylillä.

Last edited by DJ-Filbe on Sat Jun 12, 2010 5:55 pm, edited 1 time in total.
User avatar
buke44
Active Member
Posts: 169
Joined: Sat May 23, 2009 8:10 pm
Location: Tampere

Re: Paras valotaulu -kisa

Post by buke44 »

Ihan hieno ohjelma! Wait mahdollisuus ois hyvä. Joo tein koordinaatteihin piirtämisen ite:

Code: Select all

Function sk (x, y)
    WriteByte a,(y-1)*10+x
EndFunction 

Function sk2 (x, y)
    WriteByte a,((y-1)*10+x)+100
EndFunction 
Last edited by buke44 on Sat Jun 12, 2010 5:54 pm, edited 1 time in total.
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: Paras valotaulu -kisa

Post by Henkru »

Tuo 10x10 tuntuu hiukan pieneltä :/ Oisko vaikka myös tuki 50x50:lle?
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: Paras valotaulu -kisa

Post by Henkru »

buke44 wrote:Ihan hieno ohjelma! Wait mahdollisuus ois hyvä ja koordinaatteihin piirtäminen.

Code: Select all

y*10+x
(vasen ylänurkka on 0,0)
User avatar
buke44
Active Member
Posts: 169
Joined: Sat May 23, 2009 8:10 pm
Location: Tampere

Re: Paras valotaulu -kisa

Post by buke44 »

Millon tulee päivitystä? Täähän on itseasiassa tosi mahtava ohjelma! Voisit vielä lisätä isomman ruudukon ja värien vaihtamisen. Jos jaksat tehdä niin kääntäjä ois mahtava. Sellainen mikä kääntäisi jotain notepadillä editoitavia projekti tiedostoja tohon flashtaulu muotoon, että niitä vois tehä ilman CoolBasicciakin.
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Paras valotaulu -kisa

Post by DJ-Filbe »

buke44 wrote:Ihan hieno ohjelma! Wait mahdollisuus ois hyvä. Joo tein koordinaatteihin piirtämisen ite:

Code: Select all

Function sk (x, y)
    WriteByte a,(y-1)*10+x
EndFunction 

Function sk2 (x, y)
    WriteByte a,((y-1)*10+x)+100
EndFunction 
Lisäsin koodiin.
Henkru wrote:Tuo 10x10 tuntuu hiukan pieneltä :/ Oisko vaikka myös tuki 50x50:lle?
Sotkisi aika paljon tätä.... Tein kuitenkin ominaisuuden, että voit vaihtaa framejen kokoa ja samalla suurentaa näyttöä ja esitystä. Laitan nyt sen Rar -tiedostoon.
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Paras valotaulu -kisa

Post by DJ-Filbe »

buke44 wrote:Millon tulee päivitystä? Täähän on itseasiassa tosi mahtava ohjelma! Voisit vielä lisätä isomman ruudukon ja värien vaihtamisen. Jos jaksat tehdä niin kääntäjä ois mahtava. Sellainen mikä kääntäisi jotain notepadillä editoitavia projekti tiedostoja tohon flashtaulu muotoon, että niitä vois tehä ilman CoolBasicciakin.
Siis: värejä olet voinut aina vaihtaa muokkaamalla table.png -tiedostoa. Ruutuja voit suurentaa muuttamalla tiedoston alkuun kirjoitettavia numeroita (ks. uusin versio)
Kääntäjä tekstitiedostoille? Onnistuu, hetki vain! Jos olisi tuo joskus 19:00 valmis, palataan asiaan silloin;)
EDIT:

Tein kuten lupasin: nyt voit muokata esitystä myös notepadilla! (käytössä tosin vain numerokomennot, mutta kuitenkin.)

EDIT:

Sääntöjen tarkennusta:
Voit muokata vapaasti kirjoitusohjelman koodia, koska ei ole mitään väliä sillä kuinka ohjelmallisesti kirjoitat bytejä (tai tekstitiedoston rivejä). Kilpailuun voi osallistua joko flashtable.ft- tai flashtable.txt -tiedostolla.

User avatar
buke44
Active Member
Posts: 169
Joined: Sat May 23, 2009 8:10 pm
Location: Tampere

Re: Paras valotaulu -kisa

Post by buke44 »

Miks noi pallot pitää olla kuvina? Tarkotan tolla värien vaihdolla pallojen piirtovärin vaihtamista samanlai kuin CB:ssä Color komento. Vinkkinä vaan että komento kannattaa rakentaa tyyliin:

Code: Select all

Function vari (r, g, b)
    WriteByte a, 236
    WriteByte a, r
    WriteByte a, g
    WriteByte a, b
EndFuction
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Paras valotaulu -kisa

Post by DJ-Filbe »

buke44 wrote:Miks noi pallot pitää olla kuvina? Tarkotan tolla värien vaihdolla pallojen piirtovärin vaihtamista samanlai kuin CB:ssä Color komento. Vinkkinä vaan että komento kannattaa rakentaa tyyliin:

Code: Select all

Function vari (r, g, b)
    WriteByte a, 236
    WriteByte a, r
    WriteByte a, g
    WriteByte a, b
EndFuction
Ei niiden tarvitsisikaan, mutta silloin pitäisi tehdä lisäosa piirtämiselle, joka tuottaisi melko ison työn. Voin toki tehdä muutaman niksin kuvan muokkaamiseen lennossa, mutta se ei ole välttämättä niin järkevää...
EDIT:

Oletko nähnyt valodiodin (led), joka osaa vaihtaa väriään :roll:

User avatar
buke44
Active Member
Posts: 169
Joined: Sat May 23, 2009 8:10 pm
Location: Tampere

Re: Paras valotaulu -kisa

Post by buke44 »

DJ-Nerd wrote:
EDIT:

Oletko nähnyt valodiodin (led), joka osaa vaihtaa väriään :roll:

Olen nähnyt erivärisiä valodiodeja samassa kokonaisuudessa.
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Paras valotaulu -kisa

Post by DJ-Filbe »

buke44 wrote:
DJ-Nerd wrote:
EDIT:

Oletko nähnyt valodiodin (led), joka osaa vaihtaa väriään :roll:

Olen nähnyt erivärisiä valodiodeja samassa kokonaisuudessa.
Meni offiksi :|
Eli ympyröiden värin haluat vaihtoon... Silloin pitänee tehdä aika pelkistetyn näköisiä tauluja, mutta ei siinä sitten mitään. Teen vaikka muokattavan taustan, joka sisällytetään kisan osallistumiseen. Hetki menee, lataappa uusin versio klo 21:00.
EDIT:

Mukana tuleva kuva on nyt muokattava tausta. Ohjelma piirtää valoista ympyrät näytölle, jonka väriä voi muuttaa väri(valo, r, g, b) -funktiokutsulla tai kirjoittamalla tekstitiedostoon:

Code: Select all

252
[valon järjestysnumero]
[punainen]
[virheä]
[sininen]
[/edit]
Wingman
Devoted Member
Posts: 594
Joined: Tue Sep 30, 2008 4:30 pm
Location: Ruudun toisella puolella

Re: Paras valotaulu -kisa

Post by Wingman »

DJ-Nerd wrote:
EDIT:

Oletko nähnyt valodiodin (led), joka osaa vaihtaa väriään :roll:

Olen, itseasiassa asensin sellaisen viimeviikolla kaverin ps3-ohjaimeen... [/off]

Mutta joo, ihan näppärä ohjelma, ittekki joskus kaavailin tällasta, mutta sain sen toimimaan vaan kuvilla
- - - -
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Paras valotaulu -kisa

Post by DJ-Filbe »

Kertaukseksi listaan kaikki nykyiset funktiot ja numerokomennot:

Code: Select all

aloita() / 210
// aloittaa esityksen alusta
s(valo) / [1-100]
// laittaa valon päälle
s2(valo) / [101-200]
// sammuttaa valon
n() / 209
// sammuttaa kaikki valot
vilkuta() / 202
// vilkuttaa päällä olevia valoja
lukitus() / 240
// lukitsee valojen näyttämisen nopeita sytytys / sammutusoperaatioita varten
lukitus2() / 241
// kumoaa edellisen
v() / 208
// näyttää valot, jos lukitus on päällä
scrollon() / 203
// laittaa kaikki suljetut valot yksitellen päälle
scrolloff() / 204
// laittaa kaikki päälläolevat valot yksitellen kiinni
ran1() / 205
// laittaa random valon päälle
ran10() / 206
// laittaa 10 random valoa päälle
ran50() / 207
// laittaa 50 random valoa päälle
odota(aika) / 250, aika
// odottaa tietyn ajan. aika on Int32 -tietotyyppiä.
väri(valo, r, g, b) / 252, valo, r, g, b
// vaihtaa valon väriä
Post Reply