FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» PANORAMIC V 1
Jeu d'Echecs - Page 2 Emptypar papydall Aujourd'hui à 3:22

» select intégrés [résolu]
Jeu d'Echecs - Page 2 Emptypar jjn4 Hier à 17:00

» number_mouse_up
Jeu d'Echecs - Page 2 Emptypar jjn4 Hier à 11:59

» Aide de PANORAMIC
Jeu d'Echecs - Page 2 Emptypar jjn4 Hier à 11:16

» trop de fichiers en cours
Jeu d'Echecs - Page 2 Emptypar lepetitmarocain Hier à 10:43

» Je teste PANORAMIC V 1 beta 1
Jeu d'Echecs - Page 2 Emptypar papydall Hier à 4:17

» bouton dans autre form que 0
Jeu d'Echecs - Page 2 Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Jeu d'Echecs - Page 2 Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Jeu d'Echecs - Page 2 Emptypar Klaus Lun 6 Mai 2024 - 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Jeu d'Echecs - Page 2 Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Jeu d'Echecs - Page 2 Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Jeu d'Echecs - Page 2 Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Jeu d'Echecs - Page 2 Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Jeu d'Echecs - Page 2 Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Jeu d'Echecs - Page 2 Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-40%
Le deal à ne pas rater :
-40% sur le Pack Gaming Mario PDP Manette filaire + Casque filaire ...
29.99 € 49.99 €
Voir le deal

 

 Jeu d'Echecs

Aller en bas 
+2
Jack
Marc
6 participants
Aller à la page : Précédent  1, 2
AuteurMessage
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyJeu 21 Jan 2021 - 17:05

La nouvelle version de KGF.dll de ce jour contient une version de l'objet ChessBoard avec le roque soumis aux 4 conditions que tu as indiquées.

Pour tester, c'est simple: utilise la possibilité de charger des configurations personnelles. Dans le source du programme de démo, tu mets d'abord 8 lignes de 8 étoiles, puis places les pièces significatives à la place voulue. Puis tu utilises le bouton "Peupler l'échiquer avec un exemple" et ta configuration s'affiche. Les blancs ont la main, et les tours et rois, si présents, sont marqués comme n'ayant "jamais bougé".
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyJeu 21 Jan 2021 - 18:40

Bravo Klaus ! cheers

Petit ou grand, noir ou blanc, le roque fonctionne !
Mes premiers essais sont concluants, y compris les conditions 3 et 4.

Jeu d'Echecs - Page 2 Applau10

Je ferai d'autres tests après dîner.

Il subsiste le décalage des coordonnées en abscisse qui produit un plantage dans une bande critique en colonne H.

Bonne continuation !
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyJeu 21 Jan 2021 - 20:27

Citation :
Il subsiste le décalage des coordonnées en abscisse qui produit un plantage dans une bande critique en colonne H.
Oui, ce problème technique subsiste. Je suis en train de m'en occuper. Je voulais d'abord régler les aspects fonctionnels, et je suis satifait de noter que tout va bien. Merci !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyJeu 21 Jan 2021 - 23:52

Ca y est - ce "petit problème technique" est résolu également. Plus de violations de mémoire...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyVen 22 Jan 2021 - 7:15

Bonjour Klaus !

Citation :
Ca y est - ce "petit problème technique" est résolu également. Plus de violations de mémoire...

Super ! Mais il faudrait "pousser" encore d'un petit pixel.
Il ne reste plus qu'une une zone verticale d'un pixel de large qui plante le programme. C'est la ligne du cadre qui ferme la colonne H.

Spoiler:

Après ceci, souhaites-tu continuer avec la détection des situations d'échec, pat et mat ?
Quoi qu'il en soit, tu as fait un travail excellent en un temps record. Bravo !
De mon coté, je n'ai pas avancé d'un iota !
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyVen 22 Jan 2021 - 10:26

Le problème du clic dans la bordure de droite est résolu. Il y avait d'ailleurs le même problème lors d'un clic dans la bordure gauche... c'est corrigé.

Détecter PAT et MAT ? Ca, c'est une autre paire de manches !

