Tyhmät kysymykset (I/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
OpossumiX
Newcomer
Posts: 4
Joined: Wed Apr 02, 2008 9:00 pm

Re: Tyhmät kysymykset

Post by OpossumiX »

Mulla on tällä hetkelle että voi olla 1 vihu kerrallaa olemassa.
Mutta miten saan että se tekee tietyin ajoin päästä aina uuden objectin..(vihun).?
Kait siihen tarvii timerii? Vai?
Toivottavasti ymmärsitte ongelmani.

Kiitos jo etukäteen.
Harakka
Advanced Member
Posts: 430
Joined: Mon Aug 27, 2007 9:08 pm
Location: Salo
Contact:

Re: Tyhmät kysymykset

Post by Harakka »

Code: Select all

Type VIHUT
  Field obj
End Type

mVihu = LoadObject("media/guy.bmp")

Repeat
  If timer() > viimelisays + 1000 then
    uusiVihu.VIHUT = New(VIHUT)
    uusiVihu\obj = CloneObject(mVihu)
    PositionObject uusiVihu\obj,rand(-screenwidth()/2,screenwidth()/2),rand(-screenheight()/2,screenheight()/2)
    viimelisays = timer()
  Endif
  DrawScreen
Forever
Katso tästä mallia. Tarvitset typejä ja timeriä.
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
nevssons
Devoted Member
Posts: 503
Joined: Sun Jan 13, 2008 5:02 pm

Re: Tyhmät kysymykset

Post by nevssons »

Yksinkertainen kysymys (toivotaan yksinkertaista vastausta):
mitä vikaa näissä on?

Code: Select all

If CmdButton("<-",130,70,30,30) Then Ip2$=setText(StrRemove(getText(Ip2$),Len(getText(Ip2$)),1))

Code: Select all

If CmdButton("<-",130,70,30,30) Then Ip2$=setText(LSet(getText(Ip2$),Len(getText(Ip2$))))
CB valittaa vääränlaisista parametreistä.
Koodarina kohtalainen, henkilönä vittumainen
Image
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Tyhmät kysymykset

Post by Koodiapina »

Tarkista ettet ole kirjoittanut esimerkiksi kokonaislukua sellaiselle parametrille, joka vaatisikin merkkijonoa ja päinvastoin.
nevssons
Devoted Member
Posts: 503
Joined: Sun Jan 13, 2008 5:02 pm

Re: Tyhmät kysymykset

Post by nevssons »

Grandi wrote:Tarkista ettet ole kirjoittanut esimerkiksi kokonaislukua sellaiselle parametrille, joka vaatisikin merkkijonoa ja päinvastoin.
olen tarkistanut
Koodarina kohtalainen, henkilönä vittumainen
Image
M.R
Active Member
Posts: 102
Joined: Sat Dec 22, 2007 3:05 pm

Re: Tyhmät kysymykset

Post by M.R »

nevssons wrote:Yksinkertainen kysymys (toivotaan yksinkertaista vastausta):
mitä vikaa näissä on?

Code: Select all

If CmdButton("<-",130,70,30,30) Then Ip2$=setText(StrRemove(getText(Ip2$),Len(getText(Ip2$)),1))

Code: Select all

If CmdButton("<-",130,70,30,30) Then Ip2$=setText(LSet(getText(Ip2$),Len(getText(Ip2$))))
CB valittaa vääränlaisista parametreistä.
Herranen aika!Mistä keksit laittaa setText funktiolle kaksi parametriä vaikka niitä on yksi?Tämän koodin pitäisi toimia.

Code: Select all

If CmdButton("<-",130,70,30,30) Then Ip2$=setText(StrRemove(getText(Ip2$))

Code: Select all

If CmdButton("<-",130,70,30,30) Then Ip2$=setText(LSet(getText(Ip2$))))
EDIT:

En katsonut koodia sen jälkeen kun tuon ekan olin huomannut.

Last edited by M.R on Sun Apr 06, 2008 9:48 am, edited 1 time in total.
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Tyhmät kysymykset

Post by Koodiapina »

M.R wrote:Tämän koodin pitäisi toimia.

Code: Select all

If CmdButton("<-",130,70,30,30) Then Ip2$=setText(StrRemove(getText(Ip2$))
En usko että toimii, koska funktio strremove vaatii toimiakseen 3 parametria, eikä tuossa koodissa ole suljettu kaikkia sulkuja.
User avatar
TheDuck
Devoted Member
Posts: 632
Joined: Sun Aug 26, 2007 3:51 pm
Location: C:\Program Files\Tuusula\

Re: Tyhmät kysymykset

Post by TheDuck »

nevssons wrote:Yksinkertainen kysymys (toivotaan yksinkertaista vastausta):
mitä vikaa näissä on?

Code: Select all

If CmdButton("<-",130,70,30,30) Then Ip2$=setText(StrRemove(getText(Ip2$),Len(getText(Ip2$)),1))

Code: Select all

If CmdButton("<-",130,70,30,30) Then Ip2$=setText(LSet(getText(Ip2$),Len(getText(Ip2$))))
CB valittaa vääränlaisista parametreistä.
toisessa oli yks sulku liikaa:

Code: Select all

If CmdButton("<-",130,70,30,30) Then Ip2$=setText(LSet(getText(Ip2$),Len(getText(Ip2$)))
^^
Peli_Piru

Re: Tyhmät kysymykset

Post by Peli_Piru »

Unohdin,käyttäjän,Salasanan uuden koneen myötä,Enkä jaksanu heti uutta tehä.Eli Miten saisin tehtyy tuhoutuvaa karttaa(Esim.Level.Bmp,ettei mikään TileKartta)Miten saan Siis sitä karttaa tuhottuu ?
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Tyhmät kysymykset

Post by Koodiapina »

Peli_Piru wrote:Unohdin,käyttäjän,Salasanan uuden koneen myötä,Enkä jaksanu heti uutta tehä.Eli Miten saisin tehtyy tuhoutuvaa karttaa(Esim.Level.Bmp,ettei mikään TileKartta)Miten saan Siis sitä karttaa tuhottuu ?
Tuhoutuvan kartan saat kun ensin teet kuvan. Kuvaan ei saa piirtää taustaa, jos haluat toimia näiden ohjeiden mukaan. Suosittelen muuten PNG kuvia BMP:n sijasta (koska PNG on paljon pienempi kokoinen, mutta silti laatu on yhtä hyvä). JPG:kin käy, mutta jos se pitää tallentaa silloin todella hyvässä muodossa, että ei tule sotkua. Paintissa ei muistaakseni voi sen laatuun vaikuttaa, joten sillä ei kannata tallentaa kartta-kuvaa, ainakaan sellaista joka sisältäisi läpinäkyvyyttä. Jotkut tekevät niin, että piirtävät kartta-kuvan pienenä ja sitten itse pelissä skaalaavat sen 2 tai 3 kertaiseksi. Tästä syntyy kuitenkin pikselireunat, joista kaikki eivät pidä. Tuhoutuvan kartan periaate on varsin yksinkertainen. Tällaisissa tilanteissa törmäyksen tunnistus on kuitenkin luettava suoraan kartta-kuvasta. Eli tarkistetaan onko törmäyspisteessä kuvan kohdalla esim. mustaa (Jos käytät sitä maskivärinä) -> siinä kohtaa ei ole törmättävää. Jos katsot törmäyspisteen värin suoraan ruudulta, väri sekoittuu mahdollisen taustakuvan kanssa, ja tällöin törmäyksentunnistus bugittaa. Nyt kun meillä on erikseen tämä törmäyskuva, voidaan sitä tietenkin tuhota. Tämä tapahtuu piirtämällä kuvaan maskivärillä olevia kuvioita, esimerkiksi palloja. Näin ollen räjäytetty kohta häviää, siinä ei ole törmäyksentunnistusta, ja taustakuva kuultaa sen takaa. Tuli muuten mieleen, että jos käytät jostain syystä objekteja esim. kranaateissa / muussa karttaa tuhoavassa, sinun on laskettava räjähdyspaikka kuvan koordinaateissa. Näin myös törmäyksentunnistuksessa. Siksipä suosittelenkin toteuttamaan koko pelin kuvilla, jos se on vain mahdollista.

Tässä oli muuten esimerkki, miltä teksti jossa ei ole kappaleita voi näyttää :D
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset

Post by koodaaja »

Pienenä pätemisenä on Grandille todettava, että ei. .png:n laatu ei ole yhtä hyvä kuin .bmp:n. Missään realistisessa tilanteessa tämä ei tule esille, mutta ihan yhtä hyvä ei .png ole. (suurenna kuvaa järkyttävän paljon, pitäisi jotain häröyttä esiintyä)
m1c
Member
Posts: 65
Joined: Tue Aug 28, 2007 5:10 pm
Location: \o

Re: Tyhmät kysymykset

Post by m1c »

koodaaja wrote:Pienenä pätemisenä on Grandille todettava, että ei. .png:n laatu ei ole yhtä hyvä kuin .bmp:n. Missään realistisessa tilanteessa tämä ei tule esille, mutta ihan yhtä hyvä ei .png ole. (suurenna kuvaa järkyttävän paljon, pitäisi jotain häröyttä esiintyä)
PNG on häviötön tiedostomuoto, kuten bmp:kin. Molemmissa on 8-bittinen kanava kaikille väreille, PNG:ssä myös alphalle. Mitään eroavaisuutta kuvassa ei siis ole, paitsi jos tallennusohjelma jostain syystä päättä sinne jotain lisätä.
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset

Post by koodaaja »

No, sitten se oli vain paintin säätöä : D mutta mistäs se pienuus muka johtuu, jos niissä on yhtä paljon dataa?
regalis
Advanced Member
Posts: 268
Joined: Mon Aug 27, 2007 9:44 pm

Re: Tyhmät kysymykset

Post by regalis »

Käsittääkseni BMP:tä ei pakata millään tavalla, toisin kuin PNG.
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset

Post by koodaaja »

regalis wrote:Käsittääkseni BMP:tä ei pakata millään tavalla, toisin kuin PNG.
No vaikka mitä tekisi, ei mitenkään voi vähentää datan määrää, ilman että osa tiedosta häviää. Vai.. onko joku keksinyt vähän haximman kikan?
Harakka
Advanced Member
Posts: 430
Joined: Mon Aug 27, 2007 9:08 pm
Location: Salo
Contact:

Re: Tyhmät kysymykset

Post by Harakka »

koodaaja wrote:
regalis wrote:Käsittääkseni BMP:tä ei pakata millään tavalla, toisin kuin PNG.
No vaikka mitä tekisi, ei mitenkään voi vähentää datan määrää, ilman että osa tiedosta häviää. Vai.. onko joku keksinyt vähän haximman kikan?
Joo, sitä kutsutaan häviöttömäksi pakkaukseksi. Jippo on siinä, että merkataan esim. tiettyjä bittisarjoja lyhyemmällä merkillä. Yksinkertaistettuna esimerkkinä voisi toimia kirja, jonka jokainen ankka-sana on korvattu merkeillä "an" ja jokainen mutta-sana on korvattu vaikka "mt". :P

EDIT: Eihän muuten zippitiedostoistakaan dataa katoa, vaikka niiden koko onkin usein paljon pienempi kuin alkuperäisten tiedostojen koko yhteensä.
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
SPuntte
Tech Developer
Tech Developer
Posts: 650
Joined: Mon Aug 27, 2007 9:51 pm
Location: Helsinki, Finland
Contact:

Re: Tyhmät kysymykset

Post by SPuntte »

Harakka wrote:
koodaaja wrote:
regalis wrote:Käsittääkseni BMP:tä ei pakata millään tavalla, toisin kuin PNG.
No vaikka mitä tekisi, ei mitenkään voi vähentää datan määrää, ilman että osa tiedosta häviää. Vai.. onko joku keksinyt vähän haximman kikan?
Joo, sitä kutsutaan häviöttömäksi pakkaukseksi. Jippo on siinä, että merkataan esim. tiettyjä bittisarjoja lyhyemmällä merkillä. Yksinkertaistettuna esimerkkinä voisi toimia kirja, jonka jokainen ankka-sana on korvattu merkeillä "an" ja jokainen mutta-sana on korvattu vaikka "mt". :P

EDIT: Eihän muuten zippitiedostoistakaan dataa katoa, vaikka niiden koko onkin usein paljon pienempi kuin alkuperäisten tiedostojen koko yhteensä.
PNG'ssä käytetään tasan samaa pakkausrutiinia kuin zipissä. Se on nimeltään muistaakseni deflate. Systeemi toimii tosiaan tuolla periaatteella kuin Harakka selitti. Kokeilepa tallentaa sama kuva bittikartaksi ja PNG'ksi. Pakkaa bittikartta zipiksi ja vertaa paketin ja PNG'n kokoa.

Ja joku täällä puhui 8-bittisistä väreistä, mutta ainakin minun tietooni, PNG-formaattiin voidaan änkeä 48-bittiset värit eli 48bit/3 = 16 bittiä per kanava. Ja lisäksi tosiaan 16-bittinen alpha-kanava (läpinäkyvyys).
EDIT:

Vielä pakkauksesta: Jos suuria mutta yksinkertaisia bittikarttakuvia pakataan, saatetaan pästä jopa yl 95% pakkaussuhteeseen. Joskus katselin ~8-vuotiaana WIN3.1'n paintbrushilla piirtelemiäni BMP-kuvia, jotka olivat zippeinä, ja tuo suhde oli tosiaan melkein kaikissa yli 80%

CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES

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

Re: Tyhmät kysymykset

Post by ;o »

osoite$ = Input("")

If KeyHit(cbKeyReturn) Then
Execute "http://"+osoite+""
EndIf


Mikä on kun tuolla koodilla firefox heittää että url on virheellinen eikä sitä voida ladata.

Siis vaikka heität inputtiin google.fi
iTKEVAnAKKI
Advanced Member
Posts: 335
Joined: Tue Aug 28, 2007 3:55 pm
Location: Siellä jossain

Re: Tyhmät kysymykset

Post by iTKEVAnAKKI »

;o wrote:osoite$ = Input("")

If KeyHit(cbKeyReturn) Then
Execute "http://"+osoite+""
EndIf


Mikä on kun tuolla koodilla firefox heittää että url on virheellinen eikä sitä voida ladata.

Siis vaikka heität inputtiin google.fi
Mulla toimii ihan oikein.

Code: Select all

Repeat

osoite$ = Input("")

If KeyHit(cbKeyReturn) Then
Execute "http://"+osoite+""
EndIf 

DrawScreen
Forever
Projektit:
Joku projekti meneillään... Mitähän siitäkin tulee ;)
jeah

Re: Tyhmät kysymykset

Post by jeah »

Juups, asia selvisi, omassa ohjelmassani osoiterivi aukeaa välilyönnillä ja näin inputti ottaa sen mukaan, joka ei taas ole kelvollinen osoite. Poistan välilyönnit ja muut erikoismerkit ennen sivun avaamista niin hyvin toimii. Kiitos =)
Locked