Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Pelini koodissa häikkä?

Sivun loppuun

Jartsala [11.03.2007 20:12:29]

#

Tervehdys olen aloitellut tekemään SDL kirjastolla jutskia koska se on aikas helpon näköista, kopsasin koodin suoraan Heikin SDL tutoriaalista katsokaapas

#include <SDL/SDL.h>  // sisällytetään SDL:n otsikkotiedostot

#pragma comment(lib, "SDLmain.lib")  // otetaan SDL:n LIB-tiedostot mukaan. Kun nämä rivit ovat ohjelman alussa,
#pragma comment(lib, "SDL.lib")      // sinun ei tarvitse lisätä LIB-tiedostoja "käsin"
// #pragma-rivit toimivat VAIN Visual c++:alla! gcc:llä parametri -lSDL ajaa saman asian

int main(int argc, char *argv[]) {
// funktio piirtää parametrina annetun kuvan ruudulle (toinen parametri) tiettyyn kohtaan (3. ja 4. parametri)
void PiirraKuva(SDL_Surface *kuva, SDL_Surface *naytto, int x, int y)
{
  SDL_Rect alue; // mille alueellä näyttöä kuva piirretään
  alue.x = x; // koordinaatit
  alue.y = y;
  SDL_BlitSurface(kuva, NULL, naytto, &alue); // piirto
}
SDL_Flip(naytto);
SDL_Surface *naytto;
SDL_Surface *kuva;

naytto = SDL_SetVideoMode(1024, 768, 30, SDL_HWSURFACE|SDL_DOUBLEBUF);

kuva=SDL_LoadBMP("kuva.bmp");

// ruudulle:
PiirraKuva(kuva, naytto, 50, 50);
}

Hops yksi virhe tulee
10 C:\Documents and Settings\JNE\JNE\JNE...\main.cpp a function-definition is not allowed here before '{' token