Mais je vais ajouter la détexction de la mise en échec du roi adverse, que ce soit une mise en danger directe par une pièce qui vient d'être jouée ou par une pièce dont le champ d'action vient d'être libéré par la pièce qui vient d'être jouée.

EDIT

Ca y est - la détection de la mise en échec est active !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyVen 22 Jan 2021 - 15:32

Les cases peuvent maintenant avoir une taille de 48x48 ou de 72x72 pixels ! Voici le programme démo adapté:
Code:
' test_jeu_echecs.bas

label peupler, dimension

dim res%, w%, h%, hc%, x1%, y1%, row1%, col1%, x2%, y2%, row2%, col2%, CB%, siz%

alpha 1 : top 1,10 : left 1,10 : caption 1,"Taille des cases:"
combo 2 : top 2,10 : left 2,100 : item_add 2,"48x48" : item_add 2,"72x72" : item_select 2,2 : on_click 2,dimension
siz% = 72

w% = 1 + 8*(siz%+1)
h% = w%
width 0,w%+50
height 0,h%+200
button 101 : top 101,50+h%+10 : left 101,10 : width 101,w% : caption 101,"Peupler l'échiquer avec un exemple"
  on_click 101,peupler
edit 102 : top 102,top(101)+30 : left 102,10 : width 102,w%
memo 103 : hide 103 : bar_both 103

dll_on "KGF.dll"

CB% = dll_call6("CreateChessBoard",handle(0),siz%,10,50,hex("8080FF"),hex("FFF0F0"))
res% = dll_call2("SetChessBoardTrace",CB%,handle(102))

end

dimension:
  if item_index(2) = 1 then siz% = 48
  if item_index(2) = 2 then siz% = 72
  CB% = dll_call1("DeleteChessBoard",CB%)
  CB% = dll_call6("CreateChessBoard",handle(0),siz%,10,50,hex("8080FF"),hex("FFF0F0"))
  res% = dll_call2("SetChessBoardTrace",CB%,handle(102))
  return
 
peupler:
  clear 103
  item_add 103,"*****k**"
  item_add 103,"**b*****"
  item_add 103,"******r*"
  item_add 103,"********"
  item_add 103,"********"
  item_add 103,"**Q*****"
  item_add 103,"*****K**"
  item_add 103,"********"
 res% = dll_call3("PopulateChessBoard",CB%,handle(103),1)
  if res%<0 then message "Echec du peublement"
  return

Mieux que ça:
Lorsqu'un roi est en situation d'échec, on ne peut jouer que de pièces de cette couleur qui annulent la situation d'échec. Aucun autre mouvement n'est permis.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyVen 22 Jan 2021 - 18:51

Bonsoir Klaus !

J'ai téléchargé la dernière version de KGF et j'ai toujours le plantage lors du clic sur le bord des cases extérieures.

Ceci aussi bien en 48x48 qu'en 72x72.

Version KGF : 9.47 du 21/01/2021
Quant au fichier lui-même, il est daté du 22/01/2021 à 17h35.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyVen 22 Jan 2021 - 21:15

J'ai pris les grands moyens, mais maintenant, je n'ai plus de violations...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptySam 23 Jan 2021 - 0:05

C'est parfait ! cheers
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptySam 23 Jan 2021 - 0:44

Ouf ! Merci beaucoup, Marc !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptySam 23 Jan 2021 - 1:59

Encore un petit "cadeau":
on peut maintenant changer la dimension des icônes dynamiquement, en cours de partie, sans perdre la situation du plateau ! Il faut recharger la DLL, bien sûr, et utiliser cette version du programme de démo:
Code:
' test_jeu_echecs.bas

label peupler, dimension

dim res%, w%, h%, hc%, x1%, y1%, row1%, col1%, x2%, y2%, row2%, col2%, CB%, siz%

alpha 1 : top 1,10 : left 1,10 : caption 1,"Taille des cases:"
combo 2 : top 2,10 : left 2,100 : item_add 2,"48x48" : item_add 2,"72x72" : item_select 2,1 : on_click 2,dimension
if item_index(2) = 1 then siz% = 48
if item_index(2) = 2 then siz% = 72

