Tyhmät kysymykset (I/2011)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
User avatar
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Feuer » Wed Jun 08, 2011 10:22 pm

Kannattaa ehkä käyttää absoluuttisia polkuja tiedostoihin (C:\kansio\toinenkansio\mediansijainti\ukko.bmp) jos ei ole aivan varma että ymmärtää suhteellisten polkujen( (suoritushakemisto)\mediansijainti\ukko.bmp) toimintatavan. Näin tiedostojen olemassaolo on myös helpompi varmistaa. Pitää vain muistaa, etteivät absoluuttiset polut todennäköisesti toimi oman koneen ulkopuolella.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tyhmät kysymykset (I/2011)

Post by esa94 » Wed Jun 08, 2011 10:52 pm

Laurenzo wrote: PS. Olen 9v
Se ei ole peruste käyttää niin suurta määrää hymiöitä että se vaatii kämmenen applikointia kasvoihin.

User avatar
MetalRain
Active Member
Posts: 188
Joined: Sun Mar 21, 2010 12:17 pm
Location: Espoo

Re: Tyhmät kysymykset (I/2011)

Post by MetalRain » Thu Jun 09, 2011 2:55 am

Laurenzo wrote: Luulisin että ongelmaan ei löydy vastusta edellisistä viesteistä :oops: koska koodi on aivan sama
silloin kun se toimi. :oops: :)

PS. Olen 9v
Teinpäs sinulle havainnollistavan kuvan tiedostopolkujen käytöstä kartan latauskomennon ja kuvien latauskomennon yhteydessä. Tallennetun koodin paikka eli käytössä oleva työkansio vaikuttaa käytettävään suhteelliseen tiedostopolkuun. Käytin värejä merkitsemään suhteellisia tiedostopolkuja eri ajattavista kooditiedostoista.

EDIT: Kuva saattaa monien harmiksi olla kovin suuri, hitaiden yhteyksien takaa kurkkiville kärsivällisyyttä. (:

User avatar
Laurenzo
Member
Posts: 85
Joined: Mon Apr 25, 2011 8:28 am
Location: Tampere
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Laurenzo » Thu Jun 09, 2011 7:25 am

TOIMII :) poistin tilekartan ja tein uuden niin sitten lähti toimimaan. ;)
Aloittelija koodari joka
osaa jo jotain (ehkä) :)
KOTISIVU

User avatar
Laurenzo
Member
Posts: 85
Joined: Mon Apr 25, 2011 8:28 am
Location: Tampere
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Laurenzo » Thu Jun 09, 2011 8:14 am

Uusi ongelma juna ei liiku minnekkään! :?:
Aloittelija koodari joka
osaa jo jotain (ehkä) :)
KOTISIVU

User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset (I/2011)

Post by Jonez » Thu Jun 09, 2011 8:28 am

Mietippä nyt hetken aikaa, onko tuossa viestissäsi tarpeeksi sisältöä, että voisimme oikeasti auttaa ongelmassasi?

Laita mieluiten koodia tänne niin ei tarvi arvailla.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War

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

Re: Tyhmät kysymykset (I/2011)

Post by DJ-Filbe » Thu Jun 09, 2011 9:19 am

Minulla on sivuillani kävijälaskuri, joka perustuu IP-osoitteisiin. Kuitenkin osalla käyttäjistä IP-osoite ei ole kiinteä, vaan vaihtuu aika ajoin. Olisiko järkevää tehdä keksi, johon tallennetaan IP, ja jos keksi on joskus eri kuin IP-osoite (IP vaihtui), poistetaan listasta vanha IP? Mitä mieltä olette?
Entä miten voisi luotettavasti laskea, jos samasta IP-osoitteesta sivua katsellaan eri koneilla?

User avatar
Latexi95
Guru
Posts: 1164
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post by Latexi95 » Thu Jun 09, 2011 12:13 pm

DJ-Filbe wrote:Minulla on sivuillani kävijälaskuri, joka perustuu IP-osoitteisiin. Kuitenkin osalla käyttäjistä IP-osoite ei ole kiinteä, vaan vaihtuu aika ajoin. Olisiko järkevää tehdä keksi, johon tallennetaan IP, ja jos keksi on joskus eri kuin IP-osoite (IP vaihtui), poistetaan listasta vanha IP? Mitä mieltä olette?
Entä miten voisi luotettavasti laskea, jos samasta IP-osoitteesta sivua katsellaan eri koneilla?
Käytä eväisteitä. Ne ovat kone kohtaisia. Joskin niitä pystyyy muokkaamaa, mutta tässä tapauksessa sillä tuskin on mitään väliä. Ei sen kävijälaskurin tarvitse olla niin tarkka...

User avatar
Laurenzo
Member
Posts: 85
Joined: Mon Apr 25, 2011 8:28 am
Location: Tampere
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Laurenzo » Thu Jun 09, 2011 3:13 pm

Jonez wrote:Mietippä nyt hetken aikaa, onko tuossa viestissäsi tarpeeksi sisältöä, että voisimme oikeasti auttaa ongelmassasi?

Laita mieluiten koodia tänne niin ei tarvi arvailla.
Onglema korjattu En ollut muistanut laittaa loppuun draawscreeniä :oops:
Aloittelija koodari joka
osaa jo jotain (ehkä) :)
KOTISIVU

Kumiankka
Member
Posts: 65
Joined: Wed May 18, 2011 5:17 pm
Location: Artjärvi

Re: Tyhmät kysymykset (I/2011)

Post by Kumiankka » Sat Jun 11, 2011 12:18 pm

Mitenköhän onnistuisi kahden nelikulmion törmäyksentarkistus? Nelikulmioita pitäisi pystyä kääntelemään...
EDIT:

Ja siis objektijärjestelmää en tahtoisi käyttää...


User avatar
MetalRain
Active Member
Posts: 188
Joined: Sun Mar 21, 2010 12:17 pm
Location: Espoo

BoxOverlap2

Post by MetalRain » Sat Jun 11, 2011 4:24 pm

Kumiankka wrote:Mitenköhän onnistuisi kahden nelikulmion törmäyksentarkistus? Nelikulmioita pitäisi pystyä kääntelemään...
EDIT:

Ja siis objektijärjestelmää en tahtoisi käyttää...

Tähän on varmaan joku simppelimpikin ratkaisu, mutta teinpä tälläisen joka katsoo onko nelikulmiot niin lähellä toisiaan että voivat ylipäänsä törmätä, sitten testaa onko nelikulmion keskipiste toisen nelikulmion sisällä ja sitten vielä tarkistaa leikkaako nelikulmioiden sivut toisiaan.

Code: Select all

DrawToWorld ON 

