begin process at 2012 05 29 20:54:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

problème de boucle pour un affichage SDL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème de boucle pour un affichage SDL

samedi 17 avril 2010 à 16:23:03 | problème de boucle pour un affichage SDL

sparox1

Bonjour à tous, j'ai établis un début de programme de poker pour un projet à rendre dans la fin de cette année scolaire, ce programme tire 5 cartes au hasard puis me les affiche pour le moment, cependant je débute tout juste dans la programmation avec la bibliothèque SDL et j'aimerais faire quelques boucles me permettant d'initialiser, créer, et positionner mes surfaces, voici le début de mon code avec les "boucles" que j'aimerais créer:
Code C/C++ :
		SDL_Surface *ecran = NULL;

		//"BOUCLE" CARTE
		SDL_Surface *carte1 = NULL;
		SDL_Surface *carte2 = NULL;
		SDL_Surface *carte3 = NULL;
		SDL_Surface *carte4 = NULL;
		SDL_Surface *carte5 = NULL;
		////////////////////////////

		SDL_Rect positionCarte1, positionCarte2, positionCarte3, positionCarte4, positionCarte5;

		SDL_Init(SDL_INIT_VIDEO);

		ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE);
		SDL_WM_SetCaption("Video Poker", NULL);
		SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 24, 118, 7));
		
		carte1 = SDL_CreateRGBSurface(SDL_HWSURFACE, 79, 123, 32, 0, 0, 0, 0);
		carte2 = SDL_CreateRGBSurface(SDL_HWSURFACE, 79, 123, 32, 0, 0, 0, 0);
		carte3 = SDL_CreateRGBSurface(SDL_HWSURFACE, 79, 123, 32, 0, 0, 0, 0);
		carte4 = SDL_CreateRGBSurface(SDL_HWSURFACE, 79, 123, 32, 0, 0, 0, 0);
		carte5 = SDL_CreateRGBSurface(SDL_HWSURFACE, 79, 123, 32, 0, 0, 0, 0);
		//"BOUCLE" CREATE CART

		positionCarte1.x = 100;
		positionCarte1.y = 100;
		positionCarte2.x = 200;
		positionCarte2.y = 100;
		positionCarte3.x = 300;
		positionCarte3.y = 100;
		positionCarte4.x = 400;
		positionCarte4.y = 100;
		positionCarte5.x = 500;
		positionCarte5.y = 100;

		SDL_FillRect(carte1, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
		SDL_FillRect(carte2, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
		SDL_FillRect(carte3, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
		SDL_FillRect(carte4, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
		SDL_FillRect(carte5, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
		SDL_BlitSurface(carte1, NULL, ecran, &positionCarte1);
		SDL_BlitSurface(carte2, NULL, ecran, &positionCarte2);
		SDL_BlitSurface(carte3, NULL, ecran, &positionCarte3);
		SDL_BlitSurface(carte4, NULL, ecran, &positionCarte4);
		SDL_BlitSurface(carte5, NULL, ecran, &positionCarte5);
			SDL_Flip(ecran);
		

A la place des répétitions de bout de programme j'aimerais qu'il y ai des boucles, est-ce que cela est possible? Si oui, pouvez vous m'aidez ?
Merci d'avance! :)
dimanche 18 avril 2010 à 15:09:56 | Re : problème de boucle pour un affichage SDL

Chouchou182

Oui, c'est possible.

Par exemple, tu peux faire des tableaux:
Code C/C++ :
SDL_Surface* carte[5];


Autre astuce: tu peux regrouper les surfaces et leurs coordonnées dans une structure. C'est plus facile par exemple si tu dois passer une «carte» à une fonction: les deux informations sont représentées par une seule variable. Il est même possible de faire un tableau de structures.

Tu peux aussi lire «Le langage C» de Kernighan et Ritchie; c'est très instructif.

Bonne prog,
--
Chouchou.
lundi 19 avril 2010 à 13:37:45 | Re : problème de boucle pour un affichage SDL

sparox1

Effectivement, merci j'avais déjà essayé avec un tableau mais il y avais un problème d'initialisation ^^" j'avais juste oublier les accolades autour du NULL =)
merci pour l'aide :)


Cette discussion est classée dans : ecran, sdl, surface, fillrect, hwsurface


Répondre à ce message

Sujets en rapport avec ce message

Bibliothèque SDL [ par haarp6 ] Bonsoir à tous, je bosse en ce moment sur un petit démineur en SDL, donc je viens de commencer dessus, et mon code me génère une exception non gérée. Tetris game [ par hindou11 ] Bonjour, je viens de me lancer dans la SDL, mais il se trouve que je plante un peu......je suis entrain de programmer le jeu du tetris mais je m'emb Problème pour afficher des images PNG en SDL [ par jedinos ] Bonjour à tous ! Voilà, en suivant attentivement le cour de programmation en C du site du zéro, j'ai pu il y a quelques jours ( enfin ) commencer la Question sur SDL_Surface [ par greycats ] Bonjour, Je suis actuellement en train de faire un jeu en C avec la librairie SDL. J'aurai voulu savoir si il était possible de comparer 2 tableaux Problème pour calculer le H pour l'A star ( * ) [ par jedinos ] Bonjour à tous ! [url=http://www.siteduzero.com/tutoriel-3-34333-le-pathfinding-avec-a.html]Dans ce tuto du pathfinding A star[/url] , l'auteur ne no fenetre [ par keegs ] Bonsoir Je débute dans la programmation, mais voila j ai un petit soucis, je n arrive pas a résoudre le problème a chaque fois que je mais compiler i Texture avec OpenGl [ par Zakata ] Bonjour,Voila j'ai un petit soucis avec les textures et OpenGl. J'ai dans l'espoir de réussir à mettre une image de fond sur une fenetre OpenGl. J'ai SDL animation [ par supermael ] Bonjour tout le monde, je commence un petit jeux, pour m'entrainer. Il sera en vue de profil (on ne peut bouger que vers la droite ou vers la gauche) Problème fenêtre SDL sous Linux [ par Neofabiensama ] Bonjour,Je poste aujourd'hui car je suis à cours d'idée sur un problème de fenêtre SDL. Je travaille actuellement sur un projet de visualisation 2D d' importation image en SDL [ par Richard94 ] Bonjour, voila j'ai un petit probleme en SDL, j'essaye d'importer une image format "xcf" en faisant IMG_load sous codeblocks, mais ça ne marche pas. P


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,884 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales