Pyydä täällä harjoitustehtäviä

Voit pyytää apua ohjelmointiongelmiin täältä.
Character
Active Member
Posts: 113
Joined: Thu Nov 27, 2008 3:16 pm

Re: Pyydä täällä harjoitustehtäviä

Post by Character » Sat Jan 31, 2009 8:51 pm

Edit: En tarvitsekaan..
Last edited by Character on Sat Apr 04, 2009 10:51 am, edited 2 times in total.

User avatar
Wingman
Devoted Member
Posts: 594
Joined: Tue Sep 30, 2008 4:30 pm
Location: Ruudun toisella puolella

Re: Pyydä täällä harjoitustehtäviä

Post by Wingman » Wed Feb 04, 2009 7:10 pm

CB:ssä tasoni on ehkä 1 ja minun pitäisi kai harjoitella funtioita, kun en vielä oikein ymmärrä niitä :roll:
elikkäs joku funktiokikkailu, jossa saisin yrittää tehdä jonkun funktion tekemään jotain...
- - - -

User avatar
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Pyydä täällä harjoitustehtäviä

Post by temu92 » Wed Feb 04, 2009 7:34 pm

No teepä vaikka yksinkertainen sovellus joka tulostaa tekstiä funktioiden avulla. Oikeastaan voisin antaa vielä esimerkin siitä:

Code: Select all

Function TulostaTekstiä()
    Print "Tämä teksti on tulostettu funktiossa"
EndFunction
Kannattaa harjoitella myös Return-käskyä koska se on tärkeimpiä asioita funktiossa.

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: Pyydä täällä harjoitustehtäviä

Post by Jani » Wed Feb 11, 2009 9:27 pm

Itse tarttisin kirjaimmellisesti pientä tehtävää muistipaloista.
Taso... en tiedä mutta tässä niitä, mitä osaan: peruskomennot, funktiot, typet, taulukot...
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition

Sumppi
Active Member
Posts: 163
Joined: Wed Dec 03, 2008 9:07 pm

Re: Pyydä täällä harjoitustehtäviä

Post by Sumppi » Thu Apr 02, 2009 4:12 pm

Anteeksi nosto, mutta ei kai se minun vikani ole kun tarvitsen harjoitustehtävää nyt enkä 2 kuukautta sitten.

Saisinko harjoitustehtävän. Tasoni on luultavasti noin 3, ehkä vähän alle. Haluaisin harjoitella ainakin seuraavia asioita: typet, taulukot ja funktiot.
Grandi wrote:Sumpille piste. Jos nimimerkin m-kirjain muutetaan r:ksi, p-kirjain v:ksi ja 3 viimeistä kirjainta "vor":iksi, saadaan "survivor", eli suomeksi selviytyjä. Melkoinen yhteensattuma!

User avatar
otto90x
Advanced Member
Posts: 349
Joined: Mon Aug 27, 2007 9:00 pm
Location: Lapinjärvi, Finland
Contact:

Re: Pyydä täällä harjoitustehtäviä

Post by otto90x » Sat Apr 04, 2009 10:42 am

Tehtävänanto:

Viimeaikaisen talouskehityksen vuoksi Nakkilan nakkitehtaalla on tehtävä lomautuksia. Nakkitehtaan johtaja päättää selvittää keiden lomauttaminen tekisi tehtaan taloudelle suurimmat säästöt. Työnjohtajat ovat keränneet listan työntekijöiden suhteellisesta työtehosta ja palkkauksesta. Kiireisellä nakkitehtaan johtajalla ei kuitenkaan ole aikaa laskea näitä käsin vaan hän pyytää sinua tekemään ohjelman, jolla voidaan selvittää kenet tulee lomauttaa ja ketkä saavat jatkaa työskentelyä. Nakkitehtaan tulee pienentää palkkakulunsa (korkeintaan) 7000 euroon kuukaudessa maksimoiden työntekijöistä saatava työteho.