w% = 1 + 8*(siz%+1)
h% = w%
width 0,w%+50
height 0,h%+200
button 101 : top 101,50+h%+10 : left 101,10 : width 101,w% : caption 101,"Peupler l'échiquer avec un exemple"
  on_click 101,peupler
edit 102 : top 102,top(101)+30 : left 102,10 : width 102,w%
memo 103 : hide 103 : bar_both 103

dll_on "KGF.dll"

CB% = dll_call6("CreateChessBoard",handle(0),siz%,10,50,hex("8080FF"),hex("FFF0F0"))
res% = dll_call2("SetChessBoardTrace",CB%,handle(102))

end

dimension:
  if item_index(2) = 1 then siz% = 48
  if item_index(2) = 2 then siz% = 72
  w% = 1 + 8*(siz%+1)
  h% = w%
  width 0,w%+50
  height 0,h%+200
  top 101,50+h%+10
  top 102,top(101)+30
  res% = dll_call2("ResizeChessBoard",CB%,siz%)
  return
 
peupler:
  clear 103
  item_add 103,"*****k**"
  item_add 103,"**b*****"
  item_add 103,"******r*"
  item_add 103,"********"
  item_add 103,"********"
  item_add 103,"**Q*****"
  item_add 103,"*****K**"
  item_add 103,"********"
 res% = dll_call3("PopulateChessBoard",CB%,handle(103),1)
  if res%<0 then message "Echec du peublement"
  return


Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptySam 23 Jan 2021 - 10:21

Et toujours plus loin:
On a maintenant un bouton "Annuler" qui permet le retour en arrière, coup par coup, jusqu'au début. Il faut recharger KGF.dll, bien sûr.
Voici le programme de démo pour cela:
Code:
' test_jeu_echecs.bas

label peupler, dimension, annuler

dim res%, w%, h%, hc%, x1%, y1%, row1%, col1%, x2%, y2%, row2%, col2%, CB%, siz%

alpha 1 : top 1,10 : left 1,10 : caption 1,"Taille des cases:"
combo 2 : top 2,10 : left 2,100 : item_add 2,"48x48" : item_add 2,"72x72" : item_select 2,1 : on_click 2,dimension
if item_index(2) = 1 then siz% = 48
if item_index(2) = 2 then siz% = 72

w% = 1 + 8*(siz%+1)
h% = w%
width 0,w%+50
height 0,h%+200
button 101 : top 101,50+h%+10 : left 101,10 : width 101,w% : caption 101,"Peupler l'échiquer avec un exemple"
  on_click 101,peupler
edit 102 : top 102,top(101)+30 : left 102,10 : width 102,w%
memo 103 : hide 103 : bar_both 103
button 104 : top 104,top(102)+30 : left 104,10 : width 104,w% : caption 104,"Annuler le dernier coup"
  on_click 104,annuler

dll_on "KGF.dll"

CB% = dll_call6("CreateChessBoard",handle(0),siz%,10,50,hex("8080FF"),hex("FFF0F0"))
res% = dll_call2("SetChessBoardTrace",CB%,handle(102))

end

dimension:
  if item_index(2) = 1 then siz% = 48
  if item_index(2) = 2 then siz% = 72
  w% = 1 + 8*(siz%+1)
  h% = w%
  width 0,w%+50
  height 0,h%+200
  top 101,50+h%+10
  top 102,top(101)+30
  top 104,top(102)+30
  res% = dll_call2("ResizeChessBoard",CB%,siz%)
  return
 
annuler:
  res% = dll_call1("UndoChessBoard",CB%)
  return
 
peupler:
  clear 103
  item_add 103,"*****k**"
  item_add 103,"**b*****"
  item_add 103,"******r*"
  item_add 103,"********"
  item_add 103,"********"
  item_add 103,"**Q*****"
  item_add 103,"*****K**"
  item_add 103,"********"
 res% = dll_call3("PopulateChessBoard",CB%,handle(103),1)
  if res%<0 then message "Echec du peublement"
  return


Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyLun 25 Jan 2021 - 20:36

Klaus a écrit:
...un bouton "Annuler" qui permet le retour en arrière, coup par coup, jusqu'au début.

C'est excellent et parfaitement efficace !  cheers

Merci Klaus !
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyMar 26 Jan 2021 - 14:00

J'ai ajouté une novelle fonctionnalité à mon programme de jeu d'échecs !

On peut toujours le jouer comme avant: un seul plateau, on joue à tour de rôle les blancs et les noirs.

On peut maintenant le lancer deux fois. On obtient deux plateaux de jeux, mais ils sont synchronisés ! Un coup joué sur un plateau est reproduit automatiquement sur l'autre, et inversement. Idem pour les annulatiions: l'annulation sur un plateau entraîne la mêle action sur l'autre.

Ceci est une approche pour jouer à deux, chacun sur un plateau. D'ailleurs, dès la synchronisation, le titre des fenêtres change: l'une portera le nom de "Klaus', l'autre sera marquée "Adversaire". Le nom de "Klaus" est codé das le programme Panoramic, donc modifiable par vos soins.

J'envisage de bloquer une couleur sur chaque plateau, je premier coup blanc sur un des plateaux déterminant que l'autre plateau sera dédié au joueur "noir", et je bloquerai les coups pour les couleurs opposées en fonction de cela, sur les deux plateaux. En même temps, un petit dialogue permettra de saisir le nom de chacun des joueurs, au moment de la synchronisation (lancement du second plateau).

J'ai pris cela comme une situation d'exercite pour établir une communication entre programmes. Il y aura une fonction permttant de définir un "canal" de communication bidirectionnelle. Lorsque le secon programme crée lemême canal, l se synchronisera autimatiquement avec le premier et formera un couple unique. Chaque programme  pourra créer autant de canaux que nécessaire et être ainsi en lien avec plusieurs programmes.

Mais trève de prospective. Voici la verion adaptée du programme de démo:
Code:
' test_jeu_echecs.bas

label peupler, dimension, annuler

dim res%, w%, h%, hc%, x1%, y1%, row1%, col1%, x2%, y2%, row2%, col2%, CB%, siz%, player$

caption 0,"KGF Chess"
top 0,50 : left 0,234
alpha 1 : top 1,10 : left 1,10 : caption 1,"Taille des cases:"
combo 2 : top 2,10 : left 2,100 : width 2,60 : item_add 2,"48x48" : item_add 2,"72x72" : item_select 2,1 : on_click 2,dimension
if item_index(2) = 1 then siz% = 48
if item_index(2) = 2 then siz% = 72

w% = 1 + 8*(siz%+1)
h% = w%
width 0,w%+50
height 0,h%+200
button 101 : top 101,50+h%+10 : left 101,10 : width 101,w% : caption 101,"Peupler l'échiquer avec un exemple"
  on_click 101,peupler
edit 102 : top 102,top(101)+30 : left 102,10 : width 102,w%
memo 103 : hide 103 : bar_both 103
button 104 : top 104,top(102)+30 : left 104,10 : width 104,w% : caption 104,"Annuler le dernier coup"
  on_click 104,annuler

dll_on "KGF.dll"

CB% = dll_call6("CreateChessBoard",handle(0),siz%,10,50,hex("8080FF"),hex("FFF0F0"))
res% = dll_call2("SetChessBoardTrace",CB%,handle(102))
player$ = "Klaus"
res% = dll_call6("SetChessBoardReceiver",CB%,handle(0),180,3,1,adr(player$))

end
 
dimension:
  if item_index(2) = 1 then siz% = 48
  if item_index(2) = 2 then siz% = 72
  w% = 1 + 8*(siz%+1)
  h% = w%
  width 0,w%+50
  height 0,h%+200
  top 101,50+h%+10
  top 102,top(101)+30
  top 104,top(102)+30
  res% = dll_call2("ResizeChessBoard",CB%,siz%)
  return
  
annuler:
  res% = dll_call1("UndoChessBoard",CB%)
  return
  
peupler:
  clear 103
  item_add 103,"*****k**"
  item_add 103,"**b*****"
  item_add 103,"******r*"
  item_add 103,"********"
  item_add 103,"********"
  item_add 103,"**Q*****"
  item_add 103,"*****K**"
  item_add 103,"********"
 res% = dll_call3("PopulateChessBoard",CB%,handle(103),1)
  if res%<0 then message "Echec du peublement"
  return

Il faut générer l'exécutable à partir de ce source et le lancer deux fois. Ou lancer ce code par l'éditeur Panoramic, et lancer ensuite l'exécutable généré. On ne peut pas lancer deux fois le même programme par l'éditeur, et je déconseille fortement de lancer deux éditeurs...

Voici ce que ça donne:
Jeu d'Echecs - Page 2 Aa153

On peut changer la taille des icônes séparément, dans chaque plateau de jeu.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jean_debord

jean_debord


Nombre de messages : 1250
Age : 69
Localisation : Limoges
Date d'inscription : 21/09/2008

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyMer 27 Jan 2021 - 20:40

J'ai retrouvé ce lien dans mes archives :

https://www.codeproject.com/Articles/36112/Chess-Program-in-C

Peut-être pourrait-il vous intéresser ?
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyMer 27 Jan 2021 - 21:57

Bonsoir à tous !

Merci et bravo Klaus !  cheers

J'ai testé les deux plateaux de jeu, c'est parfait !
La synchronisation est parfaite sans plantage.

Je n'ai pas suivi les consignes, j'ai lancé deux fois le source dans l'éditeur EliP. Pas de problème, ça fonctionne très bien !

EliP permet d'exécuter jusqu'à 5 fois le source en cours de développement, ce qui permet d'effectuer une comparaison avant/après modification dudit source.
Dans notre cas ici, EliP, via le makeExe.exe, crée deux .exe identiques puisque le source n'a pas été modifié entre temps.
Le canal de communication bilatéral s'établit et fonctionne parfaitement. Encore Bravo Klaus !

Spoiler:



@Jean_Debord

Merci du partage !

J'ai testé le jeu et c'est impressionnant !
Il est doté d'une IA impitoyable !
Bon il est vrai que je ne suis pas un joueur d'échecs. Il faudrait qu'un connaisseur donne son avis.

En tout cas, cela m'a permis de visualiser l'ergonomie du jeu.
Encore merci Jean !
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyJeu 28 Jan 2021 - 0:26

Merci pour le retour, Marc ! Je suis content que l'aspect technique soit approuvé.

Je mets ce mini-jeu un peu en sommeil et je développe plus en détail la partie "communication", mais sans lien direct avec les échecs. Par contre, on pourra communiquer parmi plusieurs programmes Panoramic différents, en utilisant ce que j'appelle des "canaux" identifiés par un nom. Ils sont bidirectionnels, et un programme pourra en créer autant qu'il veut. Cela permet de créer par exemple une organisation client-serveur.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyJeu 28 Jan 2021 - 11:29

J'ai amélioré la version multi-joueurs.

Au départ, les deux plateux sont en configuration initiale, de façon identique.
La première pièce jouée sur un des plateaux "affecte" cette couleur à ce plateau.
L'autre plateau sera automatiquement affectée de la couleur adverse.
Ces affectations resteront en vigueur durant toute la partie.
Sur chacun des plateaux, on ne peut bouger que les pièces de la couleur affectée.
Ceci reste vrai même à traveurs plusieurs annulations.
Si tous les coups ont été annulés de sorte à revenir à la configuration initiale, les couleurs affectées redeviennent "neutres" et un pourra bouger une pièce de n'importe quelle couleur sur n'importe lequel des plateaux.
Et le cycle recommence.

Seule la DLL est à recharger. Le programme Panoramic reste inchangé.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyVen 29 Jan 2021 - 20:43

Bonsoir Klaus !

J'ai testé les différents cas possibles, c'est parfait ! cheers
Revenir en haut Aller en bas
mimic

mimic


Nombre de messages : 103
Localisation : france
Date d'inscription : 02/09/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyLun 17 Mai 2021 - 10:20

Bonjour,
Ou trouver la dernière version complète du source ?
D'avance merci.
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyLun 17 Mai 2021 - 10:43

Bonjour Mimic !

