Tyhmät kysymykset (I/2011)
Re: Tyhmät kysymykset (I/2011)
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
Blogi - Peräpohjola - MERPG
Re: Tyhmät kysymykset (I/2011)
Se ei ole peruste käyttää niin suurta määrää hymiöitä että se vaatii kämmenen applikointia kasvoihin.Laurenzo wrote: PS. Olen 9v
Re: Tyhmät kysymykset (I/2011)
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.Laurenzo wrote: Luulisin että ongelmaan ei löydy vastusta edellisistä viesteistä koska koodi on aivan sama
silloin kun se toimi.
PS. Olen 9v
EDIT: Kuva saattaa monien harmiksi olla kovin suuri, hitaiden yhteyksien takaa kurkkiville kärsivällisyyttä. (:
Re: Tyhmät kysymykset (I/2011)
TOIMII poistin tilekartan ja tein uuden niin sitten lähti toimimaan.
Aloittelija koodari joka
KOTISIVU
Re: Tyhmät kysymykset (I/2011)
Uusi ongelma juna ei liiku minnekkään!
Aloittelija koodari joka
KOTISIVU
Re: Tyhmät kysymykset (I/2011)
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.
Laita mieluiten koodia tänne niin ei tarvi arvailla.
Re: Tyhmät kysymykset (I/2011)
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?
Entä miten voisi luotettavasti laskea, jos samasta IP-osoitteesta sivua katsellaan eri koneilla?
Re: Tyhmät kysymykset (I/2011)
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...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?
Re: Tyhmät kysymykset (I/2011)
Onglema korjattu En ollut muistanut laittaa loppuun draawscreeniä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.
Aloittelija koodari joka
KOTISIVU
Re: Tyhmät kysymykset (I/2011)
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ää...
BoxOverlap2
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.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ää...
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
Re: Tyhmät kysymykset (I/2011)
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.
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.
Re: Tyhmät kysymykset (I/2011)
Voit esimerkiksi katsoa Distancella tai Distance2:lla ovatko makkara ja ukko tarpeeksi lähellä toisiaan.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.
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
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Tyhmät kysymykset (I/2011)
Myös ObjectsOverlapilla voi selvittää, ovatko kaksi objektia päällekkäin.
Re: Tyhmät kysymykset (I/2011)
Kiitos nopeasta vastauksesta!
Re: Tyhmät kysymykset (I/2011)
Kuinka voin tehdä aikarajan peliini ?
Eli kenttä täytyy läpäistä esim. Minuutissa.
jos aikaraja ylittyy peli loppuu?
Eli kenttä täytyy läpäistä esim. Minuutissa.
jos aikaraja ylittyy peli loppuu?
Aloittelija koodari joka
KOTISIVU
Re: Tyhmät kysymykset (I/2011)
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:Laurenzo wrote:Kuinka voin tehdä aikarajan peliini ?
Eli kenttä täytyy läpäistä esim. Minuutissa.
jos aikaraja ylittyy peli loppuu?
Code: Select all
StartTime = Timer()
Repeat
CurTime = Timer() - StartTime
Text 1, 1, CurTime
Drawscreen
Until CurTime >= 60000
Re: Tyhmät kysymykset (I/2011)
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.
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.
Re: Tyhmät kysymykset (I/2011)
Kannattaa käyttää Text-komentoa.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.
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
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
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: Tyhmät kysymykset (I/2011)
kiitos paljon! Luulen, että osasin sentään ainakin laittaa kysymykseni oikealle palstalle