Toteutus:

Tee työntekijöille oma tyyppikokoelma, jossa on nimi, palkka ja työteho erillisinä muuttujina. Tee funktio joka laskee kenet tulee lomauttaa ja ketkä saavat jatkaa työskentelyä nakkien parissa. Järjestä lomautettavat siten että vähiten tehokkain palkkaukseen suhteutettuna on listassa ensimmäisenä (lomautetaan ensin) ja tehokkain palkkaukseen nähden on listassa viimeisenä. Tulosta tämä lista ruudulle.

Työntekijälista:

Code: Select all

Nimi                Kuukausipalkka      Suhteellinen työteho
Liisa Lillunen      1550€               88%
Taina Tehokas       2800€               99%
Jallu Junttura      2490€               52%
Tarmo Tuppurainen   3120€               23%
Timo Timperi        1800€               45%
Nelli Nakinsyöjä    2100€               10%
Neiti Näpsä         3100€               76%
Miina Harava        2830€               63%
Toivottavasti ei ole liian haastava tai liian helppo.
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.

User avatar
Ilkka
Active Member
Posts: 201
Joined: Mon Oct 08, 2007 8:01 am

Re: Pyydä täällä harjoitustehtäviä

Post by Ilkka » Thu Apr 16, 2009 9:23 pm

Menny vähä alas mutta, ei kai haittaa. Tasoni ehkä 1-2 osaan Peruskomennot hyvin ja Objectit & Typet jotenkuten. Haluaisin oppia typet paremmin.
Image

User avatar
otto90x
Advanced Member
Posts: 349
Joined: Mon Aug 27, 2007 9:00 pm
Location: Lapinjärvi, Finland
Contact:

Re: Pyydä täällä harjoitustehtäviä

Post by otto90x » Fri Apr 17, 2009 12:30 am

Värikäs wrote:Menny vähä alas mutta, ei kai haittaa. Tasoni ehkä 1-2 osaan Peruskomennot hyvin ja Objectit & Typet jotenkuten. Haluaisin oppia typet paremmin.
Tässäpä helpohko tyyppiharjoitus.

Tehtävänanto:

Mellunjoen mehustamolla tietokoneen ohjastama robottikäsi on mennyt sekaisin saatuaan sähköpostia keittopuolen sähköiseltä mehumaijalta. Tästä syystä robottikäsi tiputtelee hedelmiä ympäri ämpäri pöytiä. Koska robottikäden korjauskustannukset ovat liian suuret on mehustamon johtoporras päättänyt korvata robottikäden tilapäisesti työkkäristä hankituilla työttömillä ihmisillä. Johtoportaan epäonneksi kaikki hankitut työntekijät havaittiin sokeiksi, mutta heitä ei uskallettu irtisanoa näkövaikeuksiensa tähden mahdollisesti irtisanomisista nousevien syrjintäoikeudenkäyntien pelossa. Koska sokeat ihmiset vaarallisen työn vaatimine paksuine työhansikkaineen eivät erota omenaa appelsiinista saat tehtäväksesi rakentaa (ohjelmoida) laitteen, joka laskee oikeissa koreissa olevat hedelmät ja ilmoittaa kun kaikki hedelmät ovat oikeissa koreissa. Näin sokeat työntekijät tietävät, milloin he lopettavat hedelmien satunnaisen siirtelyn.

Toteutus:

- Vihreässä omenakorissa olevien omenoiden määrän ilmaisemiseen käytetään muuttujaa omenoita.
- Sinisessä appelsiinikorissa olevien appelsiinien määrän ilmaisemiseen käytetään muuttujaa appelsiineja.
- Ilmoitus kaikkien hedelmien oikeissa koreissa olemisesta tapahtuu komennon MakeError välityksellä.

Vinkkejä:

- Mehustamon käyttämät omenat ovat punaisia ja appelsiinit oransseja.
- Testausta varten voit liikutella hedelmiä. Hedelmä poimitaan hiiren vasemmalla painikkeella ja lasketaan alas oikealla painikkeella.
- Laskemalla hedelmän etäisyyden korin keskipisteeseen saat selville onko hedelmä korin sisä vai ulkopuolella. Korien halkaisijat ja keskipisteet saat päätellä korien piirtokoodista.

Tässä koodi jonka pohjalta rakennat ohjelmasi. Sille on merkitty koodissa oma paikka.

Code: Select all

SCREEN 800,600

Type Hedelmä
    Field obj
    Field nimi$
End Type

//luodaan isäntäobjektit ja piilotetaan ne
isäntäomena = MakeObject()
ShowObject isäntäomena,OFF
isäntäappelsiini = MakeObject()
ShowObject isäntäappelsiini,OFF

//luodaan kuvat
omenakuva = MakeImage(20,20)
appelsiinikuva = MakeImage(20,20)

//piirretään kuviin 
DrawToImage omenakuva
    Color cbred
    Circle 0,0,20,1
DrawToImage appelsiinikuva
    Color cborange
    Circle 0,0,20,1
DrawToScreen

//maalataan isäntäobjektit

PaintObject isäntäomena,-omenakuva
PaintObject isäntäappelsiini,-appelsiinikuva


//Luodaan kasa hedelmiä

For i=1 To 20
    h.hedelmä=New(hedelmä)
    
    If Rand(1) Then 
        h\obj=CloneObject(isäntäomena)
        h\nimi$ = "omena"
    Else
        h\obj=CloneObject(isäntäappelsiini)
        h\nimi$ = "appelsiini"
    EndIf
    
    PositionObject h\obj,Rand(-150,150),Rand(-150,150)
    
Next i

Repeat

    // Korien piirto
    // omenakori
    Color 0,255,0
    Circle 0,400,200,0
    //appelsiinikori
    Color 0,0,255
    Circle 600,0,200,0

    
    For h.hedelmä=Each hedelmä
        //hedelmän valinta
        If distance(MouseWX(),MouseWY(),ObjectX(h\obj),ObjectY(h\obj))<10 And MouseHit(1) Then valittuhedelmä = ConvertToInteger(h)
    Next h
    
    //valitun hedelmän liikutus
    If valittuhedelmä Then
        h.hedelmä = ConvertToType (valittuhedelmä)
        PositionObject h\obj,MouseWX(),MouseWY()
        If MouseHit(2) Then valittuhedelmä = 0
    EndIf
    
    
    //---------------------Tee tänne koreissa olevien hedelmien laskukoodi---------------------
    
    
    
    
    
    
    
    //Käytä muuttujaa omenoita sekä muuttujaa appelsiineja oikeissa koreissa olevien hedelmien määrän ilmoittamiseen
    
    DrawGame
    
    Color cbwhite 
    Text 0,370,"Omenakori: "+omenoita+" omenaa korissa."
    Text 480,220,"Appelsiinikori: "+appelsiineja+" appelsiinia korissa."
    
    //-----------------------------------------------------------------------------------------
    
    DrawScreen

Forever
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.

Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Pyydä täällä harjoitustehtäviä

Post by Awaclus » Fri Apr 17, 2009 8:07 am

Ozcar wrote:@Chaosworm:

Tähän paras lääke on, aivan, täydellisen perus putkiräiskintä. Liikutat hahmoa, ammut alati lähestyviä vihollisia ja napsit ehkä pisteitäkin. Kokeileppa, purkalla pääsee tässä todella pitkälle.

Vaikeus: 1

Suosituksia:
- Kartan tulisi olla suurempi kuin ruudun koko, ja kameran tulee seurata pelaajaa. Tilekenttien käyttäminen on mahdollista, mutta ensin kannattaa luoda yksinkertainen ruohomatto jolla leikkiä.
- Aseita tarvitsee olla vain yksi (pistooli), mutta muiden teko voi olla opettavaista. Esmes haulikko lienee hyvä opin lähde.
- Vihollisilla tulee olla simppeli tekoäly. Edes niin, että ne kääntyvät jatkuvasti pelaajaa kohden ja rynnistävät päin näköä.
- Opettele heti alkuun käyttämään joko taulukoita tai tyyppejä vihulaumojen hallintaan. Loputtomien vihollisaaltojen luominen uusia muuttujia tekemällä lienee tuskallista, joten taulukointi on erittäin suositeltavaa.

Kokeile toki =) älä kurota kuuseen ihan vielä, vaan aloita askel kerrallaan. Miten saat hahmon liikkumaan miten haluat? Miten saat hahmon ampumaan nappia painettaessa (spawnaamaan luodin ja sen jälkeen liikuttamaan luotia joka loopissa)? Miten luot ensin yhden vihollisen joka seuraa hahmoa? Miten sovellat tätä vihua kunnon lauman luontiin? Miten saat viholliset tapettua. Yksi osa-alue kerrallaan.
Tämmöinen tehtävä minulle annettiin, ja projekti on jo pitkällä. Varmaan sujuu sinultakin.

Nassi_Setä
Advanced Member
Posts: 281
Joined: Sat Jun 28, 2008 5:19 pm
Location: Hämeessä miä

Re: Pyydä täällä harjoitustehtäviä

Post by Nassi_Setä » Fri Apr 17, 2009 1:39 pm

olisiko tekstipeli mitään?
\../(-_-)\../ <---klick MyBrute Image
Jotain evilii on tekeillä....

User avatar
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Pyydä täällä harjoitustehtäviä

Post by SPuntte » Sat Apr 18, 2009 2:42 pm

Bajaxooo wrote:Omat taitoni ovat 0.5 luokkaa. Printin osaan jotenkuten, mutta siihenpä se sitten jääkin. Eli sellaisia harjoitustehtäviä, joilla voi opetella CB. Manuaali taas on liian vaikeakielinen aloittelijalle/mulle, vaikka olisikin ennen koodannut. (Zero, pistäs korvan taakse tämä!)

PS. Osaan myös hiukan VB, joka saattaa ehkä auttaa tässä. Muuttujan osaan heikosti tehdä.
Jos manuaalin selkeää ja laadukasta suomen kieltä ei muutaman lukukerrankaan jälkeen ymmärrä, en voi muuta sanoa, kuin että odota pari vuotta ja kokeile siten uudestaan. Yleisin ongelma on, että turhan nuorena on turhan suuria unelmia, joiden toteuttamiseen ei vielä oma älli lähellekään riitä. Myös "mulle kaikki heti" -asenne kannattaa suoraan unohtaa. Oppiminen vaatii nöyryyttä ja uhdasta työntekoa. Koodaamaan oppii vain koodaamalla, joten kokemus on se, joka opettaa.

Jos edelleen kuitenkin uskot olevasi potentiaalinen koodari, avaa CB:n manuaali "Perusteet"-osiosta ja lue, kunnes eteen tulee jotain, mitä et ymmärrä. Pysähdy. Lue kyseinen virkee uudestaan. Mikä estää ymmärtämisen? Jokin vieras sana? Palaa manuaalin etusivulle, klikkaa itsesi Sanakija-osaan ja katso löytyykö sieltä selvennystä. Myös manuaalin hakutoiminto on ystäväsi. Jos ei nappaa, etsi sanalle selitystä googlesta, wikipediasta tai suomen kielen (sivistys)sanakirjasta. Jos ei vieläkään tärppää, kysy aiheesta vaikkapa täällä Tyhmät kysymykset-ketjussa. CB:n manuaalissa tuskin on sanaa, jota kukaan täällä ei osaisi selittää.

Kun olet sisäistänyt johdatuksen ohjelmoinnin perusteisiin, seuraava askel lienee oppitunnit, jotka saat eteesi painamalla editorissa F8. Oppituntikoodien muokkaaminen on ehkä helpoin tapa tutustua CB:llä ohjelmointiin. Muokkaa lukuarvoja tai merkkijonoja, lisää komentoja jne. Siirry seuraavaan tuntiin vasta, kun olet ymmärtänyt edellisen toiminnan läpikotaisin. Oppituntien yhteydessä on kattavat selvitykset koodista, mutta jos jokin jää silti epäselväksi, voit jälleen tutkiskella manuaalin sanastoa ja perusasioita. Jos jokin tietty komento tai funktio aiheuttaa harmaita hiuksia, lukaise kyseinen sivu manuaalista: klikkaa kursori vilkkumaan komennon päälle ja paina F1. Kaikille varatuille sanoille ei ole erillistä sivua manuaalissa, joten siinä tapauksessa voit vilkaista, mitä editorin tilarivi ikkunan alareunassa ilmoittaa kyseisen sanan kohdalla tai käyttää manuaalin hakua.

Käytyäsi läpi ainakin muutaman oppitunnin voit kokeilla, mitä itse saisit aikaan. Voit ihan itse kehittää jotain ideaa, katsoa manuaalin helpoimpia harjoituksia, tai kysyä täältä. Tärkeimmät komennot, mitä aluksi tarvitset, ovat tekstin tulostus (Print, Text ja Addtext) ja ruudun päivitys DrawScreen-komennolla. Seuraavaksi kannattaa ottaa mukaan erilaisia muuttujia (kokonaisluvut, desimaaliluvut ja merkkijonot). Sitten silmulkat (Repeat...Forever/Until *ehto*) ja ehtolauseet (If *ehto* Then...Elseif *ehto* Then...Else...EndIf). Kun nämä ovat hallinnassa, ota kurssi kohti piirtokomentoja (Dot, Line, Circle, Box, jne.) Niillä saat jo yksinkertaista grafiikkaa aikaan. Seuraavaksi lisätään ohjelmaan interaktiivisuus, eli käyttäjälle mahdollisuus vaikuttaa sen kulkuun. Kyseeseen tulevat siis erilaiset syötefunktiot (Input, KeyHit(), Keydown(), MouseHit(), mouseDown(), MouseX(), MouseY(), jne.). Tästä eteenpäin pärjäät jo varmasti itseksesi. Voit kokeilla vaikeampia oppitunteja ja kokeilla, miten tehokkaasti CB:llä voi piirtää kuvia, soittaa ääntä, luoda partikkeleita ja tehdä kokonaisen pelimoottorin muutamalla objektilla ja tilekartoilla.

Alku on kuitenkin tärkein, ilman vankkaa perustusta mikä tahansa talo vajoaa, kallistuu tai romahtaa kokonaan. Sama pätee mihinn tahansa oppimiseen. Jos edellä kuvailtu tapa ei tuota tulosta, olet joko toivoton tapaus tahi laiska. Jos minulta kysytään, vastaus on käytännössä aina jälkimmäinen. En tarkoita mitäään tässä viestissä sanomaani henkilökohtaisesti tai loukkaavasti. Haluan vain tehdä selväksi sen, että jos haluat oppia jotakin, kukaan muu ei voi tehdä puolestasi sitä työtä. Siispä hus hommiin siitä ja ei muuta kuin tsemppiä ja pitkiä hermoja ;)

P.S. Typoista (alias kirjoitusvirheistä) heitän syyt suoraan EeePC 901:n miniatyyrinäpäimistön niskaan, eli älkää va/älittäkö niistä.
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES

CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX

User avatar
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Pyydä täällä harjoitustehtäviä

Post by koodaaja » Sat Apr 18, 2009 10:03 pm

Dokumentaatiot ovat lähes poikkeuksetta tylsän konemaista tekstiä, koska niiden pointtina on vain saada tarvittava info käyttäjälle. CB:n kohdalla ei edes ole näin, vaan manuska on jokseenkin mielenkiintoisesti kirjoitettu.

Ja mitä ovat nämä "perusjutut"? Siis ehto- ja silmukkarakenteet, muuttujat, taulukot yms.?

User avatar
jesperx96
Active Member
Posts: 190
Joined: Sun Nov 23, 2008 10:35 am
Location: Lappajärvi

Re: Pyydä täällä harjoitustehtäviä

Post by jesperx96 » Mon Apr 27, 2009 4:39 pm

Minä tarvisin harjoitustehtävän. Tasoni on ehkä 1, tai alle. Osaan vain manuaalien 1-10 asiat kunnolla, muita en ole kunnolla sisäistänyt, vaikka olenkin lukenut ne ja käyttänyt niihin aikaa. Haluaisin oppia typet, en siis osaa niitä ollenkaan.

Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Pyydä täällä harjoitustehtäviä

Post by Awaclus » Mon Apr 27, 2009 6:23 pm

jesperx96 wrote:Minä tarvisin harjoitustehtävän. Tasoni on ehkä 1, tai alle. Osaan vain manuaalien 1-10 asiat kunnolla, muita en ole kunnolla sisäistänyt, vaikka olenkin lukenut ne ja käyttänyt niihin aikaa. Haluaisin oppia typet, en siis osaa niitä ollenkaan.
Tyypit toimii näin.

Oletetaan, että haluaisit tehdä tyypeillä lauman lampaita, jotka näyttävät valmismediassa olevilta lehmiltä. Se tehtäisiin näin:

1.

Code: Select all

Type lampaat
    Field obj
EndType
Luodaan kokoelma lampaat. Kokoelmassa on X määrä jäseniä, ja jokaisessa jäsenessä on yksi kenttä, jonka nimi on obj. Voit korvata sanat lampaat ja obj millä sanoilla vain tahdot.

Osaat varmaan sen, kun kirjoitetaan "lammas = LoadObject ("Media\cow.bmp, 72")". Tämä siis latasi objektin tuollaisella kuvalla ja kääntyvyydellä, ja se tallennettiin muuttujana, jonka nimi on lammas. Jokaisen jäsenen kenttä on myöskin muuttuja; eli siis niihin voi ladata objekteja ihan samalla tavalla.

2.

Code: Select all

lammas_master = LoadObject ("Media\cow.bmp", 72)
ShowObject lammas_master, OFF 'Master-obketia ei tahdota näyttää -> piilotetaan se.

newLammas.lampaat = New (lampaat) ' Nyt käsitellään uutta tyyppikokoelman jäsentä nimellä newLammas.
newLammas\obj = CloneObject (lammas_master) ' Nyt kloonattiin lehmän näköinen lammas_master uuden jäsenen kenttään obj. Nyt se on objekti, se käyttäytyy, ääntelehtii ja kävelee, kuten objekti.
Luotiin kokoelmaan yksi jäsen. Sen nimi oli väliaikaisesti newLammas, ja sen kenttään obj ladattiin objekti.

3.

Code: Select all

For iLammas.lampaat = Each lampaat 'Jokaista lampaat kokoelman jäsentä kohtaan, sen jäsenen nimi on väliaikaisesti iLammas ja sitten tehdään jotain.
    MoveObject iLammas\obj, 5 ' liikutetaan lammasta
Next iLammas 'Siirrytään seuraavaan iLampaaseen, jolle tehdään tuo sama.
Näin käsiteltiin tyyppejä jäsen kerrallaan, mutta kaikkia kerralla.

Oliko oppaastani mitään hyötyä?

Jos oli, niin annanpa sinullekin tämän aloittelijoille varsin sopivan tehtävän, jotta pääset kokeilemaan oppeja.
Ozcar wrote:@Chaosworm:

Tähän paras lääke on, aivan, täydellisen perus putkiräiskintä. Liikutat hahmoa, ammut alati lähestyviä vihollisia ja napsit ehkä pisteitäkin. Kokeileppa, purkalla pääsee tässä todella pitkälle.

Vaikeus: 1

Suosituksia:
- Kartan tulisi olla suurempi kuin ruudun koko, ja kameran tulee seurata pelaajaa. Tilekenttien käyttäminen on mahdollista, mutta ensin kannattaa luoda yksinkertainen ruohomatto jolla leikkiä.
- Aseita tarvitsee olla vain yksi (pistooli), mutta muiden teko voi olla opettavaista. Esmes haulikko lienee hyvä opin lähde.
- Vihollisilla tulee olla simppeli tekoäly. Edes niin, että ne kääntyvät jatkuvasti pelaajaa kohden ja rynnistävät päin näköä.
- Opettele heti alkuun käyttämään joko taulukoita tai tyyppejä vihulaumojen hallintaan. Loputtomien vihollisaaltojen luominen uusia muuttujia tekemällä lienee tuskallista, joten taulukointi on erittäin suositeltavaa.

Kokeile toki =) älä kurota kuuseen ihan vielä, vaan aloita askel kerrallaan. Miten saat hahmon liikkumaan miten haluat? Miten saat hahmon ampumaan nappia painettaessa (spawnaamaan luodin ja sen jälkeen liikuttamaan luotia joka loopissa)? Miten luot ensin yhden vihollisen joka seuraa hahmoa? Miten sovellat tätä vihua kunnon lauman luontiin? Miten saat viholliset tapettua. Yksi osa-alue kerrallaan.
Tämä tehtävä minulle annettiin, ja juuri ilmestynyt Zombie Killa on tehtävän tuloksen betaversio, ja opin tosi paljon.

User avatar
jesperx96
Active Member
Posts: 190
Joined: Sun Nov 23, 2008 10:35 am
Location: Lappajärvi

Re: Pyydä täällä harjoitustehtäviä

Post by jesperx96 » Tue Apr 28, 2009 6:42 pm

Kiitos. Oppaasi oli hyödyllinen.
We see the lines in chalk
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days

Nasse-setä
Member
Posts: 54
Joined: Fri Apr 03, 2009 8:12 pm
Location: Loviisa

Re: Pyydä täällä harjoitustehtäviä

Post by Nasse-setä » Sat May 02, 2009 2:12 am

SPuntte wrote:
Bajaxooo wrote:Omat taitoni ovat 0.5 luokkaa. Printin osaan jotenkuten, mutta siihenpä se sitten jääkin. Eli sellaisia harjoitustehtäviä, joilla voi opetella CB. Manuaali taas on liian vaikeakielinen aloittelijalle/mulle, vaikka olisikin ennen koodannut. (Zero, pistäs korvan taakse tämä!)

PS. Osaan myös hiukan VB, joka saattaa ehkä auttaa tässä. Muuttujan osaan heikosti tehdä.
Jos manuaalin selkeää ja laadukasta suomen kieltä ei muutaman lukukerrankaan jälkeen ymmärrä, en voi muuta sanoa, kuin että odota pari vuotta ja kokeile siten uudestaan. Yleisin ongelma on, että turhan nuorena on turhan suuria unelmia, joiden toteuttamiseen ei vielä oma älli lähellekään riitä. Myös "mulle kaikki heti" -asenne kannattaa suoraan unohtaa. Oppiminen vaatii nöyryyttä ja uhdasta työntekoa. Koodaamaan oppii vain koodaamalla, joten kokemus on se, joka opettaa.
Mulla oli nuorempana toi mulle kaikki heti-asenne, kiinnostus loppu ja lopetin eli tein tavallaan mitä neuvoit ja nau aim bak agen!
Osallistu suuren tilastoon -> viewtopic.php?f=13&t=1756

User avatar
kaneli2000
Guru
Posts: 1059
Joined: Mon Mar 17, 2008 3:40 pm
Location: Lempäälä

Re: Pyydä täällä harjoitustehtäviä

Post by kaneli2000 » Sat May 02, 2009 10:06 pm

Funktioita tarttis kait harjoitella. Antakaapas jotain kivaa?
I see the rainbow rising

User avatar
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm
Contact:

Re: Pyydä täällä harjoitustehtäviä

Post by Koodiapina » Sun May 03, 2009 12:24 am

Etsi käsiisi joku wanha projektisi ja jaottele sen koodi funktioihin.
Olen liian älykäs ollakseni väärässä. Jos olet kanssani eri mieltä, suosittelen sinua pohtimaan omaa elämänkatsomustasi ja sen perusteita.

User avatar
Bambi
Member
Posts: 87
Joined: Sat Nov 24, 2007 1:51 pm

Re: Pyydä täällä harjoitustehtäviä

Post by Bambi » Thu Jun 25, 2009 9:04 pm

Nyt tarvis jonku hauskan tehtävän. Oiskohan taso jo jotain 3.5. :D Osaan tyypit, partikkelit, funktiot ja sen semmoset. Erityisesti tahtoisin oppia tuota optimointia, tilekarttojen tekoa ja tekstitiedostojen hyödyntämistä.

Edit: kiitos Ozcarille tehtävästä! Peli on jo hyvässä vaiheessa ja oppinu vaikka mitä jo. :)
Last edited by Bambi on Fri Jul 03, 2009 4:29 pm, edited 1 time in total.

User avatar
Ozcar
Advanced Member
Posts: 439
Joined: Mon Aug 27, 2007 8:43 pm
Location: Helsinki

Re: Pyydä täällä harjoitustehtäviä

Post by Ozcar » Mon Jun 29, 2009 1:47 pm

No tässäpä olisi bambille yksi: kokeileppa tehdä pientä tasohyppelyä keskittyen siihen, että lataustauot ovat mahdollisimman pienet esim. kenttää vaihtaessa. Tässä ei puhuta nyt mistään millisekuntiluokasta vaan vain omasta kokemuksesta, kun joissain vanhemmissa projekteissani kestää kentän vaihto täysin turhat kolme sekuntia kun samat objektit tuhotaan ja ladataan uudelleen.

Tätä hypähtelyä varten teet tietysti kartat itse ja annat mahdollisuuden pikatallennuksiin, jossa esimerkiksi vain näppäintä painamalla peli tallentaa missä tasossa olet millä pisteillä ja elämillä sekä muun tarpeellisen tilpehöörin. Nämä täytyy myös saada pelistä ulos, eli tallennettu peli täytyy myös pystyä lataamaan. Jos kaipaat lisää haastetta ja haluat tutustua tehokkaammin tilekarttojen käyttöön ja varsinkin muihinkin kerroksiin kuin siihen keskimmäiseen, ala lisäillä seuraavia:

- vihollisia, jotka sijoitetaan karttaan datakerroksen mukaisesti (tähän löytynee foorumeilta muutamia käteviä funktioitakin, mutta yritä oivaltaa itse)
- koristeita kenttien sivuille (keksi omasta mielestäsi paras tapa toteuttaa tämä muuten kuin tilekarttaan suoraan tilenä piirtämällä)
- tee salakäytäviä ja muita härpäkkeitä kenttiin, joita pelaajan on etsittävä (haaste siis tulee karttoja tehtäessä siitä, että keksit hyvät piilotustavat)
- tee peliin skriptattuja tapahtumia, esimerkiksi pelihahmon kävellessä tietyn pisteen ohi takana oleva ovi menee kiinni eikä enää aukea
- oma törmäyksentarkistus peliin (vaativa, mutta kovin opettavainen projekti)

Eiköhän noilla päästä alkuun ja opita haluamasi asiat melko perusteellisesti. Koodauksen iloa!
Ratkaisit juuri universaaliongelman! Hienoa, ota keksi.

Filosofia on ajattelun taidetta, mutta sen maalari elää juoden apurahojaan masennukseensa.

Post Reply