Kun kumitan tuon { merkin riviltä 10 se valittaa seuraavaa...
10 C:\Documents and Settings\päläpälä\main.cpp expected init-declarator before "SDL_Rect"

Mikä ihme on vikana, suoraan kopsattu tutosta eikä toemi???

rndprogy [11.03.2007 20:27:06]

#

Funktiota ei kuulu määritellä main-funktion sisällä, joten siirräpä PiirraKuva -funktio sisältöineen, siis sisältö on { ja }:n välissä, mainin yläpuolelle (tai alapuolelle, kunhan esittelet ensin funktion (opetelepa c:n perusteet?)). Lisäksi '{'-merkkiin ei tarvitse koskea.

osku91 [11.03.2007 20:27:19]

#

Minkä ihmeen takia piirrakuva funktio on mainin sisällä?

tn [11.03.2007 20:27:43]

#

Yrität määritellä PiirraKuva-funktiota main-funktion sisällä, mikä ei ole sallittua. Siirrä siis se mainin ulkopuolelle, niin pitäisi onnistua.

ps. Käytä seuraavalla kerralla koodic-tageja, niin tulee selventävä väritys mukaan.

muoks. Olipas vastausryntäys...

Deewiant [11.03.2007 20:29:08]

#

Kannattaa ehkä tutustua C-kielen alkeisiin, ennen kuin yrittää tehdä graafisia ohjelmia SDL:llä.

PiirraKuva-funktio on sinulla main-funktion sisällä, mutta C:ssä ei ole sisäkkäisiä funktioita. Helpointa on siirtää main-funktion esittely PiirraKuva-funktion jälkeen.

Sen jälkeen voitkin ihmetellä, miksei koodi tee sitä, mitä todennäköisesti odotat sen tekevän.

hunajavohveli [12.03.2007 15:38:02]

#

Suosittelen opettelemaan ensin asiat Ohjelmointiputkan C-opassarjasta. SDL:n käyttäminen tuskin tulee olemaan helppoa, jos nuo eivät ole hallussa.

Jartsala [12.03.2007 17:31:21]

#

Tein uudestaan ja kokonaan itse peliini koodin ja nyt se toimii kuin unelma, ukko liikkuu näppäimistä ja piirtää kuvan oikealle kohdalle, mutta yksi bugi vielä joka on ilmeisesti helppo korjata...
Ukko jättää vanaa, eli oman spriten kuvaa koko ajan jälkeensä, miten sen saisi korjattua että se ei jätä jälkeä?

    nappi = SDL_GetKeyState(NULL);
    if ( nappi[SDLK_UP] ) { kuvay -= 1; }
    if ( nappi[SDLK_DOWN] ) { kuvay += 1; }
    if ( nappi[SDLK_LEFT] ) { kuvax -= 1; }
    if ( nappi[SDLK_RIGHT] ) { kuvax += 1; }
    PiirraKuva(ukko, naytto, kuvax, kuvay);

TsaTsaTsaa [12.03.2007 17:35:36]

#

Jartsala kirjoitti:

Ukko jättää vanaa, eli oman spriten kuvaa koko ajan jälkeensä, miten sen saisi korjattua että se ei jätä jälkeä?

    nappi = SDL_GetKeyState(NULL);
    if ( nappi[SDLK_UP] ) { kuvay -= 1; }
    if ( nappi[SDLK_DOWN] ) { kuvay += 1; }
    if ( nappi[SDLK_LEFT] ) { kuvax -= 1; }
    if ( nappi[SDLK_RIGHT] ) { kuvax += 1; }
    PiirraKuva(ukko, naytto, kuvax, kuvay);

Tuosta pätkästä vika ei löydy, mutta veikkaisin, että syy on siinä, että piirrät taustakuvan ainoastaan ennen pääsilmukkaa etkä silmukassa ollenkaan.

Lahha [12.03.2007 19:16:14]

#

Laitappa sinne SDL_Flip:n jälkeen tuollainen: SDL_FillRect(naytto, NULL, NULL);

Se täyttää näytto pinnan mustalla ennenkuin alat piirtäämaan seuraava ruutua.

Jartsala [13.03.2007 18:23:03]

#

Jou en piirtäny taustaa ollenkaan ^,^ ihmekkös, työ sanoitte että pelin tekeminen on vaikeaa minä sanon että pah helppoa kuin mikä olen oma oppisesti saanut valikon, ukon liikkumaan ja kaikkea muuta, nooh
nyt tässä ois yksi jutsku mitä en löytäny ees oppaasta

miten saa monta samaa muuttujaa kun joka seinän palaselle pitäs saada muuttuja kalikkax ja kalikkay, collsision checkkini toimii mutta vain yhden palikan kanssa, jos tekee toisen se menee läpi koska voi olla kerralaan vain yksi kalikkax ja kalikkay... Miten on?

///////määrittää vähä muuttujia :P
int kalikkax, kalikkay;

/////piirtääpi kalikoita
PiirraKuva(kalikka, naytto, kalikkax = 96, kalikkay = 64);
PiirraKuva(kalikka, naytto, kalikkax = 32, kalikkay = 32);

/////tarkistaa onko yläpuolella palikkaa
if ( nappi[SDLK_UP] ) {
if(!(kalikkay == kuvay - 32 && kalikkax == kuvax)) {
kuvay -= 32;     SDL_Delay(100);
}
}

Eli homma pelaa ihan helvetin hyvin yhellä palikalla mutta jos on monta, ja kyllähän mää sen tajuankin miksi, mutta miten saa saman nimisiä muuttujia mutta kuitenkin eri siis juu nou?

sqwiik [13.03.2007 18:32:35]

#

Yksinkertainen vastaus ohjelmoinnin tässä vaiheessa on: taulukko. Eli yksittäisen muuttujan sijaan onkin taulukko arvoja, jolloin vertailu voidaan tehdä for-silmukn sisällä (tällöin vain palikkax[<silmukkamuuttuja>] korvaa palikkax:n vanhassa koodissa).
Käytin itse muinoin ~seuraavaa (pseudo):

  int kalikkax[Max_Palikka], kalikkay[Max_Palikka];
  ...
  tormays = 0;
  for(a = 0; a < Max_Palikka; a++){
    if(hahmo törmää palikkaan <a>){tormays = 1; break;}
  }
  if(tormays){
    Aih.
  }

Taulukoista löytyy lisätietoa oppaasta. Sitten kun vähän laajemmin alkaa pelejä tekemään niin voi miettiä hivene monimuotoisempia ratkaisuja >_>

Jartsala [13.03.2007 18:37:41]

#

Ömm en oikein saanu tolkku koodipätkästäsi XD ähähäh!
mitä laitan tuon Max_kalikan tilalle kun se valittaa siitä?

sqwiik [13.03.2007 19:23:04]

#

Max_Kalikka on vakio, joka kuvaa kalikoiden määrää kentällä. Voi asettaa sen itse tavalla/toisella; tässä vaiheessa varmaan yksinkertaisin #define-lauseella.

#define Max_Kalikka  100

Ja tietenkin, arvot kannattaa muistaa alustaa.

Editios: tässä vähäsen valmiimpaa >_>

#define Max_Palikka 100

...

int palikkax[Max_Palikka], palikkay[Max_Palikka];

/* Alustus */
palikkax[0] = 32; palikkay[0] = 32;
palikkax[1] = 64; palikkay[1] = 32;
palikkax[2] = 96; palikkay[2] = 32;
... jne

/* Piirto - annetaan muuttujina taulukon arvoja */
for(a = 0; a < Max_palikka; a++){
  Piirrakuva(kalikka, naytto, kalikkax[a], kalikkay[a]);
}

/* Törmäystarkistus - missä vaan */
for(a = 0; a < Max_palikka; a++){
  if(kalikkax[a] == kuvax && kalikkay[a] == kuvay){
    /* Törmäys tapahtui */
    <koodi joka palauttaa kuvan takaisin>
    SDL_Delay(100);
    break; /* Turha tarkistaa enää muita palikoita */
  }
}

Jartsala [13.03.2007 20:01:26]

#

Mitäs tämä kääntäjäni sekoilee, mulla on kyllä tuo Define max palikka ylähäällä mutta se kysyy silti että "watteffak is that max palikka??!? ÖYH?" mitähä tämä nyt meinaa?

Edit: Ahh tuossa Definessäsi oli Max_Palikka ja koodissa Max_palikka, pienellä peellä... korjasin ni se valitta joka kohdassa jossa on [] merkit tätä
"invalid types `int[int]' for array subscript"

sqwiik [13.03.2007 20:47:16]

#

Muistitko määritellä palikkax:n ja palikkay:n taulukoina? Tuo virheilmoitus tulee, jos yrittää viitata ei-taulukkoon taulukkona.

Jartsala [13.03.2007 21:04:42]

#

En mutta muokkasin sen eikä tomi vieläkään

sqwiik [13.03.2007 21:08:27]

#

Mitäs kääntäjä valittaa?

Jartsala [14.03.2007 15:56:29]

#

    int palikkax[Max_Palikka], palikkay[Max_Palikka] = { {1, 2, 3},
	                                               {4, 5, 6} };

Tuossa koodi ja tässä valitus
brace-enclosed initializer used to initialize `int'

Megant [14.03.2007 16:05:42]

#

int palikkax[3] = {1, 2, 3}, palikkay[3] = {4, 5, 6};

Voisit yrittää selvittää nuita ongelmia itsekin, etkä tulla kertomaan jokaisesta ongelmasta tänne.

Jartsala [14.03.2007 16:47:07]

#

Juuh ei toimi äh antaa olla, en tee koko collision chekkiä jos se kerta ei ole mahdollista, antaapi mennä kalikoista läpi... :P
-----------------------------------------------------------------
Uutta kysymystä kehiin vaan, mikä on violetin väri koodi transparenttiin? olen kokeillut 256,0,256 mutta ei toimi, mikä hiivatti se olikaan?

FooBat [14.03.2007 17:47:34]

#

Jartsala kirjoitti:

Uutta kysymystä kehiin vaan, mikä on violetin väri koodi transparenttiin? olen kokeillut 256,0,256 mutta ei toimi, mikä hiivatti se olikaan?

Jos vaikka kokeilisit arvoa 255, 0, 255. 256 lienee tietokoneen mielessä sama kuin 0, koska sen 8 alinta bittiä ovat nollia (riippuen tietenkin siitä mihin noita arvoja työnnät).

Jartsala [14.03.2007 17:55:12]

#

Ainiin ja mitenkäs SDL:llä piirretään tekstiä, kuulenko valitusta? häh? kyllä minä etin googlella mutta siellä tuli vastaan sellanen missä oli aivan liikaa koodia sellaiset 60 riviä tekstin piirtämiseen, on oltava parempi keino!

Blaze [14.03.2007 18:25:33]

#

SDL_ttf -kirjasto on näppärä. http://www.libsdl.org/projects/SDL_ttf/

Jartsala [14.03.2007 18:39:29]

#

while(taphtuma == 1) {
//menussa }
while(tapahtuma == 2) {
//pelissä }
while(tapahtuma == 3) {
//kaupassa
kun nappia painaa tapahtuma = 1
}

Kiitos katson kohta tuon teksti jutskan mutta nyt tuli häikkää jonka ei pitäisi olla ihan omalla aivoilla ajateltuna hm?

Eli katsokaa tuota koodia, menu toimii hyvin sillä pääsee peliin ja kauppaan mutta tuossa kaupassa kun painaa takaisin tapahtuman pitäisi olla 1 eli mennä menuun mutta se menee pimeään ruutuun ja muutaman sekan päästä sammuu peli??

Blaze [14.03.2007 19:42:19]

#

while(); while(); while(); jonon sijasta parempi idea pääloopiksi on seuraavanlainen:

while(peliKaynnissa) {
  switch(tapahtuma) {
  case 1:
    /* tee menujutut */
    break;
  case 2:
    /* tee pelijutut */
    break;
  case 3:
    /* tee kauppajutut */
    break;
  }
}

Jartsala [14.03.2007 20:21:05]

#

Tiedätkös, olen aina miettinyt että mistä ihmeestä se tietää millon se ottaa minkäkin casen käyttöön?? Siis olen aina miettinyt tuota ja olen saanu käsityksen että jos kirjoittaa numeron 1 ni case 1 jne. vai?

Blaze [14.03.2007 20:40:41]

#

Case valitaan sen mukaan, mikä switchille annetun lausekkeen (tässä: tapahtuma) arvo sattuu olemaan.

Jartsala [15.03.2007 14:14:47]

#

Jou nyt se on toimimassa, sitten taas seuraava kyssäri

if ( nappi[SDLK_UP] ) { kuvay -= 32;     SDL_Delay(100); comdo == 1; }
if ( nappi[SDLK_DOWN] ) { kuvay += 32;     SDL_Delay(100); comdo == 1; }
if ( nappi[SDLK_LEFT] ) { kuvax -= 32;     SDL_Delay(100); comdo == 1; }
if ( nappi[SDLK_RIGHT] ) { kuvax += 32;     SDL_Delay(100); comdo == 1; }
if ( nappi[SDLK_ESCAPE] ) { porkan = 0; }
while( comdo == 1){
if ( gla1x <= kuvax ) { gla1x += 32; comdo = 0; }
if ( gla1x >= kuvax ) { gla1x -= 32; comdo = 0; }
if ( gla1y <= kuvay ) { gla1y -= 32; comdo = 0; }
if ( gla1y >= kuvay ) { gla1y += 32; comdo = 0; }
}

Elkää valittako että noin ei saa tehdä sillä olen täysi noobi ja pähkäilin ja tein sen noin ihan itse... Eli tuo on pelaajan liikuttelu(toimii) ja sen alla vihollisen tekoäly, eli homma toimii niin että kun pelaaja painaa nappia ComDo on 1 ja jos ComDo on 1 gladiaattori katsoo onko pelaajan x pienempi vai isompi JNE, JNE, jostain syystä tuo vastustaja vain kököttää paikoillaan eikä tee mitään vaikka järjen mukaan tuon pitäisi pelittää?
kuvax, pelaajan X
kuvay, pelaajan Y
gla1x, vihun X
gla1y, vihun Y
ja peli piirtää vihun kohtaan gla1x ja gla1y, mikä mättää??

(Mod. Edit. Opettele jo vähitellen käyttämään C-koodissa koodic-tagia. Siistimpi sisennyskään ei olisi pahasta...)

WinC [15.03.2007 17:43:09]

#

Oisko vika tuolla nappien lukemisessa missä asetetaan comdo, näköjään sinne on lipsahtanut vertailuoperaattori (==) sijoitus operaattorin (=) sijaan.

Jartsala [16.03.2007 13:49:37]

#

Sieltähän se vika löytyi, kiitos kaikille auttajille, ei kysyttävää tällä hetkellä...

Jartsala [16.03.2007 16:17:24]

#

Ok nyt on kysyttävää tuosta Tekstin piirtämisestä näytölle SDL tilassa, eli kertokaa SDLttf jutusta enemmän koska itse en tajunnut siitä p*s*an vertaa, eli seuraavat haluan tietää että pääsen alkuun
1.Mihin ängen tuon DLL tiedoston jonka latasin sen sivulta?
2.Mitä kirjoitan incluudiin lisää?
3.Mitä kirjoitan että se tulostaa tekstiä?

Olen etsinyt mutta niissä sanotaan vaan että joo ota SDL ttf se on nii hyvä jee jee...

Lahha [16.03.2007 19:07:01]

#

1. Sinne missä on muutkin SDL:n DLL:t.
2. #include <SDL/sdl_ttf.h>
3.

TTF_Init(); //alustetaan

TTF_Font *font;//ladataan fontti
	font=TTF_OpenFont("Arial.ttf", 12);//tässä esimerkissä fontti tiedoston pitää olla ohjelman kansiossa

SDL_Color *vari = new SDL_Color;//tekstin väri
	vari->r=0;
	vari->b=0;
	vari->g=0;
	vari->unused=0;

SDL_Surface * teksti;//pinta tekstille
	teksti = TTF_RenderUTF8_Blended(font, "Hello world!", *vari);//laitetaan teksti pinalla

//tässä välissä pinta piirretään ihan normaalisti

SDL_FreeSurface(teksti);//muista vapauttaa pinta ennen uutta piirtokertaa

//lopuksi
delete vari;
TTF_CloseFont(font);
TTF_Quit();

!Toivottavasti sain tällä kertaa esimerkki koodini oikein.

Jartsala [16.03.2007 21:59:51]

#

Perse missä ihmeessä nuo DLL tiedostot sijaitsevat etin tunnin niitä etsiohjelmalla ja selailemalla Dev-C++ kansiota, enkä löytänyt, minua ottaa päähän tollanen neuvonta että sanotaan vaan että "joo laita sinne missä on muutkin" ja sen sellaiset...

Legu [16.03.2007 22:23:51]

#

Laita se DLL-tiedosto vaikka samaan kansioon ohjelmasi kanssa.

Jartsala [16.03.2007 22:45:54]

#

no such file in directory

#include <SDL_ttf.h>

SLD_ttf.h tiedosto on kansiossa jossa pelini...

tgunner [16.03.2007 22:54:02]

#

Arr, kantsisko ton SDL_ttf:n olla siellä, mistä sun kääntäjä ymmärtää hakea sen (\include\)?

Jartsala [17.03.2007 00:06:36]

#

Juu laitoin sinne incluudi kansioon ja no such file in directory, aika paska tuo SDL_ttf...

tgunner [17.03.2007 00:14:12]

#

Ja vika ei mitenkään voisi olla käyttäjässä?

WinC [17.03.2007 03:21:46]

#

Jartsala kirjoitti:

no such file in directory

#include <SDL_ttf.h>

SLD_ttf.h tiedosto on kansiossa jossa pelini...

Tuossa tapauksessa pitää käyttää lainausmerkkejä niin kääntäjä ymmärtää etsiä tuota tiedostoa projekti hakemistosta.

#include "SDL_ttf.h"

Jartsala [17.03.2007 10:51:50]

#

Nunniin nyt se löytää näemmä tuon SDL_ttf.h tiedoston mutta valittaa vielä seuraavista
[Linker Error] undefined reference to `TTF_Init'
[Linker Error] undefined reference to `TTF_OpenFont'
[Linker Error] undefined reference to `TTF_RenderUTF8_Blended'
[Linker Error] undefined reference to `TTF_CloseFont'
[Linker Error] undefined reference to `TTF_Quit'
Mistäs mää nuo tiedostot löydän...

WinC [17.03.2007 14:02:16]

#

Olethan laittanut

#pragma comment(lib, "SDL_ttf.lib")

Jartsala [17.03.2007 14:41:15]

#

Olen alittanut mutta samaa valittaa silti...?

tn [17.03.2007 15:48:24]

#

1) Dev-C++ käyttää (ainakin oletuksena) MinGW-kääntäjää, joka on GCC:n Windows-porttaus. Tästä syystä se muistikuvieni mukaan käyttää Linuxin .a -päätteistä kirjastotiedostomuotoa eikä Windowsin .lib -muotoa.