Repeat 

    t#=Timer()/15.0
    
    t1#=t1#+MouseMoveZ()*10

    If BoxOverlap2(MouseWX(),MouseWY(),100,50,t1#,0,0,40,200,-t#/1.5) Then
        Color cbred 
    Else 
        Color cbwhite 
    EndIf 
    
    Lock
        Box2(MouseWX(),MouseWY(),100,50,t1#)
        Box2(0,0,40,200,-t#/1.5)
    Unlock 

    DrawScreen 

Forever 

Function BoxOverlap2(x#,y#,w#,h#,a#,xx#,yy#,ww#,hh#,aa#)

    w2#=w#/2.0
    h2#=h#/2.0
    
    cx# = Cos(a#)
    cy# = Cos(a#+90.0)
    sx# = Sin(a#)
    sy# = Sin(a#+90.0)

    //ensimmäisen laatikon kärjet
    x1# = x# + cx#*w2# + cy#*h2#
    y1# = y# + sx#*w2# + sy#*h2#
    
    x2# = x# - cx#*w2# + cy#*h2#
    y2# = y# - sx#*w2# + sy#*h2#
    
    x3# = x# - cx#*w2# - cy#*h2#
    y3# = y# - sx#*w2# - sy#*h2#
    
    x4# = x# + cx#*w2# - cy#*h2#
    y4# = y# + sx#*w2# - sy#*h2#
    
    w1# = Abs(cx#*w2#) + Abs(cy#*h2#)
    h1# = Abs(sx#*w2#) + Abs(sy#*h2#)
    
    w2#=ww#/2.0
    h2#=hh#/2.0
    
    cx# = Cos(aa#)
    cy# = Cos(aa#+90.0)
    sx# = Sin(aa#)
    sy# = Sin(aa#+90.0)
    
    //toisen laatikon kärjet
    xx1# = xx# + cx#*w2# + cy#*h2#
    yy1# = yy# + sx#*w2# + sy#*h2#
    
    xx2# = xx# - cx#*w2# + cy#*h2#
    yy2# = yy# - sx#*w2# + sy#*h2#
    
    xx3# = xx# - cx#*w2# - cy#*h2#
    yy3# = yy# - sx#*w2# - sy#*h2#
    
    xx4# = xx# + cx#*w2# - cy#*h2#
    yy4# = yy# + sx#*w2# - sy#*h2#
    
    w3# = Abs(cx#*w2#) + Abs(cy#*h2#)
    h3# = Abs(sx#*w2#) + Abs(sy#*h2#)
    
    //onko niin kaukana toisistaan ettei edes voi törmätä?
    
    If Abs(x#-xx#)>(w1#+w3) Or Abs(y#-yy#)>(h1#+h3) Then Return False

    //onko toinen laatikko ensimmäisen sisällä?
    If PointInTriangle(xx#, yy#, x1#, y1#, x2#, y2#, x3#, y3#) Then Return True
    If PointInTriangle(xx#, yy#, x1#, y1#, x4#, y4#, x3#, y3#) Then Return True
    
    //leikkaako sivut 
    
    If LineSegIsect1(x1#, y1#, x2#, y2#, xx1#, yy1#, xx2#, yy2#) Then Return True 
    If LineSegIsect1(x1#, y1#, x2#, y2#, xx3#, yy3#, xx2#, yy2#) Then Return True 
    If LineSegIsect1(x1#, y1#, x2#, y2#, xx3#, yy3#, xx4#, yy4#) Then Return True 
    If LineSegIsect1(x1#, y1#, x2#, y2#, xx1#, yy1#, xx4#, yy4#) Then Return True 
    
    If LineSegIsect1(x3#, y3#, x2#, y2#, xx1#, yy1#, xx2#, yy2#) Then Return True 
    If LineSegIsect1(x3#, y3#, x2#, y2#, xx3#, yy3#, xx2#, yy2#) Then Return True 
    If LineSegIsect1(x3#, y3#, x2#, y2#, xx3#, yy3#, xx4#, yy4#) Then Return True 
    If LineSegIsect1(x3#, y3#, x2#, y2#, xx1#, yy1#, xx4#, yy4#) Then Return True 
    
    If LineSegIsect1(x3#, y3#, x4#, y4#, xx1#, yy1#, xx2#, yy2#) Then Return True 
    If LineSegIsect1(x3#, y3#, x4#, y4#, xx3#, yy3#, xx2#, yy2#) Then Return True 
    If LineSegIsect1(x3#, y3#, x4#, y4#, xx3#, yy3#, xx4#, yy4#) Then Return True 
    If LineSegIsect1(x3#, y3#, x4#, y4#, xx1#, yy1#, xx4#, yy4#) Then Return True 

    If LineSegIsect1(x1#, y1#, x4#, y4#, xx1#, yy1#, xx2#, yy2#) Then Return True 
    If LineSegIsect1(x1#, y1#, x4#, y4#, xx3#, yy3#, xx2#, yy2#) Then Return True 
    If LineSegIsect1(x1#, y1#, x4#, y4#, xx3#, yy3#, xx4#, yy4#) Then Return True 
    If LineSegIsect1(x1#, y1#, x4#, y4#, xx1#, yy1#, xx4#, yy4#) Then Return True 

    Return False 

End Function 

Function Box2(x#,y#,w#,h#,a#)

    w2#=w#/2.0
    h2#=h#/2.0
    
    cx# = Cos(a#)
    cy# = Cos(a#+90.0)
    sx# = Sin(a#)
    sy# = Sin(a#+90.0)

    //laatikon kärjet
    x1# = x# + cx#*w2# + cy#*h2#
    y1# = y# + sx#*w2# + sy#*h2#
    
    x2# = x# - cx#*w2# + cy#*h2#
    y2# = y# - sx#*w2# + sy#*h2#
    
    x3# = x# - cx#*w2# - cy#*h2#
    y3# = y# - sx#*w2# - sy#*h2#
    
    x4# = x# + cx#*w2# - cy#*h2#
    y4# = y# + sx#*w2# - sy#*h2#

    Line x1#, y1#, x2#, y2#
    Line x3#, y3#, x2#, y2#
    Line x4#, y4#, x3#, y3#
    Line x1#, y1#, x4#, y4#
    
End Function 

Function PointInTriangle(x#, y#, x1#, y1#, x2#, y2#, x3#, y3#)
   ab# = ((y - y1) * (x2 - x1) - (x - x1) * (y2 - y1)) / 1000.0
   bc# = ((y - y2) * (x3 - x2) - (x - x2) * (y3 - y2)) / 1000.0
   ca# = ((y - y3) * (x1 - x3) - (x - x3) * (y1 - y3)) / 1000.0
   If (ab * bc) > 0 And (bc * ca) > 0 Then Return True
   Return False
EndFunction

Function LineSegIsect1(ax#, ay#, bx#, by#, cx#, cy#, dx#, dy#)
   Return (((bx-ax)*(cy-ay)-(by-ay)*(cx-ax))*((bx-ax)*(dy-ay)-(by-ay)*(dx-ax)) < 0)(((dy-cy)*(cx-ax)-(dx-cx)*(cy-ay))*((dx-cx)*(by-cy)-(dy-cy)*(bx-cx)) < 0)
EndFunction
EDIT: Oletan että tarkoitit nelikulmiolla suorakulmiota, vaikka eipä tuon yleistäminen kaikille nelikulmioille ole vaikeaa.

muuan ihminen joka pitää makkaroista

Re: Tyhmät kysymykset (I/2011)

Post by muuan ihminen joka pitää makkaroista » Sun Jun 12, 2011 2:01 pm

Hei.
minulla on aloitettuna peliprojekti, jossa yritän tehdä pelin, jossa syödään ukolla makkaroita, joita joko löytyy pitkin kenttää, tai kuin matopelissä, jossa ruokaa ilmestyy sitä mukaa milloin sitä syödään. Ongelmani on, miten saisin tehtyä syömisen. :) Tehdäänkö se yleensä törmäyksellä? Jos tehdään, niin miten? Voisiko joku tehdä esimerkin?
T. Muuan ihminen joka pitää makkaroista.

User avatar
MetalRain
Active Member
Posts: 188
Joined: Sun Mar 21, 2010 12:17 pm
Location: Espoo

Re: Tyhmät kysymykset (I/2011)

Post by MetalRain » Sun Jun 12, 2011 3:00 pm

muuan ihminen joka pitää makkaroista wrote:Hei.
minulla on aloitettuna peliprojekti, jossa yritän tehdä pelin, jossa syödään ukolla makkaroita, joita joko löytyy pitkin kenttää, tai kuin matopelissä, jossa ruokaa ilmestyy sitä mukaa milloin sitä syödään. Ongelmani on, miten saisin tehtyä syömisen. :) Tehdäänkö se yleensä törmäyksellä? Jos tehdään, niin miten? Voisiko joku tehdä esimerkin?
T. Muuan ihminen joka pitää makkaroista.
Voit esimerkiksi katsoa Distancella tai Distance2:lla ovatko makkara ja ukko tarpeeksi lähellä toisiaan.

Code: Select all

makkara = LoadObject("media\cow.bmp")
ukko = LoadObject("media\guy.bmp")

Repeat
    
    //ohjataan ukkoa hiirellä
    PositionObject ukko,MouseWX(),MouseWY()
    
    //jos mies ja makkara on tarpeeksi lähellä toisiaan
    If Distance2(ukko,makkara)<16 Then 
    
        //kasvatetaan syötyjen makkaroiden määrää
        makkaroita_syöty = makkaroita_syöty + 1
        
        //liikutetaan makkara uuteen paikkaan
        PositionObject makkara,Rand(-190,190),Rand(-140,140)
        
        //muutetaan ikkunan otsikkoa
        SetWindow "Makkaroita mussutettu: "+makkaroita_syöty 
    EndIf 

    DrawScreen 

Forever

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

Re: Tyhmät kysymykset (I/2011)

Post by koodaaja » Sun Jun 12, 2011 3:02 pm

Myös ObjectsOverlapilla voi selvittää, ovatko kaksi objektia päällekkäin.

muuan ihminen joka pitää makkaroista

Re: Tyhmät kysymykset (I/2011)

Post by muuan ihminen joka pitää makkaroista » Sun Jun 12, 2011 3:57 pm

Kiitos nopeasta vastauksesta!

User avatar
Laurenzo
Member
Posts: 85
Joined: Mon Apr 25, 2011 8:28 am
Location: Tampere
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Laurenzo » Sun Jun 12, 2011 5:36 pm

Kuinka voin tehdä aikarajan peliini ?
Eli kenttä täytyy läpäistä esim. Minuutissa.
jos aikaraja ylittyy peli loppuu?
Aloittelija koodari joka
osaa jo jotain (ehkä) :)
KOTISIVU

User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset (I/2011)

Post by axu » Sun Jun 12, 2011 5:56 pm

Laurenzo wrote:Kuinka voin tehdä aikarajan peliini ?
Eli kenttä täytyy läpäistä esim. Minuutissa.
jos aikaraja ylittyy peli loppuu?
Käytä Timer() komentoa, jotta saat senhetkisen ajankohdan selville (palauttaa ajan koneen käynnistymisestä millisekunteina). Tallenna aloitusajankohta muuttujaan, ja saat pelatun ajan yksinkertaisesti Nykyinen_Aika - Aloitus_Aika. Sitten tarkkailet josko on jo pelattu yli 60000 millisekuntia (60 sekuntia * 1000). Koodina:

Code: Select all

StartTime = Timer()
Repeat
    CurTime = Timer() - StartTime
    Text 1, 1, CurTime
    Drawscreen
Until CurTime >= 60000
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image

muuan ihminen joka yhä tykkää makkarasta

Re: Tyhmät kysymykset (I/2011)

Post by muuan ihminen joka yhä tykkää makkarasta » Sun Jun 12, 2011 6:00 pm

Hei.
Minulle aikaisemmin vastattiin kysymykseeni makkaransyöntipeliin liittyen skriptillä, jonka ohessa luki miten saa ikkunan otsikkoon lukemaan syötyjen makkaroiden määrän. Haluaisin kuitenkin sen näkyvän tekstinä pelissä, esim. "makkaroita syöty 5". Mitenköhän se onnistuisi? tiedän periaatteen, mutta en osaa käytännössä toteuttaa sitä :? .
T. eräs heppu joka vieläkin jaksaa pitää makkaroista.

User avatar
valscion
Moderator
Moderator
Posts: 1587
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion » Sun Jun 12, 2011 6:30 pm

muuan ihminen joka yhä tykkää makkarasta wrote:Hei.
Minulle aikaisemmin vastattiin kysymykseeni makkaransyöntipeliin liittyen skriptillä, jonka ohessa luki miten saa ikkunan otsikkoon lukemaan syötyjen makkaroiden määrän. Haluaisin kuitenkin sen näkyvän tekstinä pelissä, esim. "makkaroita syöty 5". Mitenköhän se onnistuisi? tiedän periaatteen, mutta en osaa käytännössä toteuttaa sitä :? .
T. eräs heppu joka vieläkin jaksaa pitää makkaroista.
Kannattaa käyttää Text-komentoa.

Code: Select all

makkaroita = 0
Repeat
    // Piirretään tekstiä ruudulle koordinaatteihin x=0 ja y=0. Merkkijonoon "Makkaroita: " lisätään perään makkaroiden määrä "makkaroita"-muuttujassa.
    Text 0,0, "Makkaroita: " + makkaroita

    // Vähän infoa miten makkaroita saa lisää, nyt x=0 ja y=13
    Text 0,13, "Paina välilyöntiä lisätäksesi makkaroiden määrää"

    // Jos painetaan välilyöntiä, lisätään makkaroita yhdellä
    If KeyHit( cbKeySpace ) Then makkaroita = makkaroita + 1

    DrawScreen
Forever 
EDIT: Suosittelen rekisteröitymistä foorumeille, näin saat viesteillesi suuremman painoarvon sekä voit halutessasi muokata jo lähetettyä viestiä ;)
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com

pitää makkarasta

Re: Tyhmät kysymykset (I/2011)

Post by pitää makkarasta » Sun Jun 12, 2011 10:04 pm

kiitos paljon! Luulen, että osasin sentään ainakin laittaa kysymykseni oikealle palstalle ;)

Locked