Thursday 31 December 2009

Uusi yearofourlord

Se loppuu, se loppuu! Vuosikymmen vaihtuu! Tai siis laskentatavasta riippuen...

Joka tapauksessa, elämä jatkuu ja uusivuosiyool on netissä. Sisältöä puuttuu yhä, eli jos tarvitsette skriptihöskää, hakekaa se yool-inetistä. Jatkakaa!

Thursday 24 December 2009

Jouluja!

Kuten täällä lukee, toivottaa yhdenmiehen Yool-tiimi kaikille hyvää joulua "ja onnellista uuttavuotta::"!

Wednesday 23 December 2009

Yool

Jos joku tarvitsee jotain Yoolista, niin täydellisin versio sivustosta sijaitsee osoitteessa soneran servulla. Yritin päivittää tuota versiota websiin ja uploaderi jätti puolet tiedostoista koneelle, ja katson pyhien projektikseni yrittää korjata sitä tai siirtää Yoolin täysin uuden osoitteen alle.

Työt tähänsaakka

Koodasin joulutyöksi Työkkärikannan uudelleen, hyväksikäytin ReadConfigia, jonka muutin lukemaan "arvonnimi=arvo" - tiedot muodossa "arvonnimi: arvo". Ja hakkeroin Valtzun Input - funktioita (Input2() ja UserInput()) niin, että sain Input - funktion, jolle annetaan vain teksti ja tarvittaessa sijainti parametreinä, ja tämä syöte lukee myös numpadia (mitä cb:n oma Input() ja siihen perustuva UserInput() eivät tee) ja tässä voi liikkua nuolilla ja Home ja End - napitkin toimivat ;)

Thursday 17 December 2009

HENKIMAAILMA

Jumankauta! Puoli vuotta siinä meni ja pääsin juuri pikkupäpältä ensimmäistä kertaa ikinä koulussa nettiin!

Wednesday 16 December 2009

Jamppa on olio!!!!

Seuraava sorsa asettaa jamppa - olion ruudulle hiiren koordinaatteihin :)

#include "SDL/SDL.h"
#include "gl/gl.h"
#include
#include

using namespace std;
using std::string;

class pelihahmo
{
      public:
      int x;
      int y;
      char tiedostonimi[11];
      SDL_Surface * hahmo;
      void PiirraItsesi(int x,int y);
//      int Siirry(int x_akseli,int y_akseli);
      pelihahmo();
};

    SDL_Surface * naytto;

pelihahmo::pelihahmo()
     {hahmo = SDL_LoadBMP("jamppa.bmp");}

void pelihahmo::PiirraItsesi(int x,int y)
{   if ( hahmo == NULL ) {
        fprintf(stderr, "Kuvannäyttö ei onnistunu: %s\n", SDL_GetError());
        return;
    }

    // mihin näytöllä
    SDL_Rect alue;  
    alue.x = x;
    alue.y = y;
  

    // näytölle
    SDL_BlitSurface(hahmo, NULL, naytto, &alue); // koska toinen parametri on NULL, piirretään koko kuva
}
   
void PiirraKuva(SDL_Surface *kuva, SDL_Surface *naytto, int x, int y); //esitellään hänet

int main(int argc, char *argv[]) {

    if( SDL_Init(SDL_INIT_EVERYTHING) < 0 )  // paluuarvon ollessa pienempi kuin 0, tapahtui virhe
    {
        fprintf(stderr, "SDL:n alustus ei onnistunut: %s\n", SDL_GetError()); // virheestä tiedot tiedostoon
        return 0; // lopetetaan ohjelma
    }

    pelihahmo jamppa;
   
  //  SDL_Surface * jamppa;
  //  SDL_Surface * pati;
    Uint8* nappi;
  
    naytto = SDL_SetVideoMode(1024, 768, 32, SDL_HWSURFACE|SDL_RESIZABLE);
    //jamppa = SDL_LoadBMP("Jamppa.bmp");
    //pati = SDL_LoadBMP("Pati.bmp");
   
    bool pelissa=true;
  
    int rottax, rottay; //hiiren koordinaatit
    int ammusx=-10,ammusy=400;
  
//    SDL_SetColorKey(jamppa, SDL_SRCCOLORKEY, SDL_MapRGB(jamppa->format,0,0,0));
  //  SDL_SetColorKey(pati, SDL_SRCCOLORKEY, SDL_MapRGB(pati->format,0,0,0));

    while(pelissa)
    {
                  SDL_FillRect (naytto, 0, 0);
                
                  SDL_GetMouseState(&rottax, &rottay);
                
                  SDL_Event tapahtuma; // tapahtumat
                  SDL_PollEvent(&tapahtuma);
                
    //              PiirraKuva(jamppa,naytto,rottax,rottay);
    //              PiirraKuva(pati,naytto,ammusx,ammusy);
                
                  jamppa.PiirraItsesi(rottax,rottay);
                                 
                  ammusx++;
                 
                  if(ammusx>=900) ammusx=-10;
                
                  nappi = SDL_GetKeyState(NULL);
                
                  if(nappi[SDLK_ESCAPE]) pelissa=false;
                
                  SDL_Flip(naytto);
    }
                    
  
//    SDL_FreeSurface(jamppa);
    SDL_FreeSurface(naytto);

    SDL_Quit(); // "suljetaan" SDL
    return 0;
}

void PiirraKuva(SDL_Surface *kuva, SDL_Surface *naytto, int x, int y) {      
  
    if ( kuva == NULL ) {
        fprintf(stderr, "Kuvannäyttö ei onnistunu: %s\n", SDL_GetError());
        return;
    }

    // mihin näytöllä
    SDL_Rect alue;  
    alue.x = x;
    alue.y = y;
  

    // näytölle
    SDL_BlitSurface(kuva, NULL, naytto, &alue); // koska toinen parametri on NULL, piirretään koko kuva
}

Monday 14 December 2009

Välitilannekatsaus

Shooter 3:n Beta 2 edistyy. Erikoisuus on että toteutan sen C++:lla. Haluan jonkin "helpon" projektin, jolla demonstroin itselleni C++:n ja CB:n välisiä vakaus ja suorituskykyeroja. Nyt projektissa on CB-nörtille uusi haaste: luokat. SDL-kirjasto (aka se jolla grafiikka hoidetaan) on toteutettu C:llä, joten luokista ei ole mitään tietoa oletuksena. Ongelma on että referring to tänne ,ammuksien toteuttaminen linkitetyn listan avulla (CB:n puolella Typet ;)) vaatisi luokan hyväksikäyttöä. Nyt siis täytyy suunnitella ja toteuttaa pelihahmo-oliolle ja ammuksille oma luokka!!! Voitteko ymmärtää tätä suurta vääryyttä!?

Ostakaa tie, jos joku tuntee SDL:ään yhtä helpon komennon kuin CB:n Text x,y,texti$ niin jakakoon informaationsa!

Shooter 3 Beta 2 Pt 1

3... 2.... 1.... PAM

Isken tänne turvaan täysin toimivan jampanhiirensijaintiin asettavan seehen vivahtavan c++-sorsan:
#include "SDL/SDL.h"
#include "gl/gl.h"

void PiirraKuva(SDL_Surface *kuva, SDL_Surface *naytto, int x, int y); //esitellään hänet

int main(int argc, char *argv[]) {

    if( SDL_Init(SDL_INIT_EVERYTHING) < 0 )  // paluuarvon ollessa pienempi kuin 0, tapahtui virhe
    {
        fprintf(stderr, "SDL:n alustus ei onnistunut: %s\n", SDL_GetError()); // virheestä tiedot tiedostoon
        return 0; // lopetetaan ohjelma
    }

    SDL_Surface * naytto;
    SDL_Surface * jamppa;
    SDL_Surface * pati;
    Uint8* nappi;
 
    naytto = SDL_SetVideoMode(1024, 768, 32, SDL_HWSURFACE|SDL_RESIZABLE);
    jamppa = SDL_LoadBMP("Jamppa.bmp");
    pati = SDL_LoadBMP("Pati.bmp");
  
    bool pelissa=true;
 
    int rottax, rottay; //hiiren koordinaatit
    int ammusx=-10,ammusy=400;
 
    SDL_SetColorKey(jamppa, SDL_SRCCOLORKEY, SDL_MapRGB(jamppa->format,0,0,0));
    SDL_SetColorKey(pati, SDL_SRCCOLORKEY, SDL_MapRGB(pati->format,0,0,0));

    while(pelissa)
    {
                  SDL_FillRect (naytto, 0, 0);
               
                  SDL_GetMouseState(&rottax, &rottay);
               
                  SDL_Event tapahtuma; // tapahtumat
                  SDL_PollEvent(&tapahtuma);
               
                  PiirraKuva(jamppa,naytto,rottax,rottay);
                  PiirraKuva(pati,naytto,ammusx,ammusy);
               
                  ammusx++;
                
                  if(ammusx>=900) ammusx=-10;
               
                  nappi = SDL_GetKeyState(NULL);
               
                  if(nappi[SDLK_ESCAPE]) pelissa=false;
               
                  SDL_Flip(naytto);
    }
                   
 
    SDL_FreeSurface(jamppa);
    SDL_FreeSurface(naytto);

    SDL_Quit(); // "suljetaan" SDL
    return 0;
}

void PiirraKuva(SDL_Surface *kuva, SDL_Surface *naytto, int x, int y) {     
 
    if ( kuva == NULL ) {
        fprintf(stderr, "Kuvannäyttö ei onnistunu: %s\n", SDL_GetError());
        return;
    }

    // mihin näytöllä
    SDL_Rect alue; 
    alue.x = x;
    alue.y = y;
 

    // näytölle
    SDL_BlitSurface(kuva, NULL, naytto, &alue); // koska toinen parametri on NULL, piirretään koko kuva
}

Sunday 6 December 2009

Shooter III Pt II

Päätin että olen luonut tarpeeksi mediaa. Shooter 3 Beta 1 on nyt netissä.  Olette tietysti velvollisia ilmoittamaan bugeista minulle joko pelin ehdottamaa reittiä tai mesessä ;)

Thursday 3 December 2009

Shooter 3

Olen huono ihminen: kuvittelen pystyväni hallitsemaan miljoonaa projektia samaan aikaan.

Joka tapauksessa. Viikon ajan olen viritellyt Shooter 3 - peliä. Nyt siinä on "peruspeli", joka sisältää klassista luotienväistelyä, valmiina. Ja asetukset! Ja menu! Menun ja asetusten askartelu oli kyllä niin pikkutarkkaa pelleilyä. Tällä hetkellä teen peliin grafiikkaa. Jossain välissä lukittaudun saunaan akustisen ja mikin kanssa ja katson jos pelilla saa jonkinlaista musiikkia. Ja tarinamoodikin, klassista luotienväistelyä ja ehkä sivuttaistasoloikkaa, olisi tarkoitus kirjoittaa kun aika on sille kypsä. Ja Betan saatte nettiin kun siinä on tarpeeksi mediaa mukana!