2) Kuten alkuperäisessä koodissakin kerrotaan, pragma-komennot eivät toimi Dev-C++:n / MingGW:n / GCC:n kanssa:

// #pragma-rivit toimivat VAIN Visual c++:alla! gcc:llä parametri -lSDL ajaa saman asian

Linkkeriparametrit täytyykin lisätä projektin asetuksiin eikä itse koodiin; Jostain sieltä projektin asetuksista pitäisi löytyä linkkeri-välilehti, jossa on tekstilaatikko, johon voi laittaa niitä parametreja. Siellä siis pitäisi olla jotain tyyliin:

-lSDL -lSDLmain -lSDL_ttf

Mutta tämähän sinun pitäisi jo tietääkin, jos kerran olet saanut ohjelman jossain välissä kääntymään SDL:n kanssa...

Jartsala [17.03.2007 16:20:57]

#

Kjeh kjeh nyt enää yksi error jäljellä.... cannot find ISDL_ttf RÄÄHÄHÄ!
Olihan minulla nuo lSDL ja lSDLmain mutta ei lSDL ttähvää... Elikäs mitenkäs nyt?

InvalidCo [17.03.2007 16:48:34]

#

En jaksanut lukea koko threadia, :P mutta viisastelen silti että onko sulla libsdl_ttf.a, .la ja .so? (MinGW:n lib-kansiossa)

Metabolix [17.03.2007 17:13:13]

#

Opettele kirjoittamaan. -lSDL_ttf ja I != l.
Kirjasto kannattaa asentaa DevPakista, jos se vain suinkin on mahdollista, koska silloin tulevat varmasti oikeat tiedostot mukana.

Jotenkin väärä suunta aloittaa ohjelmointia taas, kun ei saa edes ohjelmaansa kääntymään. Alkeet ensin, ei tuosta noin tule mitään.

Jartsala [17.03.2007 21:44:36]

#

Saan kääntymään mutta kun tyrkytätte mulle näita paskoja kirjastoja ja toiseks, opettele kirjottamaan? hä? mitä helvettiä?
ja sitä edellinen viesti... ei ole...

Edit: Nonniin kiitoksia asensin Devpakin ja toimii, en ole kokeillut tekstin piirtämistä mutta ei ainaskaan erroreita pukkaa...

Deewiant [17.03.2007 22:11:10]

#

Jartsala kirjoitti:

työ sanoitte että pelin tekeminen on vaikeaa minä sanon että pah helppoa

Jartsala kirjoitti:

tyrkytätte mulle näita paskoja kirjastoja

Hyvä asenne. Alatko uskoa, että se on vaikeaa, ja ongelma ei ole kirjastoissa vaan siinä, ettet jaksa opetella, miten hommat toimii?

