Tuon koodinpätkän perusteella veikkaisin mavin johtuvan siitä, että yrität käyttää 'tatti' objektia joka tuhoutui kutsuessasi screen-komentoa (se tuhoaa kaikki objektit muistista).kemp250 wrote:Miks tää MAVittaa?P.S.toi on vaan se mavittava osa koodiaCode: Select all
SCREEN 600,600 solttu=LoadObject ("C:\Program Files\CoolBasic\MeMedia\soldier.bmp") botti=LoadObject ("C:\Program Files\CoolBasic\MeMedia\botti.bmp") cur=LoadObject ("C:\Program Files\CoolBasic\MeMedia\tähtäin.bmp") PositionObject tatti, 60,0 PositionObject solttu, -60,0 Repeat Text 237, 250,"Valitse hahmosi" If UpKey() Then MoveObject cur, 0,-2 If DownKey() Then MoveObject cur, 0,2 If RightKey() Then MoveObject cur, 2,0 If LeftKey() Then MoveObject cur, -2,0 If KeyHit(cbkeyspace) And ObjectsOverlap (cur, tatti,1) Then ukko=tatti Goto alku EndIf If KeyHit(cbkeyspace) And ObjectsOverlap (cur, solttu,1) Then ukko=solttu Goto alku EndIf If KeyHit(cbkeyspace) And ObjectsOverlap (cur, cow,1) Then ukko=cow Goto alku EndIf DrawScreen Forever
Tyhmät kysymykset (I/2009)
Re: Tyhmät kysymykset
CoolBasic henkilökuntaa
Kehittäjä
Kehittäjä
-
- Newcomer
- Posts: 24
- Joined: Fri Nov 14, 2008 5:39 pm
- Location: En voi kertoa. He voivat kuunnella meitä.
Re: Tyhmät kysymykset
oho! kiitti, TheFish! Pelkkä huolimattomuusvirhe, enkä huomannu vaik kuinka yritin
"Working" for GameTailors.
Projektit:
Tower Climber, 23%
Avaruusjalkkisjuttu jossa ei ole jalkoja eikä palloja, 19%
I have been using coolbasic many years. I just fail a lot.
Projektit:
Tower Climber, 23%
Avaruusjalkkisjuttu jossa ei ole jalkoja eikä palloja, 19%
I have been using coolbasic many years. I just fail a lot.
- -Z-
- Devoted Member
- Posts: 682
- Joined: Tue Aug 28, 2007 3:33 pm
- Location: In ur danmaku, grazin ur bullets
Re: Tyhmät kysymykset
Tatti - objektia ei ladata alussa ja yrität silti käyttää sitä.kemp250 wrote:Miks tää MAVittaa?P.S.toi on vaan se mavittava osa koodiaCode: Select all
SCREEN 600,600 solttu=LoadObject ("C:\Program Files\CoolBasic\MeMedia\soldier.bmp") botti=LoadObject ("C:\Program Files\CoolBasic\MeMedia\botti.bmp") cur=LoadObject ("C:\Program Files\CoolBasic\MeMedia\tähtäin.bmp") PositionObject tatti, 60,0 PositionObject solttu, -60,0 Repeat Text 237, 250,"Valitse hahmosi" If UpKey() Then MoveObject cur, 0,-2 If DownKey() Then MoveObject cur, 0,2 If RightKey() Then MoveObject cur, 2,0 If LeftKey() Then MoveObject cur, -2,0 If KeyHit(cbkeyspace) And ObjectsOverlap (cur, tatti,1) Then ukko=tatti Goto alku EndIf If KeyHit(cbkeyspace) And ObjectsOverlap (cur, solttu,1) Then ukko=solttu Goto alku EndIf If KeyHit(cbkeyspace) And ObjectsOverlap (cur, cow,1) Then ukko=cow Goto alku EndIf DrawScreen Forever
"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
Re: Tyhmät kysymykset
Voisiko joku heittää esimerkin, jolla voisi tehdä hylsyn lentämään aseesta partikkelilla ammuttaessa?
-
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 3:53 pm
- Location: Suomi, Finland
- Contact:
Re: Tyhmät kysymykset
jos osaat kerran tehä ammuksia niin ei siinä pitäisi mitään ihmeellistä olla, teet vain niille hauleille oman typen ja päivität ne. Luot aina yhden kun henkilö ampuu.
Re: Tyhmät kysymykset
noo juu, mutta onko se kannattavinta tehtä partikkeleilla vai typeillä vai voiko partikkeleita käyttää typeillä? Ja en oikein tajua noita partikkeleita. Tuossa manuaalin esimerkissäkin niitä tulee kokoajan, vaikka sitä ei olla määritelty repeatin sisällä millään lailla.
Re: Tyhmät kysymykset
Miten niin ei ole määritelty? Vilkaisepa rivejä 61-66.Sepi wrote:Ja en oikein tajua noita partikkeleita. Tuossa manuaalin esimerkissäkin niitä tulee kokoajan, vaikka sitä ei olla määritelty repeatin sisällä millään lailla.
Re: Tyhmät kysymykset
No siis puhuin tuosta manuaalin esimerkistä, en oppitunnista mutta jokatapauksessa pitää katsoa huomenna uusiksi, tänään nimittäin oksennustaudissa
-
- Newcomer
- Posts: 24
- Joined: Fri Nov 14, 2008 5:39 pm
- Location: En voi kertoa. He voivat kuunnella meitä.
Re: Tyhmät kysymykset
missä vika? taaskaan ei löydy.
kiitti, jos vaivaudutte auttamaan
Code: Select all
SCREEN 900,900
Type AMMUS
Field obj
End Type
FrameLimit 40
botti=LoadObject("C:\Program Files\CoolBasic\MeMedia\botti.bmp",72)
ukko=LoadObject("C:\Program Files\CoolBasic\MeMedia\soldier.bmp",72)
pati=LoadObject("C:\Program Files\GraphicsGale FreeEdition\mans vs. bots\missile.bmp",72)
ShowObject pati,OFF
AddText "tapa robotti!"
If ObjectsOverlap(pati,botti)Then
botti_life - 10
If botti_life<0 Then
DeleteObject botti
Repeat
ukko_life=100
botti_life=100
Text 10,10,"ukon energia - "+ukko_life
Text 700,10,"robotin energia - "+botti_life
Box 10,25,p1_life,10,OFF
If LeftKey() Then TurnObject ukko,5
If RightKey() Then TurnObject ukko,-5
If UpKey() Then MoveObject ukko,2
If DownKey() Then MoveObject ukko,-2
If KeyDown(cbKeyRControl) And reload=0 Then
luoti.AMMUS = New(AMMUS)
luoti\obj=CloneObject(pati)
CloneObjectPosition luoti\obj,ukko
CloneObjectOrientation luoti\obj,ukko
reload=50
EndIf
If reload>0 Then reload=reload-1
For luoti.AMMUS = Each AMMUS
MoveObject luoti\obj,6
If KeyDown(cbkeyescape)
EndIf
Next luoti
DrawGame
DrawScreen
Until EscapeKey()
"Working" for GameTailors.
Projektit:
Tower Climber, 23%
Avaruusjalkkisjuttu jossa ei ole jalkoja eikä palloja, 19%
I have been using coolbasic many years. I just fail a lot.
Projektit:
Tower Climber, 23%
Avaruusjalkkisjuttu jossa ei ole jalkoja eikä palloja, 19%
I have been using coolbasic many years. I just fail a lot.
Re: Tyhmät kysymykset
Code: Select all
If ObjectsOverlap(pati,botti)Then
botti_life - 10
If botti_life<0 Then
DeleteObject botti
Ja se pitäisi olla:
Code: Select all
for luoti.AMMUS = Each AMMUS
If ObjectsOverlap(luoti\obj,botti)Then
botti_life - 10
deleteobject luoti\obj
delete luoti
endif
If botti_life<0 Then
DeleteObject botti
endif
Code: Select all
if botti_on=1 then
If botti_life<0 Then
DeleteObject botti
botti_on=0
endif
endif
Re: Tyhmät kysymykset
Mutta jos teet botitkin typeillä, voi evotella sydämensä kyllyydestä kun vain muistaa poistaa tyypit niiden kuoltua. Opetteles soveltamaan tyyppejä koko peliin, tulee paljon helpommin hallittava kokonaisuus.
Nyrkkisääntö: jos jotain on pelissäsi yli 2, tee ne tyypeillä tai taulukoilla. Helpottaa kaikkia.
Nyrkkisääntö: jos jotain on pelissäsi yli 2, tee ne tyypeillä tai taulukoilla. Helpottaa kaikkia.
Ratkaisit juuri universaaliongelman! Hienoa, ota keksi.
Filosofia on ajattelun taidetta, mutta sen maalari elää juoden apurahojaan masennukseensa.
Filosofia on ajattelun taidetta, mutta sen maalari elää juoden apurahojaan masennukseensa.
Re: Tyhmät kysymykset
Paras tapa on makeimagella, johon sitten piirretään kirjain. Sen jälkeen tehdään objekti, ja objekti maalataan kuvalla.
Code: Select all
kirjainkuva1=MakeImage(10,10) //Tehdään kuva jonka nimi on kirjainkuva1
DrawToImage kirjainkuva1 //Piirretään kuvaan kirjainkuva1
Text 0,0,"A" //Piirretään kirjain
DrawToScreen //Tällä lopetetaan drawtoimage, eli käsketään piirtokomennot näytölle
kirjainobj1=MakeObject() //Tehdään uusi objekti kirjainobj1
PaintObject kirjainobj1,-kirjainkuva1 //Maalataan kirjainobj1 kuvalla kirjainkuva1
-
- Active Member
- Posts: 170
- Joined: Mon Jun 23, 2008 9:04 pm
Re: Tyhmät kysymykset
Mulla on ollut jo vaikka kuinka kauan ongelmana tällänen. Eli kuinka saan tehtyä sellasen toiminnon, joka näppäintä painettaessa arpoo jonkin luvun väliltä 1-10. Jos on suurempi kuin 5 niin osuttiin viholliseen ja jatketaan seuraavaan Caseen. Jos taas on 5 tai pienempi niin mennään taas eri Caseen. Teen tekstipeliä jossa tarvittasiin tuota toimintoa arpomaan osuuko pelaaja oravaan. Olen vaan saanut aikaiseksi sellaisen että tulos esitetään ruudulle ja sitten pitää itse valita osuiko vai eikö.(eli pystyy huijaamaan)
Väsyttää niin ettei jaksa edes mennä lepäämään.
Re: Tyhmät kysymykset
Rand komento arpoo kokonaisluvun väliltä rand(luku1,luku2)
jos haluat ottaa desimaalit mukaan käytä komentoa rnd(luku1,luku2)
Tutustu if lauseisiin..
Pieni päätön esimerkki..
Innostuin vähäsen ja tein nopeasti tälläisen 5min toisen töherryksen xD Tosin coolbasicillä nämä laskut eivät ole mitään nopeita.. Oma kone viidellä miljoonalla yrityksellä arvasi 30 kertaa peräkkäin suuremman luvun kuin 5.
EDIT: Taidan ohjelmoida saman C++:lla ja testaan nopeuseron xD, mutta onhan tuo vähän tuuripeliä. Nytten uusiksi sain 30 peräkkäistä vasta 100 miljoonan yrityksen jälkeen..
Tässä vielä C++:salla toteutettu versio.. Menee vähän offtopicicsi, mutta hauska vertailla CB ja c++ nopeutta Laskee noin 10x nopeammin.
jos haluat ottaa desimaalit mukaan käytä komentoa rnd(luku1,luku2)
Tutustu if lauseisiin..
Pieni päätön esimerkki..
Code: Select all
Repeat
luku=Rand(1,10)
If luku>5 Then
//do something-.-
Else
addtext "Loppui, huono tuuri"
DrawScreen
WaitKey
End
EndIf
AddText "Next case"
DrawScreen
WaitKey
Until EscapeKey()
Code: Select all
Repeat
For a=0 To 10000 ' nopeuttaa, kun ei tarvi kokoajan piirtää näytölle
kierroksia=0
Repeat
kierroksia+1
luku=Rand(1,10)
If luku<=5 Then Exit
Until EscapeKey()
yrityksia+1
Maximi=Max(kierroksia,maximi) ' ottaa suurimman luvun aikaisemmasta maximista ja kierroksista
Next a
Text 10,40,"Maksimi arvauksia peräkkäin: "+maximi
Text 10,60,"Yrityksiä mennyt: "+ yrityksia
Text 300,40,"FPS: "+FPS()
DrawScreen
Until EscapeKey()
Tässä vielä C++:salla toteutettu versio.. Menee vähän offtopicicsi, mutta hauska vertailla CB ja c++ nopeutta Laskee noin 10x nopeammin.
Code: Select all
#include <iostream>
using namespace std;
long long int kierrokset; // määritellään muutujat
int kertoja,kierroksetmax;
int main(void)
{
srand(time(0)); // putsaa vanhan arvotun sanan
while (true)
{
for (int i=0; i<10000000; i++) // jos luvut menee liian nopeasti/hitaasti muuta ruudun päivitysväliä
{
kierrokset=0;
while (true)
{
kierrokset++;
if (rand() % 101 < 50) break; // testaile eri suhteilla.. Muista, että rand aloittaa nollasta
}
kertoja++;
if (kierrokset>kierroksetmax) kierroksetmax=kierrokset;
}
cout << "Kertoja arvattu perakkain ennatys: " << kierroksetmax << endl;
cout << "Yrityksia mennyt: " << kertoja << endl<< endl;
}
}
Last edited by Jonhu on Mon Nov 24, 2008 5:24 pm, edited 3 times in total.
Re: Tyhmät kysymykset
Niin, no, mahdollisuudet tuolle 30 putkelle ovat 1/2^30, eli 0,000000000931...%. Hyvä sekin
Ratkaisit juuri universaaliongelman! Hienoa, ota keksi.
Filosofia on ajattelun taidetta, mutta sen maalari elää juoden apurahojaan masennukseensa.
Filosofia on ajattelun taidetta, mutta sen maalari elää juoden apurahojaan masennukseensa.
-
- Active Member
- Posts: 170
- Joined: Mon Jun 23, 2008 9:04 pm
Re: Tyhmät kysymykset
Kiitos Jonhulle "päättömästä" esimerkistä, muuntelin sitä vain hieman ja koodini toimii nyt kunnolla, ja lisäksi sain uutta puhtia projektiini tuon avulla
Väsyttää niin ettei jaksa edes mennä lepäämään.
Re: Tyhmät kysymykset
Minusta CB:n ja C++:n nopeuksia ei kannata verrata toisiinsa, koska lopputulos on aina sama teki mitä tahansa(tämä on vain minun mielipiteeni).Jonhu wrote:
Tässä vielä C++:salla toteutettu versio.. Menee vähän offtopicicsi, mutta hauska vertailla CB ja c++ nopeutta Laskee noin 10x nopeammin.Code: Select all
koodia
Re: Tyhmät kysymykset
Näin tuo on minunkin mielestäni, koska CoolBasic on tulkattava, ja C++ käännettävä.phons wrote:Minusta CB:n ja C++:n nopeuksia ei kannata verrata toisiinsa, koska lopputulos on aina sama teki mitä tahansa(tämä on vain minun mielipiteeni).
Toki onhan sitä nopeitakin tulkattavia kieliä olemassa. Esim Java, Ruby ja Python. Varmasti on muitakin tulkattavia kieliä, enemmän tai vähemmän nopeita, kuin noi mainitsemani kielet.
Javahan tosin käännetään tavukoodiksi, ja sitä tavukoodia tulkataan sille tehtyllä "virtuaalikoneella".
Yleensäkkin noissa tulkattavissa kielissä, koodi kannattaa kääntää tavukoodiksi, jotta source tiedostoa ei tarvi
pitää auki koko aikaa + lisäksi siinä on jonkinlainen nopeus-etu.
Tarkemmin en ole tuohon perehtynyt, mutta tuon tiedon verran olen lukenut materiaalia netistä.
Re: Tyhmät kysymykset
Miten saisin laatikolle taustavärin (Siten että teksti näkyy siinä päällä)?
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