CoolBasic/Tehtäviä
Ulkoasu
Helpot
[muokkaa | muokkaa wikitekstiä]Tehtävä a1
- Kirjoita ohjelma, jonka avulla voit liikuttaa punaista laatikkoa ruudulla nuolinappuloiden avulla.
- Vinkki: komennot LeftKey, UpKey, LeftKey, RightKey, Box, Color, DrawScreen
Tehtävä a2
- Kirjoita ohjelma, joka häivyttää keltaista laatikkoa ruudulla niin, että se ajoittain häipyy mustan taustansa joukkoon ja palaa sitten vähitellen sulavasti näkyviin.
- Vinkki: komennot Box, Color, DrawScreen
Tehtävä a3
- Kirjoita ohjelma, joka vilkuttaa jotain tekstiä ruudulla tyyliin "päällä/pois". Vilkkuminen tapahtuu puolen sekunnin välein.
- Vinkki: komennot Text, TIMER, DrawScreen
Tehtävä a4
- Tee ohjelma, joka arpoo 7-numeroisia lottorivejä. Lottonumerot ovat väliltä 1-49, eikä samaa numeroa voi tulla toiseen kertaan. Rivin generointi tapahtuu aina kun painetaan ENTERiä.
- Vinkki: komennot Rand, KeyHit, AddText, DrawScreen
Tehtävä a5
- Tee ohjelma, joka kysyy käyttäjän etu- ja sukunimeä. Sen jälkeen ohjelma tulostaa nimen niin, että ensimmäiset kirjaimet ovat isolla ja loput pienellä. Etunimi tulostuu oranssina ja sukunimi vaaleanpunaisena. Etunimen ja sukunimen välissä tulee olla välilyönti ja niiden pitää olla samalla rivillä.
- Vinkki: komennot GetWord, Upper, Lower, Left, Mid, Color, Write, WaitKey
Tehtävä a6
- Tee ohjelma, joka laskee luvun kertoman. Esimerkiksi luvun 5 kertoma on 5*4*3*2*1. Voit joko käyttää silmukkaa For...Next tai rekursiota (funktio kutsuu itseään).
Tehtävä a7
- Tee kahden pelaajan "hippapeli", jossa kumpikin pelaaja ohjaa eriväristä kohdetta ruudulla. Tarkoituksena on, että toinen pelaaja jahtaa toista. Jos jahtaaja saa jahdattavan kiinni, jahtaaja vaihtuu. Samalla sijoitetaan kumpikin pelaaja satunnaiseen lähtöpaikkaan. Apua saat näppäinkomennoista ja piirtokomennoista. Pelin saa toteuttaa myös objekteilla.
Tehtävä a8
- Tee sanakirjaohjelma, joka kääntää yksittäisiä sanoja suomeksi. Katso englannin sanakirjasta viisi vierasta sanaa, jotka ohjelma osaa suomentaa. Käyttäjä saa itse syöttää käännettävän sanan. Isoilla ja pienillä kirjaimilla ei ole väliä.
- Vinkki: komennot Upper, Input, Text, DrawScreen
Tehtävä a9
- Tee muistipeli. Käännetyt kortit on järjestetty ruudulle 4*4 muodostelmaan, eli yhteensä 16 korttia. Kortit valitaan hiirellä. Grafiikkaa kortteihin ei tarvitse tehdä. Riittää, että jokainen pari on erivärinen. Peliä pelataan hiirellä. Lopuksi peli kertoo kuinka monta kääntöä pelaaja joutui tekemään.
Tehtävä a10
- Tee sivulta kuvattu peli, jossa ammutaan tykillä. Lähtökulman ja lähtönopeuden saa valita nuolinappuloilla. Ammu pati välilyönnistä. Tarkoituksena on osua satunnaisesti sijoitettuun maaliin, jolloin peli loppuu. Jos ammus menee ruudun ulkopuolelle, eikä osu maaliin, käyttäjä saa uuden mahdollisuuden. Lisäapua saat TranslateObject-komennon oppaasta.
- Vinkki: komennot Objektikomennot
Tehtävä a11
- Tee pelivalikko, jossa on kohteet: Uusi peli, Asetukset ja Poistu. Kohteet valitaan hiirellä. Kohteiden täytyy olla kuvia. Kohteet korostetaan, kun hiiri on niiden päällä.
- Vinkki: komennot LoadObject, PositionObject, ObjectPickable, CameraPick, PickedObject
Keskivaikeat
[muokkaa | muokkaa wikitekstiä]Tehtävä b1
- Tee ohjelma, joka kysyy käyttäjän etu- ja sukunimeä. Sen jälkeen ohjelma tulostaa nimen niin, että ensimmäiset kirjaimet ovat isolla ja loput pienellä. Etunimi tulostuu oranssina ja sukunimi vaaleanpunaisena. Etunimen ja sukunimen välissä tulee olla välilyönti ja niiden pitää olla samalla rivillä. Et saa käyttää GetWord-funktiota.
- Vinkki: komennot Instr, Left, Mid, Trim, Upper, Lower, Color, Text, TextWidth
Tehtävä b2
- Tee yksinkertainen piirto-ohjelma, jossa käyttäjä voi piirtää ns. vapaan käden viivan hiiren avulla. Viiva ei saa olla katkonainen.
- Vinkki: komennot MakeImage, DrawToImage, DrawToScreen, Line, MouseX, MouseY, MouseDown
Tehtävä b3
- Tee 3x3 ruudukon kahden pelaajan pelattava ristinolla. Peliä pelataan hiirellä. Peli soittaa äänen aina kun voitto ratkeaa. Peli osaa kertoa kumpi voitti vai päädyttiinkö tasapeliin.
- Vinkki: komennot SCREEN, piirtokomennot, äänikomennot, MouseX, MouseY, MouseH
Tehtävä b4
- Tee ohjelma, joka kryptaa (=salaa) tiedoston niin, että jokaisen merkin ASCII-arvoa kasvatetaan jollakin luvulla väliltä 1-254. Ohjelman tulee osata myös purkaa salaus. Ohjelma muokkaa samaa tiedostoa, eikä erillistä kohdetiedostoa tarvita. Jos uusi arvo menee yli 255, siitä vähennetään 255, joten kierto alkaa silloin alusta.
- Vinkki: komennot OpenToEdit, ReadByte, WriteByte, Asc, Chr, Close, Seekfile
Tehtävä b5
- Tee ohjelma, joka tunnistaa näppäinyhdistelmiä: Ctrl + N, Ctrl + O, Ctrl + R, Ctrl + Alt + J ja F12. Tee niin, että pohjassa olevaa yhdistelmää ei tunnisteta, vain ensimmäinen näpäytys.
- Vinkki: komennot KeyHit, KeyDown
Tehtävä b6
- Tee ohjelma, joka tekee tilekartan ilman, että sitä ladataan mistään tiedostosta. Kartassa tulee olla ainakin yksi animoitu seinä tai lattialaatta. Kartta animoidaan joka puoles sekunti. Käytettävällä tilesetillä ei ole rajoituksia.
- Vinkki: komennot MakeMap, EditMap, SetTile, PaintObject, PlayObject
Tehtävä b7
- Tee ruohonleikkuripeli. Alussa on vihreä nurmikenttä (tilemap). Pelaaja liikuttaa ruohonleikkuria nuolinappuloilla ja leikkurilla on 4 eri suuntaa. Ajetut ruudut muuttuvat ruskeiksi. Pelin pääsee läpi kun koko nurmikenttä on kokonaan ajettu. Pelaamista vaikeuttavat kaksi ruudun reunoista kimpoilevaa, vinottain liikkuvaa palloa. Jos pallo osuu leikkuriin, peli on menetetty. Käytä kuvia.
Vaikeat
[muokkaa | muokkaa wikitekstiä]Tehtävä c1
- Kirjoita ohjelma, jossa ohjataan pientä pistettä tai palloa ruudulla nuolinäppäimien avulla. Jos jompikumpi SHIFT-painike on alhaalla, kohde liikkuu nelinkertaisella nopeudella. Saat kirjoittaa vain yhden koodirivin. Et saa myöskään käyttää ehtolauseita.
Tehtävä c2
- Kirjoita ohjelma, jossa käyttäjä voi piirtää viivan pisteestä A pisteeseen B. Piirtäminen osoitetaan hiirellä. Viivan paksuus tulee olla 11 pikseliä.
Tehtävä c3
- Tee ylhäältä kuvattu peli, jossa on tilekartta, ja yksi botti-vastustaja. Aseita tulee olla vähintään neljä: instant-hit-pistooli, plasmakivääri, liekinheitin ja raketti. Raketilla voit tuhota seiniä.
Tehtävä c4
- Tee ylhäältä kuvattu autopeli, jossa autoa ohjataan nuolilla. Kentässä on sen verran vähän kitkaa, että auto luisuu hieman mutkissa. Sivuliirrossa soitetaan vonkuvien renkaiden ääni, ja lisätään savu-efekti. Pelissä ajetaan 3 kierrosta, ja kentässä on kaksi checkpointia, joiden läpi pelaajan täytyy kulkea järjestyksessä, jotta kierros hyväksyttäisiin. Jokaisen kierroksen jälkeen mitataan väliaika ja sitä verrataan radan ennätykseen. Ennätyksen sattuessa se tallennetaan tekstitiedostoon. Aikojen täytyy olla sekunnin tuhannesosan tarkkuudella. Juokseva kierrosaika näytetään ruudulla sekunteina ja kymmenesosasekunteina.
Tehtävä c5
- Tee sivulta kuvattu peli Worms-tyyliin. Kenttä koostuu kuvasta, jonka "päällä" pelaajat voivat liikkua. Pelaajia on 6, eli 3 kummassakin joukkueessa. Peli on vuoropohjainen. Pelaajat voivat liikkua ja hyppiä kentissä. Kentän alalaidassa on vettä, johon tippuminen vie pelaajan energian välittömästi nollaan. Tee peliin ainakin neljä asetta: sinko, kranaatti (joka pomppii maastosta) sekä dynamiitti ja teleportti. Kameraa voi liikuttaa hiirellä. Räjähdykset muokkaavat maastoa ja voivat lennättää pelaajia ympäriinsä.
Tehtävä c6
- Tee sivulta kuvattu parallax scroller. Eli alus, joka tuhoaa ruudun toisesta reunasta pursuavia vihollismassoja. Pelistä pitäisi saada visuaalisesti erittäin upea (ammuksia ruudulla koko ajan väh. 10). Käytä partikkelilähteitä luovasti.