Jartsala kirjoitti:

opettele kirjottamaan? hä? mitä helvettiä?

Voitaisiin puhua yleisesti kieliasustasi, mutta tässä tapauksessa tarkoitettiin sitä, että kirjoitit -ISDLttf etkä -lSDLttf.

tgunner [17.03.2007 22:57:52]

#

Arrrh, nykyään näitä uuskoodareita vaan pompsahtelee joka puolelta erilaisilla nimimerkeillä, mutta silti viesti maailmalle on aina sama. "Moi! Alotin koodaa just pari viikkoo sit. Voitteko lähettää mulle jotain pelien lähdekoodeja?"
Joku vois vaan pastea Jartsalalle sen ohjelmoinnin aloittamista käsittelevan oppaan täällä putkassa. :(

Heikki [17.03.2007 23:34:04]

#

Ainakin motivoi auttamaan, kun palaute on tällaista:

SDL-opassarjan 1. osan kommentti by Jartsala kirjoitti:

Paska opas, ei toimi opettel ohjelmoimaa...

Ohjelmointia ei opi hetkessä. Oppiminen on kuitenkin mahdollista, kunhan käyttää hieman aikaa oppaiden lukemiseen ja ei lähde heti liikkeelle hankalista asioista; vaikka tuntuukin tylsältä tehdä niitä tekstipohjaisia "arvaa lukuni"-ohjelmia, on ohjelmoinnin perusteet osattava jossain määrin ennen kuin voi ryhtyä tekemään esimerkiksi graafisia pelejä.

Oppaiden lisäksi apua ongelmiin saa myös mm. näiltä foorumeilta. Muista kuitenkin, että et käsittääkseni maksa kenellekään putkan käyttäjälle siitä, että hän opettaisi sinulle asiat. Ei siis ainakaan minusta ole reilua odottaa asiallisia vastauksia henkilöiltä, joita juuri edellisessä viestissä haukkui ja joiden ohjeita ei kuitenkaan suostu noudattamaan.

Kannattaa lukaista Antin opas Ohjelmoijan ensiaskeleet.


Anteeksi hieman aiheen ohi mennyt avautuminen.

Wezmel [24.03.2007 01:34:32]

#

Rupesin opiskelemaan SDL:ää ja eksyin tälle threadille ihmettelemään. Kiitokset kaikille neuvojille, olen oppinut paljon tätä keskustelua seuraillessani. Mutta erityiset kiitokset keskustelun aloittajalle, olen saanut makeat naurut. Jatkan opiskelemista ja harjoittelemista. Pienenä vihjeenä Jartsalalle että parhaiten opit kun tahkot ja yrität ratkaista ongelmaa itse ja kahlaat oppaita ja keskustelupalstoja. Netti on tietoa pullollaan. Tie on kuoppainen ja raskas kulkea, mutta ei aina kannata mennä sieltä missä aita on matalin.

Mazzimo [24.03.2007 10:44:18]

#

^Olen aivan samaa mieltä. Alkeet ON OSATTAVA ennenkuin käy muuta väkertämään. Tämän topicin viesteistä näkyy selvästi, että kyselijä ei ole koskaan edes alkeita vilkaissutkaan. Lisäksi tuo kirjoitusasu on niin ärsyttävää, että ihmettelen suuresti, että näinkin paljon on apua tullut..


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta