Loadings RPG-projekt
Vill du reagera på det här meddelandet? Registrera dig för forumet med några klick eller logga in för att fortsätta.

Anmäl som programmerare

5 posters

Gå ner

Anmäl som programmerare Empty Anmäl som programmerare

Inlägg  Doomangel sön jul 20, 2008 8:09 pm

Här kan ni anmäla er som programmerare.
Doomangel
Doomangel
Admin

Antal inlägg : 27
Registreringsdatum : 08-07-20

https://loadingrpgprojekt.swedishforum.net

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  QauNuckShin mån jul 21, 2008 10:55 am

Det var länge sen jag använde C++ (har blivit mest Java sen jag började högskolan), men jag kanske kan ställa upp. Får se hur avancerade grejor jag klarar, bara. Razz
QauNuckShin
QauNuckShin
Kodapa

Antal inlägg : 70
Registreringsdatum : 08-07-21
Ålder : 37
Ort : Lund

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  Doomangel mån jul 21, 2008 2:42 pm

Har du kört SDL nån gång, kolla upp det annars och testa runt. Java och C är också ganska lika, lite mindre krångel att göra grejor i java dock Razz
Doomangel
Doomangel
Admin

Antal inlägg : 27
Registreringsdatum : 08-07-20

https://loadingrpgprojekt.swedishforum.net

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  QauNuckShin mån jul 21, 2008 7:18 pm

Har kollat upp nu. Har suttit en stor del av dagen (börjar bli dags för frukost snart, kanske...) och programmerat ett program som ritar Mandelbrotmängden. Jag har alltså bekantat mig med att skapa SDL-surfaces, att rita (pixlar) till dem och grundläggande musinput.

Jag måste dock säga att jag inte känner mig helt hemma på hur man skriver bra C++-kod. Alltså, programmeringskonventioner och liknande. Men det kommer väl såsmåningom. Jag är en ivrig inlärare. Smile
QauNuckShin
QauNuckShin
Kodapa

Antal inlägg : 70
Registreringsdatum : 08-07-21
Ålder : 37
Ort : Lund

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  dark_volvagia mån jul 21, 2008 7:45 pm

Shit, QauNuckShin, du får det att låta så enkelt Shocked
grymt
dark_volvagia
dark_volvagia
Admin

Antal inlägg : 163
Registreringsdatum : 08-07-21
Ålder : 34

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  QauNuckShin mån jul 21, 2008 8:10 pm

Äh, det är inget speciellt alls..

Kod:
#include <stdlib.h>
#include "SDL.h"
#include <math.h>

void mainLoop();
void drawFractal();

SDL_Surface *screen;

float w = 3.2;
float h = 2.5;
int wdirection = 1;
int hdirection = -1;
float xstart = -2.2;
float ystart = 1.25;

const int maxIterations = 1024;
Uint32 palette[maxIterations];

int main()
{
   
   if ( SDL_Init(SDL_INIT_VIDEO) < 0 ) {
        fprintf(stderr, "Unable to init SDL: %s\n", SDL_GetError());
        exit(1);
    }
    atexit(SDL_Quit);
   
   screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
   if ( screen == NULL )
   {
      fprintf(stdout, "Unable to set 640x480 video: %s\n", SDL_GetError());
   }
   
   //Skapa palett
   int i;
   for (i=0; i<maxIterations; i++)
   {
      palette[i] = 255 * (1-pow(1.002, -i));
      palette[i] += (int)(255 * (1-pow(1.01, -i))) << 8;
      palette[i] += (int)(255 * (1-pow(1.02, -i))) << 16;
   }
   
   drawFractal();
   
   mainLoop();
   SDL_Quit();
}

float PixelToCoordX(int x)
{
   return xstart + x*(w/screen->w)*wdirection;
}

float PixelToCoordY(int y)
{
   return ystart + y*(h/screen->h)*hdirection;
}

void mainLoop()
{
   SDL_Event event;
   bool loop = true;
   int downx = 0;
   int downy = 0;
   int upx = 0;
   int upy = 0;
   while(loop)
   {
      while (SDL_PollEvent(&event))
      {
         switch (event.type) {
            case SDL_MOUSEBUTTONDOWN:
               if (event.button.button == SDL_BUTTON_LEFT)
               {
                  downx = event.button.x;
                  downy = event.button.y;
               }
               break;
            case SDL_MOUSEBUTTONUP:
               if (event.button.button == SDL_BUTTON_LEFT)
               {
                  upx = event.button.x;
                  upy = event.button.y;
                  if (downx!=upx && downy!=upy)
                  {
                     if (downx > upx)
                     {
                        int temp = downx;
                        downx = upx;
                        upx = temp;
                     }
                     if (downy > upy)
                     {
                        int temp = downy;
                        downy = upy;
                        upy = temp;
                     }
                     
                     //fprintf(stdout, "%f - %f\n", PixelToCoordX(upx), xstart);
                     //fprintf(stdout, "%d - %d\n", upx, downx);
                     
                     float newxstart = PixelToCoordX(downx);
                     float newystart = PixelToCoordY(downy);
                     w = PixelToCoordX(upx) - PixelToCoordX(downx);
                     h = PixelToCoordY(downy) - PixelToCoordY(upy);
                     xstart = newxstart;
                     ystart = newystart;
                     
                     
                     //fprintf(stdout, "%f,%f - %f,%f\n", xstart, ystart, w, h);
                     
                     drawFractal();
                  }
               }
               else if (event.button.button == SDL_BUTTON_RIGHT)
               {
                  //Defaultzoomning
                  w = 3.2;
                  h = 2.5;
                  xstart = -2.2;
                  ystart = 1.25;
                  
                  drawFractal();
               }
               
               break;
            case SDL_QUIT:
               loop=false;
               break;
         }
      }
   }
}

void drawFractal()
{
   int posx=0;
   int posy=0;
   
   float x, y, x0, y0;   
   
   if ( SDL_MUSTLOCK(screen) ) {
        if ( SDL_LockSurface(screen) < 0 ) {
            return;
        }
    }
   
   Uint32 *pixel;
   pixel = (Uint32 *)screen->pixels;
   float xtemp;
   
   for (posy=0; posy<screen->h; posy++)
   {
      for (posx=0; posx<screen->w; posx++)
      {
         x = x0 = PixelToCoordX(posx);
         y = y0 = PixelToCoordY(posy);
         
         int iterations = 0;
         
         while ( x*x + y*y <= 4 && iterations < maxIterations )
         {
            xtemp = x*x - y*y + x0;
            y = 2*x*y + y0;
         
            x = xtemp;
            iterations++;
         }
         
         
         if ( iterations == maxIterations )
         {
            //*pixel = 0xFFFFFF;
            *pixel = 0x0;
         }
         else
         {
            *pixel = palette[iterations];
         }
         pixel++;
      }
      SDL_UpdateRect(screen, 0, posy, screen->w, 1);
   }
   
   if ( SDL_MUSTLOCK(screen) ) {
        SDL_UnlockSurface(screen);
    }
   
   SDL_UpdateRect(screen, 0, 0, screen->w, screen->h);
}

Borde nog sätta mig in i sprites och såntdär.. Och kanske ljuddelen av SDL också. Såsmåningom. Smile
QauNuckShin
QauNuckShin
Kodapa

Antal inlägg : 70
Registreringsdatum : 08-07-21
Ålder : 37
Ort : Lund

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  dark_volvagia tis jul 22, 2008 12:40 am

Ser rätt mycket ut som om jag skulle kunna klara av det där. Men en sådan motivation att bara kolla upp helt apropå är grymt. Jag har också läst java och kodade massor i scriptspråket som följer med gamemaker, så det handlar väll mest om att jag förlorat lite motivation efter tre år med icke grafiska program i java Razz

(dessutom är jag rätt dålig på det här med SDL och var man skall börja när det kommer till spel och sådant)
dark_volvagia
dark_volvagia
Admin

Antal inlägg : 163
Registreringsdatum : 08-07-21
Ålder : 34

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  QauNuckShin tis jul 22, 2008 12:52 am

Well, jag har inte heller jobbat på något större projekt precis.. Men nånstans måste man ju börja. Gäller bara att vara intresserad av att lära sig (och såklart ha iallafall lite grundläggande förståelse).

Edit:
HAH!
Nu fick jag Content Assist i Eclipse/CDT att funka för de importerade SDL-funktionerna. Det kommer helt klart att göra grejor mycket lättare.. Smile
QauNuckShin
QauNuckShin
Kodapa

Antal inlägg : 70
Registreringsdatum : 08-07-21
Ålder : 37
Ort : Lund

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  QauNuckShin tis jul 22, 2008 11:05 am

Och nu har jag gjort lite grundläggande inladdning och uppritning av BMP (32-bitars, med alpha-channel).
QauNuckShin
QauNuckShin
Kodapa

Antal inlägg : 70
Registreringsdatum : 08-07-21
Ålder : 37
Ort : Lund

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  netcat tor jul 24, 2008 2:23 am

Jag kan kanske leka programmerare. Jag har ju dock inte oceaner av tid över direkt sen när skolan börjar (inte nu heller iof) så jag får se hur det blir med det där.
netcat
netcat
Möglig vaniljpudding

Antal inlägg : 12
Registreringsdatum : 08-07-24

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  gouki tis aug 12, 2008 9:01 pm

Är det någon kvar här eller? Razz Mycket action i handlingsforumet men det känns lite förgäves om inte programmerarna är kvar.

PS. Jobb är tråkigt. DS.
gouki
gouki
Moppepojke

Antal inlägg : 29
Registreringsdatum : 08-07-21
Ålder : 36

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  QauNuckShin tis aug 12, 2008 9:20 pm

Jodå, jag är kvar iallafall.

Kollar forumet varje dag, oftast flera gånger. Har inte känts lönt att börja ordentligt med programmeringen innan grejor som perspektiv och fightingsystem är någorlunda fastställda.

Nu är jag och hälsar på min pappa i Småland, och Internettillgången här är begränsad.. och slö. Så jag lär vara lite inaktiv de närmsta dagarna.
QauNuckShin
QauNuckShin
Kodapa

Antal inlägg : 70
Registreringsdatum : 08-07-21
Ålder : 37
Ort : Lund

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  gouki tis aug 12, 2008 9:27 pm

Hehe. Ok. Jag har inte gjort något produktivt heller. Har köpt en Eee PC nyligen för jag kände mig rik o jag funderar på att installera eclipse o så o se om jag får allt o funka där men tangentbordet är allt för jävla litet för att programmera på egentligen ^^. Dock är det min enda bärbara och nöden kräver ingen lag så kanske ändå...
gouki
gouki
Moppepojke

Antal inlägg : 29
Registreringsdatum : 08-07-21
Ålder : 36

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  netcat ons aug 13, 2008 1:35 am

Nä alltså, finns in te så mycket att snacka om hitills gällande programmeringen.
netcat
netcat
Möglig vaniljpudding

Antal inlägg : 12
Registreringsdatum : 08-07-24

Till överst på sidan Gå ner

Anmäl som programmerare Empty Sv: Anmäl som programmerare

Inlägg  Sponsored content


Sponsored content


Till överst på sidan Gå ner

Till överst på sidan

- Liknande ämnen

 
Behörigheter i detta forum:
Du kan inte svara på inlägg i det här forumet