Le jeu d’échecs a été développé par Klaus en interne dans kgf.dll.

Voici le code-source de Klaus :
Code:
' test_jeu_echecs.bas

label peupler, dimension, annuler

dim res%, w%, h%, hc%, x1%, y1%, row1%, col1%, x2%, y2%, row2%, col2%, CB%, siz%, player$

caption 0,"KGF Chess"
top 0,50 : left 0,234
alpha 1 : top 1,10 : left 1,10 : caption 1,"Taille des cases:"
combo 2 : top 2,10 : left 2,100 : width 2,60 : item_add 2,"48x48" : item_add 2,"72x72" : item_select 2,1 : on_click 2,dimension
if item_index(2) = 1 then siz% = 48
if item_index(2) = 2 then siz% = 72

w% = 1 + 8*(siz%+1)
h% = w%
width 0,w%+50
height 0,h%+200
button 101 : top 101,50+h%+10 : left 101,10 : width 101,w% : caption 101,"Peupler l'échiquer avec un exemple"
  on_click 101,peupler
edit 102 : top 102,top(101)+30 : left 102,10 : width 102,w%
memo 103 : hide 103 : bar_both 103
button 104 : top 104,top(102)+30 : left 104,10 : width 104,w% : caption 104,"Annuler le dernier coup"
  on_click 104,annuler

dll_on "KGF.dll"

CB% = dll_call6("CreateChessBoard",handle(0),siz%,10,50,hex("8080FF"),hex("FFF0F0"))
res% = dll_call2("SetChessBoardTrace",CB%,handle(102))
player$ = "Klaus"
res% = dll_call6("SetChessBoardReceiver",CB%,handle(0),180,3,1,adr(player$))

end
 
dimension:
  if item_index(2) = 1 then siz% = 48
  if item_index(2) = 2 then siz% = 72
  w% = 1 + 8*(siz%+1)
  h% = w%
  width 0,w%+50
  height 0,h%+200
  top 101,50+h%+10
  top 102,top(101)+30
  top 104,top(102)+30
  res% = dll_call2("ResizeChessBoard",CB%,siz%)
  return
  
annuler:
  res% = dll_call1("UndoChessBoard",CB%)
  return
  
peupler:
  clear 103
  item_add 103,"*****k**"
  item_add 103,"**b*****"
  item_add 103,"******r*"
  item_add 103,"********"
  item_add 103,"********"
  item_add 103,"**Q*****"
  item_add 103,"*****K**"
  item_add 103,"********"
 res% = dll_call3("PopulateChessBoard",CB%,handle(103),1)
  if res%<0 then message "Echec du peublement"
  return

Et voici le lien pour télécharger kgf.dll : http://klauspanoramic.infinityfreeapp.com/KGF.zip

Bonne journée !
Revenir en haut Aller en bas
mimic

mimic


Nombre de messages : 103
Localisation : france
Date d'inscription : 02/09/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyLun 17 Mai 2021 - 11:32

J'ai réussi à tester le jeu, mais si j'ai bien compris, il n'est pas codé en Panoramic, et donc impossible de voir le code source ?
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyLun 17 Mai 2021 - 11:36

@mimic:
Le jeu est en effet codé en Delphi. Suite à la dernière mise à jour de Windows, ma licence Delphi a encore une fois "disparu". Je suis en train de tout réinstaller. Dès que ce sera fait, je posterai ici le source compet concernant ce jeu.

Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
mimic

mimic


Nombre de messages : 103
Localisation : france
Date d'inscription : 02/09/2009

Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 EmptyLun 17 Mai 2021 - 11:58

Bien, mais je ne connais pas ce langage…

De mon coté, je tente de développer une version minimaliste, avec les règles officielles, cette fois-ci ; le noyau (déplacements et petite « I.A ») seul, sans l'aspect graphique.
Revenir en haut Aller en bas
Contenu sponsorisé





Jeu d'Echecs - Page 2 Empty
MessageSujet: Re: Jeu d'Echecs   Jeu d'Echecs - Page 2 Empty

Revenir en haut Aller en bas
 
Jeu d'Echecs
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos projets-
Sauter vers: