Pyydä täällä harjoitustehtäviä
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: Pyydä täällä harjoitustehtäviä
Tee brainfuck-tulkki. Homma voi ensin vaikuttaa vaikealta, mutta oikeasti kyseessä on täysin aloittelijalle sopiva tehtävä
Re: Pyydä täällä harjoitustehtäviä
en osaa tehdä tulkkiaGrandi wrote:Tee brainfuck-tulkki. Homma voi ensin vaikuttaa vaikealta, mutta oikeasti kyseessä on täysin aloittelijalle sopiva tehtävä
haluan tehtäväks jonku aika helpon ohjelman arvosanani on 1
Last edited by jaahas on Sun Feb 21, 2010 7:17 pm, edited 1 time in total.
Re: Pyydä täällä harjoitustehtäviä
Keksiskö joku jotain, 1 - 10 tunnissa tehtävää ohjelmaa/peliä ( Mielummin peliä. ) minkä voisin tehdä. Ja Galgometrihän ilmoitti luvuksi 3.75
Re: Pyydä täällä harjoitustehtäviä
Tetris...?
Laitat hienoja effektejä mukaan.
Ylösnuoli: Kääntää blockia
Alas: nopeuttaa blockkia
Sivutnuolet: liikuttaa
Erikois räjähdykset jos koko rivi on samaa väriä ja samalla boonus pisteet.
Seuraava palikka näkyy ennalta...
Tuollaista peliä.
Laitat hienoja effektejä mukaan.
Ylösnuoli: Kääntää blockia
Alas: nopeuttaa blockkia
Sivutnuolet: liikuttaa
Erikois räjähdykset jos koko rivi on samaa väriä ja samalla boonus pisteet.
Seuraava palikka näkyy ennalta...
Tuollaista peliä.
Re: Pyydä täällä harjoitustehtäviä
olisko mulle jotain parin tunnin tehtävää algometristä 1 arvosanaksi (mieluiten tehtäväks joku ohjelma)
Re: Pyydä täällä harjoitustehtäviä
Tuli tylsää...Grandi wrote:Tee funktio joka piirtää ruudulle minkä tahansa kokoisen suorakulmion jossain kulmassa 0-360. Ensimmäiset parametrit, x ja y, määrittävät suorakulmion keskipisteen. Rect360 (x, y, w, h, Angle)
Tehtävä on siis koodattava line-komennon avulla. Kuvien, objektien tai muiden kikkojen käyttäminen olisi vain itsensä pettämistä.
Neliöt ovat suorakulmiota....
Code: Select all
Angle=Rand(0,359)
Repeat
If GetKey() Then
Ong=150
Angle=Rand(0,359)
EndIf
Neliö(Angle)
Text 0,0,"Angle is:"+Angle
DrawScreen
Forever
Function Neliö(Angle)
Line 200+Cos(angle)*20,150-Sin(angle)*20,150+Cos(angle-90)*20,150-Sin(angle-90)*20
Line 150+Cos(angle-90)*20,150-Sin(angle-90)*20,150+Cos(angle-180)*20,100-Sin(angle-180)*20
Line 150+Cos(angle-180)*20,100-Sin(angle-180)*20,200+Cos(angle+90)*20,100-Sin(angle+90)*20
Line 200+Cos(angle+90)*20,100-Sin(angle+90)*20,200+Cos(angle)*20,150-Sin(angle)*20
Return Angle
EndFunction
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: Pyydä täällä harjoitustehtäviä
Ei toimi oikein. Jos haluat nähdä toimivan ratkaisun, katso tänne. Tuokin tosin vain neliöille.
Kokeile CoolBasicin manuaalin tehtäväosion helppoja tehtäviä.jaahas wrote:olisko mulle jotain parin tunnin tehtävää algometristä 1 arvosanaksi (mieluiten tehtäväks joku ohjelma)
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Pyydä täällä harjoitustehtäviä
Itse löysin tällaisen kovon kätköistä - näyttäisi toimivan kaksiulotteisen pyöritysmatriisin avulla.
Code: Select all
Function drawbox(x, y, w, h, ang#)
cw = Cos(ang#)*w/2.0: ch = Cos(ang#)*h/2.0: sw = Sin(ang#)*w/2.0: sh = Sin(ang#)*h/2.0
Line x + cw - sh, y + sw + ch, x - cw - sh, y - sw + ch
Line x - cw - sh, y - sw + ch, x - cw + sh, y - sw - ch
Line x - cw + sh, y - sw - ch, x + cw + sh, y + sw - ch
Line x + cw + sh, y + sw - ch, x + cw - sh, y + sw + ch
EndFunction
w = 40
h = 30
Repeat
w = w + (RightKey()-LeftKey())
h = h + (UpKey()-DownKey())
ang = wrapangle(ang + (MouseDown(2)-MouseDown(1)))
drawbox(MouseX(), MouseY(), w, h, ang)
DrawScreen
Forever
Re: Pyydä täällä harjoitustehtäviä
En tiennyt äsken mikä oli wrapangle... =P Laitan omaani toimimaan juuri joten en katso tuota... Muistaa paremmin miten komennot toimivat jos koodaa itse...Grandi wrote:Ei toimi oikein. Jos haluat nähdä toimivan ratkaisun, katso tänne. Tuokin tosin vain neliöille.
Kokeile CoolBasicin manuaalin tehtäväosion helppoja tehtäviä.jaahas wrote:olisko mulle jotain parin tunnin tehtävää algometristä 1 arvosanaksi (mieluiten tehtäväks joku ohjelma)
Edit:
Ei tässä taidettu wrapanglea tarvitakkaan no nyt toimii omani.
Code: Select all
Angle=Rand(0,359)
Repeat
If GetKey() Then
Ong=150
Angle=Rand(0,359)
EndIf
Neliö(angle)
Text 0,0,"Angle is:"+Angle
DrawScreen
Forever
Function Neliö(angle)
Color 255,0,0
Line 200+Cos(WrapAngle(angle))*20,150-Sin(WrapAngle(angle))*20,200+Cos(WrapAngle(angle-90))*20,150-Sin(WrapAngle(angle-90))*20
Color 0,255,0
Line 200+Cos(WrapAngle(angle-90))*20,150-Sin(WrapAngle(angle-90))*20,200+Cos(WrapAngle(angle-180))*20,150-Sin(WrapAngle(angle-180))*20
Color 255,0,255
Line 200+Cos(WrapAngle(angle-180))*20,150-Sin(WrapAngle(angle-180))*20,200+Cos(WrapAngle(angle+90))*20,150-Sin(WrapAngle(angle+90))*20
Color 0,0,255
Line 200+Cos(WrapAngle(angle+90))*20,150-Sin(WrapAngle(angle+90))*20,200+Cos(WrapAngle(angle))*20,150-Sin(WrapAngle(angle))*20
Return Angle
EndFunction
Ohhoh kummasti ovat samanlaisia nuo funktiot... Noh samaa asiaa niillä tehdään...
Tässä on sitten hieno tapa käyttää tätä funktiota... Ja kaikki vielä tylsyyttäni yhdellä rivillä...
Code: Select all
Size=2: Repeat: Angle=WrapAngle(Angle+4): For i = 1 To 87: plus+1: sizer+2 :Neliö(angle+plus,size*sizer): Next i: Plus = 0: Sizer =0: DrawScreen: Forever: Function Neliö(angle,size): Color 135,135,135 : Line 200+Cos(WrapAngle(angle))*Size,150-Sin(WrapAngle(angle))*Size,200+Cos(WrapAngle(angle-90))*Size,150-Sin(WrapAngle(angle-90))*Size: Color 255,0,0: Line 200+Cos(WrapAngle(angle-90))*Size,150-Sin(WrapAngle(angle-90))*Size,200+Cos(WrapAngle(angle-180))*Size,150-Sin(WrapAngle(angle-180))*Size: Color 135,135,135: Line 200+Cos(WrapAngle(angle-180))*Size,150-Sin(WrapAngle(angle-180))*Size,200+Cos(WrapAngle(angle+90))*Size,150-Sin(WrapAngle(angle+90))*Size: Color 255,0,0: Line 200+Cos(WrapAngle(angle+90))*Size,150-Sin(WrapAngle(angle+90))*Size,200+Cos(WrapAngle(angle))*Size,150-Sin(WrapAngle(angle))*Size: Return Angle: Return Size: EndFunction
Re: Pyydä täällä harjoitustehtäviä
Minulle joku ehkä musiikkiin liittyvä tehtävä mielellään. Galgon tulos vaivaiset 3,25....
-
- Advanced Member
- Posts: 349
- Joined: Mon Aug 27, 2007 9:00 pm
- Location: Lapinjärvi, Finland
- Contact:
Re: Pyydä täällä harjoitustehtäviä
Tee musiikkisoitin, joka pystyy hakemaan käyttäjän valitsemasta kansiosta kaikki musiikkitiedostot ja listaamaan ne näytölle siten että listaa voi vierittää. Kappaleita voi soittaa painamalla kappaleen nimeä. Jos entinen kappale on vielä soimassa, tapahtuu kappaleen vaihto sulavasti ristiinhäivyttäen. Musiikin voimakkuutta voi säätää niinkuin vasemman ja oikean kanavan balanssia.
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.
Runoblogi, vuodatusta ja sekoiluja.
- wilizucoder
- Member
- Posts: 81
- Joined: Sat Sep 08, 2007 11:24 pm
- Location: Espoo
- Contact:
Re: Pyydä täällä harjoitustehtäviä
Voisko joku keksiä mulle harjotustehtävän, mielellään joku peli? Oma tasoni on 1-2, eli typet, muuttujat, ja melkeen kaikki cb-manuaalin perusjutut on hallussa lukuun ottamatta taulukoita ja funktioita. Joku sellanen tehtävä vois olla kiva, jossa joutuu käsittelemään suuria massoja, esim. vihuja.
Re: Pyydä täällä harjoitustehtäviä
Tee ohjelma joka lukee tiedostosta taulukkoon kaikki rivit funktiossa ja funktio palauttaa 1:sen jos onnistui, muuten 0.
Edit: Suuret massat = Suuri rivien määrä tiedostossa...
Edit: Suuret massat = Suuri rivien määrä tiedostossa...
-
- Advanced Member
- Posts: 349
- Joined: Mon Aug 27, 2007 9:00 pm
- Location: Lapinjärvi, Finland
- Contact:
Re: Pyydä täällä harjoitustehtäviä
Kiljulan kiljutehtaalla on 6 työnjohtajaa, 30 työläistä ja 50 orjaa. Työnjohtajat saavat palkkaa 5000€/kk, työläiset 2000€/kk ja orjat 10€/kk.
Kun taloustaantuma iskee ja Kiljulan kiljutehdas päättää lopettaa toimintansa. Vallitsevien työehtosopimusten puitteissa kutakin työnjohtajaa kohtaan voi olla maksimissaan viisi työläistä ja kullakin työläisellä voi olla olla maksimissaan viisi orjaa palveluksessaan. Orjalain mukaan orjia voidaan irtisanoa kuitenkin vain kymmenen kuukaudessa ja heille tulee maksaa irtisanomisrahaa 4€/orja. Kuukaudessa irtisanottavien työläisten määrän ylittäessä viiden joudutaan jokaisesta irtisanottavasta työläisestä maksamaan 5000€ sakkomaksu. Irtisanottaville työläisille pitää myös maksaa 50% seuraavan kuun palkasta. Työläiset ja orjat tekevät kukin 100€ arvoisen työpanoksen päivittäin. Työnjohtajat vain istuvat kahvilla.
Piirrä pylväsdiagrammi, joka näyttää Kiljulan kiljutehtaan kuukausittaiset menot, tulot ja irtisanottavat työnjohtajat, työläiset ja orjat, kun Kiljulan kiljutehdas haluaa tehdä mahdollisimman hyvää tulosta viimeiseen saakka.
Kun taloustaantuma iskee ja Kiljulan kiljutehdas päättää lopettaa toimintansa. Vallitsevien työehtosopimusten puitteissa kutakin työnjohtajaa kohtaan voi olla maksimissaan viisi työläistä ja kullakin työläisellä voi olla olla maksimissaan viisi orjaa palveluksessaan. Orjalain mukaan orjia voidaan irtisanoa kuitenkin vain kymmenen kuukaudessa ja heille tulee maksaa irtisanomisrahaa 4€/orja. Kuukaudessa irtisanottavien työläisten määrän ylittäessä viiden joudutaan jokaisesta irtisanottavasta työläisestä maksamaan 5000€ sakkomaksu. Irtisanottaville työläisille pitää myös maksaa 50% seuraavan kuun palkasta. Työläiset ja orjat tekevät kukin 100€ arvoisen työpanoksen päivittäin. Työnjohtajat vain istuvat kahvilla.
Piirrä pylväsdiagrammi, joka näyttää Kiljulan kiljutehtaan kuukausittaiset menot, tulot ja irtisanottavat työnjohtajat, työläiset ja orjat, kun Kiljulan kiljutehdas haluaa tehdä mahdollisimman hyvää tulosta viimeiseen saakka.
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.
Runoblogi, vuodatusta ja sekoiluja.
Re: Pyydä täällä harjoitustehtäviä
Haluaisin jonkun muistipaloihin/DLL:iin liittyvän harjoitustehtävän. Toki muukin kelpaa.
Galgometri antoi 8.0 pistettä.
Galgometri antoi 8.0 pistettä.
EDIT:
Tää tuntuu hauskalta! Alan tekeen tuota koulun jälkeen (tai sitten jatkan Timang3t:In koodausta).[/edit]otto90x wrote:Tee pulmakulman tapainen peli, jossa on paloja voi järjestellä 6x10 kokoiseen ruudukkoon ja pyörittää 90-astetta kerrallaan. Et saa käyttää CoolBasicissa valmiina olevia taulukko- tai tyyppikokoelma rakenteita vaan kaikki palojen muotoon, asentoon ja paikkaan liittyvä tieto pitää tallentaa muistipaloihin tai muihin muuttujiin. Paloja tulee voida liikuttaa (myös) hiirellä ja ennen palan asettamista paikoilleen pitää antaa pelaajalle tieto siitä voiko palan asettaa siihen kohtaan esimerkiksi piirtämällä palan oletettuun paikkaan punaiseksi värjätty haamupala. Tässä vielä palojen muodot selkeässä kuvassa.
Last edited by Jani on Mon Mar 15, 2010 5:14 am, edited 1 time in total.
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Codegolf: 99 bottles of beer (oneliner) - Water map partition
-
- Advanced Member
- Posts: 349
- Joined: Mon Aug 27, 2007 9:00 pm
- Location: Lapinjärvi, Finland
- Contact:
Re: Pyydä täällä harjoitustehtäviä
Tee pulmakulman tapainen peli, jossa on paloja voi järjestellä 6x10 kokoiseen ruudukkoon ja pyörittää 90-astetta kerrallaan. Et saa käyttää CoolBasicissa valmiina olevia taulukko- tai tyyppikokoelma rakenteita vaan kaikki palojen muotoon, asentoon ja paikkaan liittyvä tieto pitää tallentaa muistipaloihin tai muihin muuttujiin. Paloja tulee voida liikuttaa (myös) hiirellä ja ennen palan asettamista paikoilleen pitää antaa pelaajalle tieto siitä voiko palan asettaa siihen kohtaan esimerkiksi piirtämällä palan oletettuun paikkaan punaiseksi värjätty haamupala. Tässä vielä palojen muodot selkeässä kuvassa.
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.
Runoblogi, vuodatusta ja sekoiluja.
Re: Pyydä täällä harjoitustehtäviä
Haluaisin harjoitustehtävän tyyppeihin ja muistipaloihin liittyen. Galgometriltä sain 8.5 pistettä.
Hengität nyt manuaalisesti.
- kaneli2000
- Guru
- Posts: 1059
- Joined: Mon Mar 17, 2008 2:40 pm
- Location: Lempäälä
Re: Pyydä täällä harjoitustehtäviä
Tyyppeihin: ota joku wanha koodisi ja tee kaikesta mahdollisesta tyypein käsiteltävää. Ei kovin käytännöllistä, mutta opettavaista.DatsuniG wrote:Haluaisin harjoitustehtävän tyyppeihin ja muistipaloihin liittyen. Galgometriltä sain 8.5 pistettä.
I see the rainbow rising
Re: Pyydä täällä harjoitustehtäviä
Ajattelin hieman tyyppikokoelmien kehittyneempää käyttöä, kuten Converttointegeriä ja Converttotypeä ja näiden kahden kanssa muistipalojen hyödyntämistä. Kiitos kuitenkin ehdotuksesta.kaneli2000 wrote:Tyyppeihin: ota joku wanha koodisi ja tee kaikesta mahdollisesta tyypein käsiteltävää. Ei kovin käytännöllistä, mutta opettavaista.DatsuniG wrote:Haluaisin harjoitustehtävän tyyppeihin ja muistipaloihin liittyen. Galgometriltä sain 8.5 pistettä.
EDIT:
Thx phons, aloittelenkin koodaamaan tuota.
EDIT:
Jos jotakuta kiinnostaa kuinka tein tämän harjoituksen, niin spoilerin alta löytyy koodia.
Last edited by DatsuniG on Sat Mar 20, 2010 7:37 am, edited 4 times in total.
Hengität nyt manuaalisesti.
Re: Pyydä täällä harjoitustehtäviä
Koska tasosi on noin korkea haluat selvästi jotain vaikeaa.. Noh. Tee tyypeillä ja muistipaloilla systeemi jossa on funktio joka listaa muistipalaan viiden kärjen tyypeistä luettuna(eli kenellä on korkein numero fieldissä value menee musitipalikan kohtaan 1 kakkonen kohtaan 2 jne.) ja toinen funktio joka sitten lukee ne sieltä muistipalikasta ja kirjoittaa näytölle.DatsuniG wrote:Haluaisin harjoitustehtävän tyyppeihin ja muistipaloihin liittyen. Galgometriltä sain 8.5 pistettä.
Edit: DatsuniG, ajattelinkin jotain tuollaista. Itse muuten olen kokenut hyödylliseksi ja käytän aina kun tarvis.