Tyhmät kysymykset (I/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
Olwi
Devoted Member
Posts: 557
Joined: Sun Dec 30, 2007 4:15 pm
Location: Muhos

Re: Tyhmät kysymykset

Post by Olwi »

Mihin kansioon olet tallentanut pelin?
Jos cb-kansioon,en tiedä vastausta,jos mediaan,poista tuo "media\"-kohta,ja jos johonkin muualle,tallenna cb:n kansioon...
Huuda mun ip:tä!
Osaamaton

Re: Tyhmät kysymykset

Post by Osaamaton »

Juuri siihen ennen mediaa olevaan kansioon, samaan siis jossa on CB:n starri-kuvake jne.
atomimalli
Moderator
Moderator
Posts: 227
Joined: Wed Aug 29, 2007 3:55 pm

Re: Tyhmät kysymykset

Post by atomimalli »

Vika on F-securen vainoharhaisuuden. Pääset ongelmasta eroon sulkemalla sen. Olen kokeillut valkoiselle listalle lisäämistä sun muuta mutta ei auta. Siinä tapahtuu niin että exe muuttuu -> epäily viruksesta -> automaattinen estäminen... ärsyttävää.
EDIT:

ongelma on siis äänien kanssa, muutoin vaan se hidastuminen.

Last edited by atomimalli on Thu Jun 05, 2008 9:44 pm, edited 1 time in total.
TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: Tyhmät kysymykset

Post by TheFish »

atomimalli wrote:Vika on F-securen vainoharhaisuuden. Pääset ongelmasta eroon sulkemalla sen. Olen kokeillut valkoiselle listalle lisäämistä sun muuta mutta ei auta. Siinä tapahtuu niin että exe muuttuu -> epäily viruksesta -> automaattinen estäminen... ärsyttävää.
Ehkä hieman offtopikkia, mutta ainakin itselläni riittää kun laittaa cbrunin sallituksi sinne F-securen järjestelmänhallinan sovellukset-listaan (tosin F-secure silti hidastaa käynnistystä aika paljon).
CoolBasic henkilökuntaa
Kehittäjä
Osaamaton

Re: Tyhmät kysymykset

Post by Osaamaton »

Itse asiassa itselläni ei edes ole koko F-secura vaan käytän Comodoa ja Avast!:ia. :)
Nyt se saa ne filut ladattua mut se alkaa valittaa siitä lopusta että "Structure blocking at line 48"

SIIS VOITTEKO USKOA!!! EKA SE EI LATAA NIITÄ PERKELEEN FILUJA JA SIT SE KEKSII ETT FOREVER PITÄS OTTAA HEÖVETTII SIELTÄ EIKÄ SE SILLEENKÄÄ TOIMI!!! OSAISKO JOKU KORJATA TON PULMAN, kiitos (?)
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Tyhmät kysymykset

Post by Sly_Jack0 »

SIT SE KEKSII ETT FOREVER PITÄS OTTAA HEÖVETTII SIELTÄ

Code: Select all

If Timer() > alkuaika + 1000 Then
newangle=Rand(360)
alkuaika = timer()
EndIf
RotateObject botti,CurveAngle(newangle,ObjectAngle(botti),10)
MoveObject botti,1
EndIf //MUISTA SULKEA IF-LAUSEKKEET!!!!
Eli siis ongelma oli siinä että et ollut sulkenut tuota if-lauseketta.
User avatar
valscion
Moderator
Moderator
Posts: 1598
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset

Post by valscion »

Sly_Jack0 wrote:
SIT SE KEKSII ETT FOREVER PITÄS OTTAA HEÖVETTII SIELTÄ

Code: Select all

If Timer() > alkuaika + 1000 Then
newangle=Rand(360)
alkuaika = timer()
EndIf
RotateObject botti,CurveAngle(newangle,ObjectAngle(botti),10)
MoveObject botti,1
EndIf //MUISTA SULKEA IF-LAUSEKKEET!!!!
Eli siis ongelma oli siinä että et ollut sulkenut tuota if-lauseketta.
Nythän siinä on turha EndIf? Ainakin omien laskujen mukaan.
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
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Tyhmät kysymykset

Post by Sly_Jack0 »

Oho, sori. En huomannut tuota endiffiä tuolla välissä.(Voisit sisentää koodiasi)
iTKEVAnAKKI
Advanced Member
Posts: 335
Joined: Tue Aug 28, 2007 3:55 pm
Location: Siellä jossain

Re: Tyhmät kysymykset

Post by iTKEVAnAKKI »

Tän sen siitä taas saa kun yrittää koodata väsyneenä, eli en löydä virhettä koodista mutta silti tulee vanha ystävämme MAV!

Code: Select all

SCREEN 800,600
FrameLimit 60

  Global palikoita,Punainen,Sininen
  
  Punainen=LoadObject("Media\punainen.png")
    ShowObject punainen,OFF
    
  Sininen=LoadObject("Media\Sininen.png")
    ShowObject Sininen,OFF   
   
  Type Palikat
    Field obj
    Field kesto
  EndType
  
  Type HAJOAMINEN
    Field obj
    Field aika
    Field ymove#
    Field xmove#
  EndType

  create_mission(ScreenWidth()/2-50,ScreenHeight()/2-50,10,10,sininen)

  aikaa=palikoita/3

  hiiri=MakeObject()

  taso=1
  tasosiirtymä=ON

  timestamp=Timer()

  taso=1
  
  koko=1

Repeat

  PositionObject hiiri,MouseWX(),MouseWY()
  
  For palikka.palikat=Each palikat
    If Distance2(palikka\obj,hiiri)<8 And MouseDown(1) Then
      palikka\kesto-1
    EndIf
    
    If Distance2(palikka\obj,hiiri)<50 And MouseDown(2) Then
      palikka\kesto-1
      pisteet-1
    EndIf
    
    If palikka\kesto<0 Then
      palikoita-1
      pisteet+1
      Räjäytä(ObjectX(palikka\obj),ObjectY(palikka\obj),palikka\obj)
      DeleteObject palikka\obj
      Delete palikka
    EndIf
   
  Next palikka

  If Timer()>timestamp+1000 Then
    aikaa-1
    timestamp=Timer()
  EndIf
  If aikaa<0 Then
    For a=1 To 5
      If taso=a Then
        create_mission(ScreenWidth()/2-((10+taso*5)*10)/2,ScreenHeight()/2-((10+taso*5)*10)/2,10+taso*5,10+taso*5,punainen)
      EndIf
    Next a
    If taso>=6 And taso<12
      laskutaso=taso-5
      create_mission(ScreenWidth()/2-((10+laskutaso*5)*10)/2,ScreenHeight()/2-((10+laskutaso*5)*10)/2,10+laskutaso*5,10+laskutaso*5,100,Sininen)
    EndIf
    aikaa=palikoita/3
  EndIf
  If palikoita<=0 Then 
    taso+1
    
    Select taso
      Case 3
        koko=2
      Case 5
        koko=4
      Case 10
        koko=6
    EndSelect
    
    For a=1 To 5
      If taso=a Then
        create_mission(ScreenWidth()/2-((10+taso*5)*10)/2,ScreenHeight()/2-((10+taso*5)*10)/2,10+taso*5,10+taso*5,punainen)
      EndIf
    Next a
    If taso>=6 And taso<12
      laskutaso=taso-5
      create_mission(ScreenWidth()/2-((10+laskutaso*5)*10)/2,ScreenHeight()/2-((10+laskutaso*5)*10)/2,10+laskutaso*5,10+laskutaso*5,100,Sininen)
    EndIf
    aikaa=palikoita/(3*taso)
  EndIf
  
  For pum.HAJOAMINEN=Each HAJOAMINEN
    pum\aika-1
    MoveObject pum\obj,pum\xmove,pum\ymove
    pum\ymove+0.5
    If pum\aika<0 Then
      DeleteObject pum\obj
      Delete pum
    EndIf
  Next pum

DrawGame
  Text 0,0,palikoita
  Text 0,10,aikaa
  Text 0,20,pisteet
  Text 0,30,taso
  Text 0,40,laskutaso

DrawScreen
Forever 

Function Create_mission(x,y,leveys,korkeus,img,aika=1)
  For palikka.palikat=Each palikat
    palikoita-1
    DeleteObject palikka\obj
    Delete palikka
  Next palikka
  For x2=0 To leveys
  For y2=0 To korkeus
    palikka.palikat=New(palikat)
      palikka\obj=CloneObject(img)
        ScreenPositionObject palikka\obj,x+x2*10,y+y2*10
      palikka\kesto=aika
      palikoita+1
  Next y2
  Next x2
EndFunction 

Function Räjäytä(x,y,obj)
  pum.HAJOAMINEN=New(HAJOAMINEN)
    pum\obj=CloneObject(obj)
    pum\aika=100
    PositionObject pum\obj,x,y
    pum\ymove=-5
    pum\xmove=Rand(-5,5)
EndFunction 
Projektit:
Joku projekti meneillään... Mitähän siitäkin tulee ;)
User avatar
valscion
Moderator
Moderator
Posts: 1598
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset

Post by valscion »

iTKEVAnAKKI wrote:Tän sen siitä taas saa kun yrittää koodata väsyneenä, eli en löydä virhettä koodista mutta silti tulee vanha ystävämme MAV!

Code: Select all

...koodia...
Poistat create_mission funkkarissa objektin palikka, mutta tarkistat sitä vielä uudelleen seuraavalla kierroksella. Siitä tulee ainakin MAV.
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
iTKEVAnAKKI
Advanced Member
Posts: 335
Joined: Tue Aug 28, 2007 3:55 pm
Location: Siellä jossain

Re: Tyhmät kysymykset

Post by iTKEVAnAKKI »

Ainiin unohin sanoo, et se tulee kun päästään tasolle 6, eli silloin kun palikoiden pitäis vaihtua siniseks. Eikä auttanut vaikka lisäsin Exitin.
Projektit:
Joku projekti meneillään... Mitähän siitäkin tulee ;)
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 »

Ihan koodin rakennetta koskevaa ihmettelyä: miksi kaksi typeä? Saman saisi hoidettua helpommin ja siistimmin yhdellä O.o
iTKEVAnAKKI
Advanced Member
Posts: 335
Joined: Tue Aug 28, 2007 3:55 pm
Location: Siellä jossain

Re: Tyhmät kysymykset

Post by iTKEVAnAKKI »

Joo se jäin, kun aluksi pti tulla erinlaiset efektit, joten tein niille oman typen. Mutta muutinkin se yksinkertaisemmaksi, koska fps laski liikaa ;)
Projektit:
Joku projekti meneillään... Mitähän siitäkin tulee ;)
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 »

Kannattaa sulauttaa nuo yhteen, selkeytyy huomattavasti. Lisäät vain jonkin muuttujan, jolla tarkistat jäsenen tilan.
iTKEVAnAKKI
Advanced Member
Posts: 335
Joined: Tue Aug 28, 2007 3:55 pm
Location: Siellä jossain

Re: Tyhmät kysymykset

Post by iTKEVAnAKKI »

En vieläkään löydä ongelmaa! Eli voisiko joku auttaa?

Code: Select all

SCREEN 800,600
FrameLimit 60

  Global palikoita,Punainen,Sininen
  
  Punainen=LoadObject("Media\punainen.png")
    ShowObject punainen,OFF
    
  Sininen=LoadObject("Media\Sininen.png")
    ShowObject Sininen,OFF   
   
  Type Palikat
    Field obj
    Field kesto
    Field tila    
    Field aika
    Field ymove#
    Field xmove#
  EndType

  create_mission(ScreenWidth()/2-50,ScreenHeight()/2-50,10,10,punainen)

  aikaa=palikoita/3

  hiiri=MakeObject()

  taso=1
  tasosiirtymä=ON

  timestamp=Timer()

  taso=1
  
  koko=1

Repeat

  PositionObject hiiri,MouseWX(),MouseWY()
  
  For palikka.palikat=Each palikat
    If Distance2(palikka\obj,hiiri)<8 And MouseDown(1) Then
      palikka\kesto-1
    EndIf
    
    If Distance2(palikka\obj,hiiri)<50 And MouseDown(2) Then
      palikka\kesto-1
      pisteet-1
    EndIf
    
    If palikka\kesto<0 And palikka\tila=0 Then
      palikoita-1
      pisteet+1
      
      palikka\tila=2
      palikka\aika=100
      palikka\ymove=-5
      palikka\xmove=Rand(-5,5)
    EndIf
   
  Next palikka

  If Timer()>timestamp+1000 Then
    aikaa-1
    timestamp=Timer()
  EndIf
  If aikaa<0 Then
    For a=1 To 5
      If taso=a Then
        create_mission(ScreenWidth()/2-((10+taso*5)*10)/2,ScreenHeight()/2-((10+taso*5)*10)/2,10+taso*5,10+taso*5,punainen)
      EndIf
    Next a
    If taso>=6 And taso<12
      laskutaso=taso-5
      create_mission(ScreenWidth()/2-((10+laskutaso*5)*10)/2,ScreenHeight()/2-((10+laskutaso*5)*10)/2,10+laskutaso*5,10+laskutaso*5,100,Sininen)
    EndIf
    aikaa=palikoita/3
  EndIf
  If palikoita<=0 Then 
    taso+1
    
    Select taso
      Case 3
        koko=2
      Case 5
        koko=4
      Case 10
        koko=6
    EndSelect
    
    For a=1 To 5
      If taso=a Then
        create_mission(ScreenWidth()/2-((10+taso*5)*10)/2,ScreenHeight()/2-((10+taso*5)*10)/2,10+taso*5,10+taso*5,punainen)
      EndIf
    Next a
    If taso>=6 And taso<12
      laskutaso=taso-5
      create_mission(ScreenWidth()/2-((10+laskutaso*5)*10)/2,ScreenHeight()/2-((10+laskutaso*5)*10)/2,10+laskutaso*5,10+laskutaso*5,100,punainen)
    EndIf
    aikaa=palikoita/(3*taso)
  EndIf
  
  For pum.palikat=Each palikat
    If pum\tila=2
      pum\aika-1
      MoveObject pum\obj,pum\xmove,pum\ymove
      pum\ymove+0.5
      If pum\aika<0 Then
        DeleteObject pum\obj
        Delete pum
      EndIf
    EndIf
  Next pum

DrawGame
  Text 0,0,palikoita
  Text 0,10,aikaa
  Text 0,20,pisteet
  Text 0,30,taso
  Text 0,40,laskutaso

DrawScreen
Forever 

Function Create_mission(x,y,leveys,korkeus,img,aika=1)
  For palikka.palikat=Each palikat
    palikoita-1
    DeleteObject palikka\obj
    Delete palikka
    Exit
  Next palikka
  For x2=0 To leveys
  For y2=0 To korkeus
    palikka.palikat=New(palikat)
      palikka\obj=CloneObject(img)
        ScreenPositionObject palikka\obj,x+x2*10,y+y2*10
      palikka\kesto=aika
      palikoita+1
  Next y2
  Next x2
EndFunction 
Ja mavi tulee kun vitos tasolta ollaan siirtymässä kuutoselle.
Projektit:
Joku projekti meneillään... Mitähän siitäkin tulee ;)
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 »

Annat parametrejä väärässä järjestyksessä.

Code: Select all

create_mission(ScreenWidth()/2-((10+laskutaso*5)*10)/2,ScreenHeight()/2-((10+laskutaso*5)*10)/2,10+laskutaso*5,10+laskutaso*5,[u]100,Sininen[/u])

Code: Select all

Function Create_mission(x,y,leveys,korkeus,[u]img,aika=1[/u])
Eli annat objektiksi luvun 100, missä objektisi tuskin sijaitsee, ja ajaksi objektin "sininen" sijainti muistissa. Käännä "100,Sininen"->"Sininen, 100".

Koodisi on muuten hieman purkkaa ja aika epäselvää D:
iTKEVAnAKKI
Advanced Member
Posts: 335
Joined: Tue Aug 28, 2007 3:55 pm
Location: Siellä jossain

Re: Tyhmät kysymykset

Post by iTKEVAnAKKI »

Ohhoh, sen siitä saa kun koodaan väsyneenä ;) kiitos.

Joo varmasti on purkkaa kun koodasin tunnin väsyneenä ja muutenki ei oikeen enään luonnistu :P en tiiä miks ei, unohtanu kaiken parissa kuukaudessa :D
Projektit:
Joku projekti meneillään... Mitähän siitäkin tulee ;)
-Z-, joka ei jaksanut kirjautua sisään tällä kannettavan huippuhitaalla nettiyhteydellä

Re: Tyhmät kysymykset

Post by -Z-, joka ei jaksanut kirjautua sisään tällä kannettavan huippuhitaalla nettiyhteydellä »

Nopea välikysymys: CB:ssä ei taida olla valmiina funktiota joka poimii kuvan väriarvon annetuista koordinaateista ja palauttaa sen? Löysin vaan noita jotka asettaa piirtoväriksi... Sain systeemini kyllä jo hoidettua toimivaksi pikku kikkailulla, mutta ihan koodin selkeyttämisen vuoksi kysyn.
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset

Post by Jonez »

Ei suoraa funktiota, mutta asia hoituu helposti. PickColor poimii värin ja asettaa sen piirtoväriksi. GetRGB() palauttaa nykyisen piirtovärin.
Eli:

Code: Select all

PickColor x, y
_r = getRGB( RED )
_g = getRGB( GREEN )
_b = getRGB( BLUE )
Jos haluat lukea tietyn väriarvon, mutta säilyttää nykyisen piirtovärin, sen saa aikaiseksi näin:

Code: Select all

_oldR = getRGB( RED )
_oldG = getRGB( GREEN )
_oldB = getRGB( BLUE )

PickColor x, y
_r = getRGB( RED )
_g = getRGB( GREEN )
_b = getRGB( BLUE )

Color _oldR, _oldG, _oldB   //asetetaan alkuperäinen piirtoväri.
Edit. Sitten on olemassa vielä paljon nopeammat GetPixel(), GetPixel2(), PutPixel ja PutPixel2.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
User avatar
-Z-
Devoted Member
Posts: 682
Joined: Tue Aug 28, 2007 3:33 pm
Location: In ur danmaku, grazin ur bullets

Re: Tyhmät kysymykset

Post by -Z- »

Selvä on, noin sen olinkin jo tehnyt. Mutta vielä olisi toinenkin kysymys: Onko mitenkään mahdollista lukea tekstitiedostosta tiettyä riviä, ja tallentaa sitä ja viittää seuraavaa riviä eri muuttujiin?
"Fallout 3 (#10) marked a shift in the industry, a move that saw the western RPG begin to surpass its Japanese counterparts." -IGN top 100 RPGs of all time
Locked