dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

C++ Win32 console aplication
Goto page Previous  1, 2, 3  Next
 
dev.gamez.lv Forum Index -> Iesācējiem
View previous topic :: View next topic  
Author Message
kkeemmss



Joined: 04 Jan 2007
Posts: 232
Location: Riga

PostPosted: Thu Feb 07, 2008 1:14 pm    Post subject:

Tagad meiginu uzrakstit pirmo SDL programinu. Google atradu http://pgdc.purdue.org/sdltutorial/sdl_setup.html
Code:
#ifdef WIN32
#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#endif

#include "SDL.h"

int main(int argc, char **argv)
{
   printf("\nHello SDL User!\n");

   /* initialize SDL */
   if ( SDL_Init( SDL_INIT_VIDEO ) < 0 )
   {
      fprintf( stderr, "Video initialization failed: %s\n",
         SDL_GetError( ) );
      SDL_Quit( );
   }
   
   SDL_Quit( );

   return 0;
}

izpildu visu kas nu tai lapa teikts, kods nokompilejas bet rezultatu gan uz ekrana ieraudzit neizdodas.
tutorialis it ka rakstits citam VS bet man VS 2005 vai ta varetu but problema?
Back to top
View user's profile
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Thu Feb 07, 2008 1:43 pm    Post subject:

ko tu gribi ieraudzīt?
ja erroru nav, tad viss ir normāli!
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
kkeemmss



Joined: 04 Jan 2007
Posts: 232
Location: Riga

PostPosted: Thu Feb 07, 2008 1:47 pm    Post subject:

printf("\nHello SDL User!\n");

vai šitam neko nevaidzeja uz ekrana izvadit?
Back to top
View user's profile
Kamazs
Guru
Guru


Joined: 17 Jan 2003
Posts: 829
Location: The glorious ancient city of Loja

PostPosted: Thu Feb 07, 2008 1:53 pm    Post subject:

Nē. Tas izvada failaa "stdout.txt"
_________________
...un es uzskatu, ka Fallout ir etalons
Back to top
View user's profile Send e-mail Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Feb 07, 2008 3:16 pm    Post subject:

SDL bibliotēku var uzbūvēt divos veidus - vienā, ka visa konsole paliek kā konsole (outputs ir uz ekrāna), un otrā tad, kad viss outputs tiek redirektēts uz jau minēto stdout.txt failu tekošajā direktorijā. Defaultā piedāvātais SDL uzkompilētais binarijs (no libsdl.org) realizē otro variantu.

Reku vari izlasīt, vairākus variantus kā to atslēgt: http://www.libsdl.org/cgi/docwiki.cgi/FAQ_20Console

RTFM! :)
Back to top
View user's profile Send e-mail
kkeemmss



Joined: 04 Jan 2007
Posts: 232
Location: Riga

PostPosted: Tue Feb 12, 2008 11:42 am    Post subject:

ja lietoju vienkārši getch() vai cin >>, man programa apstājās un gaida,
bet ar kādu funkciju pārbauda, vai no klaviatūras ir nospiests kāds taustiņš, tipa vai buferī ir kaut kas ko nolasīt?
if .....?
{ c = getch(); }
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Feb 12, 2008 11:44 am    Post subject:

Tādiem mērķiem vajadzētu izmantot SDL eventus nevis getcg funkciju:
http://www.libsdl.org/cgi/docwiki.cgi/Introduction_20to_20Events
Back to top
View user's profile Send e-mail
kkeemmss



Joined: 04 Jan 2007
Posts: 232
Location: Riga

PostPosted: Tue Feb 12, 2008 12:07 pm    Post subject:

njā ar SDL es kaut kā nevaru iedraudzēties. vairākus'iesācēju materiālus papētiju, bet kaut kā neizdodas nokompilet to kodu no manuāla.

Pagaidām vēl dzīvoju konsolē, tapēc tas getch() liekas diezgan piemērots, bet kad gribēšu grafiku sākt zīmēt, tad ar directx man tā lieta daudz veiksmīgāk izdevās.
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Feb 12, 2008 1:40 pm    Post subject:

Pastāsti kļūdas kādas tu dabū, tad arī tev pateiksim, ko tu dari nepareizi. Citādi jau palīdzēt nevarēsim.

Ja nu gribi bez SDL, bet ar tīru WinAPI, tad tev paskaties uz GetAsyncKeyState funkciju.
Back to top
View user's profile Send e-mail
kkeemmss



Joined: 04 Jan 2007
Posts: 232
Location: Riga

PostPosted: Wed Feb 20, 2008 11:12 am    Post subject:

Tā pati konsole, meiģinu rakstit:
Code:
int a = random(360);
int a = rnd(360);
...

protams kompilators nepazist ne random ne rnd, vai sintakse ir pareiza? vai man jainklude kada biblioteka? kura? paldies.
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Wed Feb 20, 2008 11:26 am    Post subject:

Šādus jautajumus tev ir jāuzdod manuālī, nevis jābrīnās, kāpēc nekompilējas:
http://www.cplusplus.com/reference/clibrary/cstdlib/rand.html (neskaties tikai uz piemēru ar to % - tas ir riktīgi slikti).

Tātad vienreiz programmas sākumā: srand(time(NULL));
Un tad, kad vajag randomu: inta = (rand() * 360) / (RAND_MAX+1);

Tikai ņem vērā, ka defaultais random ģenerators C++'ā ir vājš - tas dod tikai 15 bitus ar vērtībām. Priekš 0..360 intervāla tas, protams, ir pietiekoši, taču, ja gribēsi ģenerēt randomu lielākā intervālā, tad nāksies meklēt citu random ģenerētāju. Iesaku paskatīties uz MersenneTwister - tas ir ātrs un ļoooti randomisks (tā periods ir gigantisks skaitlis).
Back to top
View user's profile Send e-mail
kkeemmss



Joined: 04 Jan 2007
Posts: 232
Location: Riga

PostPosted: Sun Feb 24, 2008 7:51 pm    Post subject:

tagad '*' simboli ņirbēdami skraida pa ekrānu, bet lai kontroletu kadrus sekundē man derētu zināt sistēmas laiku. ar kādu funkciju tas darās?
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Sun Feb 24, 2008 8:38 pm    Post subject:

Windows'ā vissīkāko laika iedaļu var izmērīt ar QueryPerformanceCounter funkciju. Ir vēl timeGetTime funkcija. Un vēl ir GetTickCount.

Un paklau, ir taču tāda lieta kā gūgle. Kāpēc tajā negribi ierakstīt kautko apmēram "C++ windows get time" ?
Back to top
View user's profile Send e-mail
kkeemmss



Joined: 04 Jan 2007
Posts: 232
Location: Riga

PostPosted: Sun Feb 24, 2008 9:08 pm    Post subject:

kapēc tos elementāros jautājumus uzdodu forumā?
laikam jau tapēc ka man atbildi google atrast ir daudz daudz reizes ilgāk, kā paprasīt šeit.
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Sun Feb 24, 2008 9:29 pm    Post subject:

Ja godīgi - tad nesaprotu.
Manu atbildi uz savu jautājumu dabūji precīzi pēc 47 minūtēm
Bet ierakstot gūglē, piemēram, to pašu "C++ windows get time" un uzspiežot pirmā vai trešā linka, atbildi var dabūt izlasī minūtes laikā (ja ne sekunžu).
Kā var 47 minūtes būt ātrāk par 1 minūti?
Back to top
View user's profile Send e-mail
Display posts from previous:   
dev.gamez.lv Forum Index -> Iesācējiem All times are GMT + 2 Hours
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group