Réalisation d'un petit jeu de stratégie

Programmation avancée de jeux en PureBasic
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

heu, ça sert à quoi d'attendre la synchro de l'écran ? :roll: :oops:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message par fweil »

A éviter le scintillement caractéristique d'une image qui ne searit pas terminée avant le raffraichissment de l'écran ...

Je pense que c'est une explication assez simple ?
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Bon, voilà ou j'en suis :wink:

http://perso.wanadoo.fr/lesoldatinconnu ... ategie.zip (230 ko)

un brin d'explication :
Pour le moment, il n'y a pas d'IA pour l'ennemi donc on joue tout seul
normalement, on joue chaun son tour mais la, c'est toujours le joueur

chaque tour de jeu se décompose en 3 coups :
- 2 attaque ou déplacement :
il faut sélectionner une case (clic gauche) puis se servir de la molette pour choisir le nombre de troupe à déplacer et vers clic droit sur la destination (obligatoirement une case à coté).
si la case ou on déplace les troupes est occupée par l'ennemi, ça fait une baston aléatoire en fonction du rapport de force

- un envoi de troupe :
clic droit ou molette pour déposer des troupes
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

j'ai bien attaqué la finition de l'interface graphique donc le fichier prend du poids, logique :wink:

http://perso.wanadoo.fr/lesoldatinconnu ... ategie.zip (960ko)

j'suis bien content du résultat, ça me change de turbo pascal pour la gestion des sprites. c'est quand même plus facile avec PB :roll:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
hardy
Messages : 333
Inscription : mer. 02/juin/2004 13:19
Localisation : Tours

Message par hardy »

C'est joli... mais comment joue-t-on???
Faudrait peut-être un manuel.

Question annexe : où as tu trouvé les images? J'en cherche diverses.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

faut lire le message au-dessus pour les boutons. je suis en train de le mettre les explications dans le menu à droite. de toute façon, c'est pas finit car l'ennemi ne joue pas pour le moment, dès que j'ai finit le menu, j'attaque l'IA

sinon pour les images, c'est de la copie d'écran de starcraft brood war pour le terrain.
le menu, c'est un panelgadget sans onglet qui sert de fond (la aussi copie d'écran), idem pour les boutons
et pour la souris et le bonton du clavier, je suis aller fouiner sur le site de Logitech.

sinon, après un peu de photoshop pour faire les raccords et autres. le plus long étant de faire des formes pour l'herbe et les rivages qui concorde entre eux.
j'ai passer plus de temps à faire du graphisme qu'à coder pour le moment :roll:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Cool :D
J'ai pas tout lu donc je ne sais pas si ça a déjà été dis : tous les pc ne sont pas équipés de mollete
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

je sais, pour le moment, c'est comme ça ;)
tu peux utiliser les touches + et - ,j'ai mis la sélection rapide dessus (pour sélectionner beaucoup de troupes rapidement). faudra que je mette une touche en parallèle de la molette :)

sinon, pour les explications des fonctions, elles sont intégrées au menu de droite.

un petit screen pour les fainéants en passant. zut alors, printscreen marche point du tout.
j'ai également essayé d'autre méthode sans succés, j'obtiens toujours une image noire. quelqu'un aurait-il une astuce à ce sujet. merci
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

en pasant par le code ? (tu fais un appui sur une touche pour le screenshot) non ?
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

ben oui, marche pas

j'ai essayé avec usebuffer(#Sprite_PrintScreen) pour dessiner sur un sprite au lieu de l'écran.
ça m'enregistre une image noir

j'ai essayé en récupérant la couleur de l'écran pixel par pixel avec la fonction Point dans un tableau puis en repassant sur une image à l'aide de plot et la aussi, j'ai une image noire :(

alors je suis à cour
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

Code : Tout sélectionner

 
  repeat
  ...
  clearscreen(...)
  ...
  displaysprite(...)
  ...
  flipbuffers(...)
  
  if keyboardreleased(#PB_Key_S)
    snap + 1
    snapid = grabsprite(#pb_any, 0, 0, ..., ...)
    savesprite(snapid, "snap_"+str(snap)+".bmp")
    freesprite(snapid)
  endif  
  ...
  until ...
faut faire la capture apres flipvuffer() ;)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

sinon pour utiliser un soft de capture d'ecran il faut que ton programme
donne la main au system
donc pas de WaitWindowEvent() mais WindowEvent()
avec un delay(x) derriere !
la je pense que ton programme devrai etre multitache !
:?


sinon Bravo pour ton oeuvre , c'est tres "Pro" et joli !!!
toutes mes ficelles de caleçon !!!!! :lol:
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Super :D
suggestion : Quand la map est tout en haut désactive le bouton pour monter (et bien sûr idem pour les autres)

Dri ;)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Merci Cederavic, j'avais pas saisie la fonction GrabSprite

Donc voici le petit screen de mon jeu : (environ 100ko)
http://perso.wanadoo.fr/lesoldatinconnu ... ategie.jpg

et voici le jeu qui continue d'évoluer avec les premier pas de l'IA de l'ennemi (juste pour l'envoie de troupe)
http://perso.wanadoo.fr/lesoldatinconnu ... ategie.zip (1 Mo)

Dr. Dri, j'ai ajouté le bouton désactivé quand on est au bord de la carte ;)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

ça a de la gueule , y'a pas à dire quand c'est bien présenté ,ça donne envie d'y jouer :)
Répondre