Tyhmät kysymykset (I/2010)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
cool-driver
Active Member
Posts: 116
Joined: Sat Feb 14, 2009 7:47 am

Re: Tyhmät kysymykset (I/2010)

Post by cool-driver »

Tämä ei varsinaisesti liity ohjelmointiin, mutta laitoin nyt tänne, koska en viitsinyt tehdä uutta aihetta. Eli kun valitsen koodilleni Compile and run, niin miten saan otettua screenshotin siitä ajetusta ohjelmasta?
Projektit:
Ships Income Liikenne Suomesta Beta 2: valmis. Lataa tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
Diktaattori Beta 2: valmis. Lataa Tästä Projekti keskeytetty. Tehdään loppuun uuden CoolBasicin tulon jälkeen.
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

cool-driver wrote:Tämä ei varsinaisesti liity ohjelmointiin, mutta laitoin nyt tänne, koska en viitsinyt tehdä uutta aihetta. Eli kun valitsen koodilleni Compile and run, niin miten saan otettua screenshotin siitä ajetusta ohjelmasta?
Pelkästä ohjelmasta otettu screenshot onnistuu Screenshot -komennolla. Koko näytöstäsi otettu screenshot onnistuu Print Screen -näppäimellä näppäimistöstäsi, se voi olla vaikka Prt Scr tai Prnt Scrn (tjs). Kuva otetaan leikepöydälle, eli voit tuoda kuvan Painttiin painamalla paintissa ctrl+v. Myös painamalla tuota "Liitä" -yhdistelmää, voit lähettää screenshotin vaikka Messengerillä kaverillesi ;)
Astigma
Moderator
Moderator
Posts: 195
Joined: Sun Aug 26, 2007 5:56 pm
Location: Kuopio, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Astigma »

DJ-Filbe wrote:
cool-driver wrote:Tämä ei varsinaisesti liity ohjelmointiin, mutta laitoin nyt tänne, koska en viitsinyt tehdä uutta aihetta. Eli kun valitsen koodilleni Compile and run, niin miten saan otettua screenshotin siitä ajetusta ohjelmasta?
Pelkästä ohjelmasta otettu screenshot onnistuu Screenshot -komennolla. Koko näytöstäsi otettu screenshot onnistuu Print Screen -näppäimellä näppäimistöstäsi, se voi olla vaikka Prt Scr tai Prnt Scrn (tjs). Kuva otetaan leikepöydälle, eli voit tuoda kuvan Painttiin painamalla paintissa ctrl+v. Myös painamalla tuota "Liitä" -yhdistelmää, voit lähettää screenshotin vaikka Messengerillä kaverillesi ;)
Jos haluat ottaa tuolla Print Screen -näppäimellä kuvan vain aktiivisesta ikkunasta onnistuu se painamalla Alt + Print Screen. Näin leikepöydälle tallentuu vain aktiivisen ikkunan screenshot.
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by tuhoojabotti »

Astigma wrote:Jos haluat ottaa tuolla Print Screen -näppäimellä kuvan vain aktiivisesta ikkunasta onnistuu se painamalla Alt + Print Screen. Näin leikepöydälle tallentuu vain aktiivisen ikkunan screenshot.
Omg, aina oppii uutta!
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

tuhoojabotti wrote:
Astigma wrote:Jos haluat ottaa tuolla Print Screen -näppäimellä kuvan vain aktiivisesta ikkunasta onnistuu se painamalla Alt + Print Screen. Näin leikepöydälle tallentuu vain aktiivisen ikkunan screenshot.
Omg, aina oppii uutta!
Tosiaan :D
Jermu

Re: Tyhmät kysymykset (I/2010)

Post by Jermu »

Miten pitäisi alottaa jos olen ihan aloittelija koko Coolbasicissa eli mitä teen ekaksi?
Kasp3r
Newcomer
Posts: 23
Joined: Fri Jun 04, 2010 10:34 am

Re: Tyhmät kysymykset (I/2010)

Post by Kasp3r »

Jermu wrote:Miten pitäisi alottaa jos olen ihan aloittelija koko Coolbasicissa eli mitä teen ekaksi?
Selaa learning centterin tutoriaalit läpi, saat sen auki F8.

Niin minä aloitin, sillä lailla oppii perusteet ja saa hieman kuvaa minkälainen kieli CB on.
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2010)

Post by Awaclus »

Jermu wrote:Miten pitäisi alottaa jos olen ihan aloittelija koko Coolbasicissa eli mitä teen ekaksi?
Kannattaa selailla myös manuaalin aloittelijoille suunnattuja sivuja.
Eräs Vieralija

Re: Tyhmät kysymykset (I/2010)

Post by Eräs Vieralija »

Terve taas.

Olen tyypeillä luonut lauman vihollisia. Miten saisin tehtyä niin, että jokaisella olisi oma järjestysnumero?
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tyhmät kysymykset (I/2010)

Post by esa94 »

Eräs Vieralija wrote:Terve taas.

Olen tyypeillä luonut lauman vihollisia. Miten saisin tehtyä niin, että jokaisella olisi oma järjestysnumero?

Code: Select all

Function LuoVihu()
        Dim vihu.VIHU
        vihu.VIHU = New( VIHU )
        vihu\id = gID
        gID = gID + 1
EndFunction
Missä VIHU on vihutyyppi ja gID on globaali kokonaislukumuuttuja joka on alustettu arvoon 0
Pate5
Artist
Artist
Posts: 551
Joined: Tue Aug 28, 2007 4:53 pm
Location: Vantaa

Re: Tyhmät kysymykset (I/2010)

Post by Pate5 »

Eräs Vieralija wrote:Terve taas.

Olen tyypeillä luonut lauman vihollisia. Miten saisin tehtyä niin, että jokaisella olisi oma järjestysnumero?
1.) Tee viholliset taulukoilla. Taulukoissa on omat hankaluutensa ja hyvät puolensa, mutta numerointi on helppo toteuttaa.
2.) Lisää viholliset-typeen järjestysnumero-kenttä, ja lisää vihollisten järjestysnumero siihen.
3.) Kasvata jotakin muuttujaa yhdellä käydessäsi tyypin jäseniä läpi.
EDIT:

Olin hitaampi :)

CoolBasic henkilökuntaa
Graafikko
Eräs Vierailija

Re: Tyhmät kysymykset (I/2010)

Post by Eräs Vierailija »

Heh. Onnistuin toteuttamaan tämän jo näin:

Code: Select all

For i=1 To 1000
            vihu.enemy = New (enemy)
            vihu\numero+enemies
            enemies+1
Next i
...Mutta sitten seuraava kysymys. Kun vihuun koskee, sen viereen pitäisi ilmestyä pelimaailmaan piirretty teksti. Ensimmäisen tapetun vihun viereen tulisi esimerkiksi "Tervetuloa peliin!" ja toisen "Olet nähtävästi jo huomannut, miten peliä pelataan" (joo, tämä idea on aika fiksu) ja niin edelleen. Ei siis tuon järjestysnumeron perusteella, vaan sen, monentenako kunkin vihollisen on tappanut. Miten tämä onnistuisi helpoiten?
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset (I/2010)

Post by Jonez »

Voit tehdä taas uuden globaalin muuttujan, esim. gVihujaAmmuttu, jota lisätään aina yhdellä kun vihu tapetaan. Sitten tapetun vihun jäsenmuuttujaan, vaikka muuttuja nimeltä kuoloJärjestys, joka säilöö aina uusimman gVihujaAmmuttu-muuttujan arvon. Vähän kuten esa94 selitti noissa ID:issä.

Sitten aina kun käyt viholliset läpi, tarkastetaan onko kuoloJärjestys erisuuri kuin nolla, ja jos on, kirjoitetaan sopiva teksti vihollisen koordinaatteihin.

Edit. jotenkin näin:

Code: Select all

Type vihut  
    Field id
    Field kuoloJärjestys
    Field obj
EndType

Global gId
Global gVihujaAmmuttu

For iv.vihut = Each vihut
    
    infoTeksti$ = ""
    If iv\kuoloJärjestys = 1 Then
        infoTeksti$ = "Tervetuloa peliin"
    ElseIf iv\kuoloJärjestys = 2 Then
        infoTeksti$ = "Osaat näemmä jo pelata"
    EndIf

    Text vihuX, vihuY, infoTeksti$
Next iv
Last edited by Jonez on Tue Aug 24, 2010 8:10 pm, edited 1 time in total.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
Pate5
Artist
Artist
Posts: 551
Joined: Tue Aug 28, 2007 4:53 pm
Location: Vantaa

Re: Tyhmät kysymykset (I/2010)

Post by Pate5 »

Lisäksi tekstin saa näkyviin vaikkapa tyyppien avulla. Kentät x ja y määräisivät sijainnin kenttä "teksti" (string) tekstin, joka määritettäisiin luonnin yhteydessä. Tekstin voi piirtää DrawToWorld ja DrawGame -komentojen avulla.
CoolBasic henkilökuntaa
Graafikko
Eräs Vieralija

Re: Tyhmät kysymykset (I/2010)

Post by Eräs Vieralija »

Kiitos taas. Toimii.

Ja vielä trilogian täydentävä kysymys: saako AddTextiä mitenkään tulostamaan pelimaailman eikä ruudun koordinaatteihin?
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tyhmät kysymykset (I/2010)

Post by esa94 »

Eräs Vieralija wrote:Kiitos taas. Toimii.

Ja vielä trilogian täydentävä kysymys: saako AddTextiä mitenkään tulostamaan pelimaailman eikä ruudun koordinaatteihin?
AddTextin koordinaatteja ei voi määritellä.
User avatar
Kille
Active Member
Posts: 249
Joined: Wed Aug 26, 2009 3:50 pm
Location: Juankoski

Re: Tyhmät kysymykset (I/2010)

Post by Kille »

esa94 wrote:
Eräs Vieralija wrote:Kiitos taas. Toimii.

Ja vielä trilogian täydentävä kysymys: saako AddTextiä mitenkään tulostamaan pelimaailman eikä ruudun koordinaatteihin?
AddTextin koordinaatteja ei voi määritellä.
voipas, komennolla locate.
ZEPPELIN
Jatkoa tulossa... tällä kertaa lataus ei kestä viikkoa
Eräs Vierailija

Re: Tyhmät kysymykset (I/2010)

Post by Eräs Vierailija »

Kille wrote:
esa94 wrote:
Eräs Vieralija wrote:Kiitos taas. Toimii.

Ja vielä trilogian täydentävä kysymys: saako AddTextiä mitenkään tulostamaan pelimaailman eikä ruudun koordinaatteihin?
AddTextin koordinaatteja ei voi määritellä.
voipas, komennolla locate.
Mutta ne toimivat vain ruudulle, eivät pelimaailmaan. DrawToWorld ei vaikuta AddTextiin.
Onko jotain kiertotietä jolla voisi piirtää Text-komennon avulla pysyvää tekstiä?
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset (I/2010)

Post by Jonez »

Eräs Vieralija wrote:Kiitos taas. Toimii.

Ja vielä trilogian täydentävä kysymys: saako AddTextiä mitenkään tulostamaan pelimaailman eikä ruudun koordinaatteihin?
Saa, mutta mitä järkeä? AddTextin etu nimenomaan on se, että sen voi piirtää vain kerran, kun taas text-komentoa kannattaa käyttää tekstiin jota tarvitsee päivittää usein, esim. liikkuvaan tai muuttuvaan tekstiin. Pelimaailmaan piirretty teksti täytyy heti päivittää jos esimerkiksi kameraa liikutetaan.

Tässä kuitenkin funktiot ruutukoordinaattien muuttamisesta maailmakoordinaatteihin:

Code: Select all

Function ScreenToWorldX( _x )
    Return ScreenWidth() / 2 - CameraX() + _x
EndFunction

Function ScreenToWorldY ( _y )
    Return ScreenHeight() / 2 + CameraY() - _y
EndFunction
Eli esim.

Code: Select all

Text ScreenToWorldX( 0 ), ScreenToWorldY( 0 ), "Hello World!"
kirjoittaa "Hello World" alkaen ruudun keskustasta (ellei kameraa siirrä), ei ruudun yläkulmasta. AddTextin tapauksessa täytyy tietenkin käyttää Locatea.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2010)

Post by Latexi95 »

Eräs Vierailija wrote: Mutta ne toimivat vain ruudulle, eivät pelimaailmaan. DrawToWorld ei vaikuta AddTextiin.
Onko jotain kiertotietä jolla voisi piirtää Text-komennon avulla pysyvää tekstiä?
Tee tyyppi joka sisältää tekstin, maailma koordinaatit sille ja ajan (Timer) koska se on luotu. Sitten teet funktion joka selaa kaikki tekstit läpi (For-Each), piirtää ne (DrawToWorld maailma koordinaatteja varten) ja jos tekstin luomisesta on kulunut(nykyinen aika(Timer) miinus luonti aika) tietty aika esim. 2 sekunttia(2000ms) poistat jäsenen(Delete). Voit myös laittaa poisto ajan kulkemaan tekstin mukana ,esim. pidemmät tekstit pysyvät pidempään näkyvillä, laittamalla tyyppiin vielä yhden ominaisuuden eli tekstin näkymisaika, jota vertaat kuluneeseen aikaan. Jos ymmärsit selityksen saat tehtyä kohtuullisen hyvän systeemin. :D
Locked