re12, mini_GUN, gizmo15, Flavius424 Achat/vente : NETeagle, 1 utilisateur anonyme et 22 utilisateurs inconnus

 Mot :   Pseudo :  
 
 Page :  1  2
Page Précédente 
Auteur Sujet :

[C] Projet perso : Echecs

n°1903
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 00:27:43  profilanswer
 

Salut  
 
Je voudrai realiser un jeu d'echecs en reseau sous Linux.
Mais je voudrais aussi realiser un client windows :)
 
 
Je crois qu'il existe une librairie qui permet de devel des apps compatible win et nux enfin il faut sans doute adapter des trucs je suppose) ... Je crois que c'est QT ou GTK ???
 
Donc la realisation (dans un 1er temp) :
Un server de jeu sous linux qui gerera la partie
Un client linux
Un client windows
 
Une fois que tout sera à peu pres stable je voudrai integrer le server aux clients ;)
 
Qu'en pensez-vous ? :hello:


---------------
I am the bone of my sword...
mood
Google
Posté le 19-02-2004 à 00:27:43  profilanswer
 

n°1904
KnX
To be or not to code.
Posté le 19-02-2004 à 00:39:28  profilanswer
 

tu comprends dans ton projet l'AI ou pas ?

n°1905
xstephx
Sarah!
Posté le 19-02-2004 à 00:41:19  profilanswer
 

c'est humain à humain d'apres ce que j'ai compris, non ?


---------------
Gagnez un iPhone en jouant sur www.findupays.be
n°1906
lvt
Powered by RedHat 9
Posté le 19-02-2004 à 10:02:43  profilanswer
 

KnX a écrit :

tu comprends dans ton projet l'AI ou pas ?


 
en français on dit pas AI mais IA, non  :sarcastic:  
 
lvt


---------------
ça y est, c'est décidé je passe à Linux (RedHat 9 sinon rien ;) Ma collection personnelle de processeurs : 1 Intel 80386 DX 25 Mhz, 1 Pentium 120 Mhz, 1 Pentium 200 Mhz, 1 Celeron - 333 Mhz, 1 Pentium Mobile 150 Mhz with MMX, 1 AMD K6 - 166 Mhz, 1 AMD K6-
n°1907
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 11:14:33  profilanswer
 

Non pas d' IA pour le moment ;) Ca sera que du humain VS humain car pour le moment j'ai aucune idée pour creer une IA, surtout pour un jeu d'Echecs :)


---------------
I am the bone of my sword...
n°1908
KnX
To be or not to code.
Posté le 19-02-2004 à 13:06:57  profilanswer
 

Essaye d'envisager un protocole un peu polyvalent, histoire de pouvoir avoir divers type de client ( 2D , texte , 3D ... ) ;) ca peut être interessant ...

n°1909
Deadog
Dain Bramaged
Posté le 19-02-2004 à 13:47:17  profilanswer
 

QT est multiplateforme
mais GTK passe aussi sous win (mozilla est en gtk, tout du moins sous linux, donc je pense ke sous win il ont fait pareil et utilise un portage statique de gtk

n°1910
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 14:55:08  profilanswer
 

KnX a écrit :

Essaye d'envisager un protocole un peu polyvalent, histoire de pouvoir avoir divers type de client ( 2D , texte , 3D ... ) ;) ca peut être interessant ...


 
Oui ca me semble une bonne idée ;) c'est d'ailleur ce que j'avais prevu de faire :)

Deadog a écrit :


QT est multiplateforme
mais GTK passe aussi sous win (mozilla est en gtk, tout du moins sous linux, donc je pense ke sous win il ont fait pareil et utilise un portage statique de gtk


 
Tu me conseillerai quoi ? QT ou GTK ? Je n'ai aucune connaissance dans ces 2 libs mais je suppose qu'il doit y'avoir des man ;)


---------------
I am the bone of my sword...
n°1911
Dr Lous
I see old password
Posté le 19-02-2004 à 17:25:11  profilanswer
 

QT plus rempli  
GTK Open source...
 
(si je n'm'abuse :))

n°1912
nicodache
marmotte en chocolat concept ©
Posté le 19-02-2004 à 17:26:27  profilanswer
 

QT aussi opensource je pense ;)
 
[edit]gtk2 powaa ;)


Message édité par nicodache le 19-02-2004 à 17:26:43

---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°1913
Dr Lous
I see old password
Posté le 19-02-2004 à 17:29:03  profilanswer
 

QT c payant si tu fait du commercial avec :)

n°1914
Dr Lous
I see old password
Posté le 19-02-2004 à 17:29:33  profilanswer
 

j'etends dire par Open Source c ke c un projet communautaire et non restreint a une societe de controle :)

n°1915
nicodache
marmotte en chocolat concept ©
Posté le 19-02-2004 à 17:32:30  profilanswer
 

moi j'entend par Open Source ce qui découle de la GPL, surtout :D


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°1916
Dr Lous
I see old password
Posté le 19-02-2004 à 17:46:18  profilanswer
 

ben c pas trop GPL QT... enfin de ce ke je me souviens, je suis pas sur dessus :)

n°1917
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 18:32:50  profilanswer
 

Bon voila d'autre info
 
D'habitude je devel avec emacs :D mais je me disais qu'il me faudrait un IDE pour la partie graphique de l'appli meme si c'est la derniere chose que je vais faire... kdevelop à l'air bien et il supporte QT apparemment, sinon j'ai pris GLADE pour devel avec GTK ...
 
Y'a mieux que ces 2 là ou bien je garde emacs :D ??


---------------
I am the bone of my sword...
n°1918
xstephx
Sarah!
Posté le 19-02-2004 à 18:37:59  profilanswer
 

emacs is good :D


---------------
Gagnez un iPhone en jouant sur www.findupays.be
n°1919
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 19:20:34  profilanswer
 

je cherche tj des info sur Qt et GTK...
C'est seulement pour les interfaces graphiques ?
Ou alors ca permet de faire reelement des apps cross-platform (avec la gestion des sockets et tout ??) en c/c++


---------------
I am the bone of my sword...
n°1920
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 19:53:14  profilanswer
 

Apparemment GTK c'est seulement l'interface alors que Qt lui peut faire bocoup plus...


---------------
I am the bone of my sword...
n°1921
xstephx
Sarah!
Posté le 19-02-2004 à 20:44:34  profilanswer
 

ce serait amusant si tous les gens ici codaient un client en fonction du protocole choisi :)


---------------
Gagnez un iPhone en jouant sur www.findupays.be
n°1922
KnX
To be or not to code.
Posté le 19-02-2004 à 21:04:25  profilanswer
 

pour un autre type de jeu j'y avais pensé, chépas si tu as connu l'epoque ou on a joué sur CokeMusic, c'etait ca mais en BCP mieux :D

n°1923
xstephx
Sarah!
Posté le 19-02-2004 à 21:11:19  profilanswer
 

nope, connais pas... moi ce que j'aimerais faire c'est un jeu du style corewar, ou les joueurs 'programment' leur petit soldat virtuel, et une belle visualisation, meme en 2D, de l'avancement de la 'partie' ;)


---------------
Gagnez un iPhone en jouant sur www.findupays.be
n°1924
KnX
To be or not to code.
Posté le 19-02-2004 à 21:14:41  profilanswer
 

ahhhh les corewars, ca m'a toujours passionné, mais jamais eu le niveau de faire quoique ce soit :'( et ski m'aurait encore plus amusé c'est d'etendre l'aire de jeu, imagines si au lieu d'une VM t'as tout un rezo et c'est au 1er qui possède toutes les machines (  Un peu comme du Onslaught de Ut2k4 :D ) ... 'fin bon l'imagination c tout skeu j'ai, quand il s'agit de coder :/ )

n°1925
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 21:15:58  profilanswer
 

xstephx a écrit :

ce serait amusant si tous les gens ici codaient un client en fonction du protocole choisi :)


 
Ben pour le protocole j'y reflechi justement :)
Pour aller dans ton sens il faut faire un protocol independnat du langage utiliser, donc il faut transferer des entité "universelle comme des "entiers" par exemple  qui code l'action, apres en c++ il suffira de faire des #define MOVE 01 par exemple , chaque language est capable de faire ce genre de chose non ?


---------------
I am the bone of my sword...
n°1926
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 21:17:00  profilanswer
 

C'est quoi "coreware" ?


---------------
I am the bone of my sword...
n°1927
KnX
To be or not to code.
Posté le 19-02-2004 à 21:17:28  profilanswer
 

flux de données XmL [:grut] ?

n°1928
xstephx
Sarah!
Posté le 19-02-2004 à 21:22:24  profilanswer
 

CryoGen a écrit :


 
Ben pour le protocole j'y reflechi justement :)
Pour aller dans ton sens il faut faire un protocol independnat du langage utiliser, donc il faut transferer des entité "universelle comme des "entiers" par exemple  qui code l'action, apres en c++ il suffira de faire des #define MOVE 01 par exemple , chaque language est capable de faire ce genre de chose non ?


 
je voyais un truc du style protocole http : la requete est du style 'GET /index.html' et bien là il suffirait que le client envoie 'MOVE A1 B2' par exemple, pour bouger une pièce de A1 en B2, ensuite ce serait au serveur de vérifier si le mouvement en question est permis, et ensuite de voir si la case B2 est occupée par une pièce de l'adversaire, ou non...
 
enfin quelque chose comme ça.
 
Pour les corewars, j'ai pas trop le temps, mais c'est aussi un truc qui m'a toujours passioné et interessé :D
 
un bref résumé de ce que c'est : deux programmes sont lancés sur une machine (virtuelle ou non, hihi), il y a un espace mémoire défini. Le programme gagnant est clui qui a recouvert tout l'espace mémoire, et qui empeche l'autre de bouger, ou qui le recouvre.
 
Il y a quelques docs qui expliquent ça bcp mieux sur madchat : http://www.madchat.org/search/?miaou=corewar&cat= :D


---------------
Gagnez un iPhone en jouant sur www.findupays.be
n°1929
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 21:28:37  profilanswer
 

xstephx a écrit :


 
je voyais un truc du style protocole http : la requete est du style 'GET /index.html' et bien là il suffirait que le client envoie 'MOVE A1 B2' par exemple, pour bouger une pièce de A1 en B2, ensuite ce serait au serveur de vérifier si le mouvement en question est permis, et ensuite de voir si la case B2 est occupée par une pièce de l'adversaire, ou non...
 
enfin quelque chose comme ça.
 
Pour les corewars, j'ai pas trop le temps, mais c'est aussi un truc qui m'a toujours passioné et interessé :D
 
un bref résumé de ce que c'est : deux programmes sont lancés sur une machine (virtuelle ou non, hihi), il y a un espace mémoire défini. Le programme gagnant est clui qui a recouvert tout l'espace mémoire, et qui empeche l'autre de bouger, ou qui le recouvre.
 
Il y a quelques docs qui expliquent ça bcp mieux sur madchat : http://www.madchat.org/search/?miaou=corewar&cat= :D


 
Pour le protocol > hum c'est pas bete mais ca risque de demander bocoup de transfert... moi je voyais plutot que le server servait juste aux dialogues, cad le joueur 1 à deplacer son cavalier en A5, donc le client du joueur 2 deplace le cavalier du jouer 1 en A5 etc...
 
Pour les corewars j'ai trouver ca si ca t'interresse  
http://corewars.sourceforge.net
Ca à l'air sympa


Message édité par CryoGen le 19-02-2004 à 21:29:39

---------------
I am the bone of my sword...
n°1930
KnX
To be or not to code.
Posté le 19-02-2004 à 21:42:58  profilanswer
 

pour le protocole, le faire en language humain me semble pas du tout optimisé , ni la verifications post-choix du coup :/
Si on résume on a :
64 cases
- les déplacements
- les coups spéciaux ( le roque si ma memoire est bonne )
- declarer forfait
- .... ( flemme de tout bien lister )
 
donc je verrai ca plutot comme ca :
- Le serveur indique au joueur que c'est a lui de jouer avec le code euh ... 65

Code :
  1. S:>65


- Le client clique sur une piece qu'il veut déplacer, ca envoie le code de la case au serveur :
( en l'occurence il a cliqué sur l'avant-dernier pion de la ligne si jme suis pas trompé et qu'on commence le décompte dans le coin en haut a gauche )

Code :
  1. C:>54


- A ce moment la le serveur etudie les mouvements possibles, et lui envoie la liste, le 1er chiffre pour le nombre de cas possibles ( afin qu'une fois recus toutes les possiblités le client continue pas connement a attendre ) , les autres pour chacunes des cases possibles ( si y'a 0 coups, le client agit en fonction, sinon il highlite les cases possibles ) :

Code :
  1. S:>02-38-46


- La le client a le choix entre choisir une des cases highlités et valider coup en envoyant le code-case correspondant, ou  jouer une autre piece, si il donne un autre chiffre c'est qu'il joue autre chose, et on revient a l'etape 1, sinon il valide le coup, mettons qu'il avance de 2 cases son pion :

Code :
  1. C:>38


- Et pour finir le serveur donne le compte rendu des actions, d'abord le code de LA piece a supprimer si il y en a une ( il y en a 0 ou 1 de toute facon ) et si il y en a pas, un 00, puis le nombre de pieces a deplacer si il y en a ( coup spécial ... ) ou  00 si il n'y en a pas :

Code :
  1. S:>00-00


- Pour un roque ca serait ptêtre ( l'user a cliqué sur le mouvement spécial du roi, le client en est donc informé, le serveur doit en plus informer du mouvement de la tour ) :

Code :
  1. S:>00-01-63-60


- Si le client a joué, tous les flux qu'ils recevront seront de la forme ci dessus, pour être informé des agissements de l'autre joueur, jusqu'a l'arrivée d'un code 65 pour entrer en mode 'interactif' , après faut rajouter kks code pour le forfait et autres problèmes de connection ;)
 
Voila une petite idée de 1er jet si ca peut t'inspirer ;)


Message édité par KnX le 19-02-2004 à 21:43:39
n°1931
xstephx
Sarah!
Posté le 19-02-2004 à 21:49:06  profilanswer
 

zut alors, 3 personnes, 3 manières différentes de voir les choses :lol:


---------------
Gagnez un iPhone en jouant sur www.findupays.be
n°1932
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 21:50:12  profilanswer
 

ca m'inspire , ca m'inspire ;)
 
Mais je prefaire quand meme que le client puisse verifier les coups lui meme... sion il va y'avoir enormement de transfert , a chaque clique sur une piece il va y'avoir des temps de reponse rien que pour pouvoir voir les coups possibles :/ donc il vaut mieux que le client puisse gerer un echequier , il recoit les ordres de deplacement...
Par contre l'avantage de ta methode (ou du moins une partie) c'est de pouvoir faire un truc à la msn quand l'autre tape un message, y'a marquer "En train de rediger un msg" (tiens ca pourrait etre bien de mettre un ptit tchat :D)


---------------
I am the bone of my sword...
n°1933
KnX
To be or not to code.
Posté le 19-02-2004 à 21:55:01  profilanswer
 

Bha le temps de réponses .... c'est pas enorme pour envoyer 2 octects quand même sur une connection ouverte, pis si le client doit calculer, ca veut dire que ... bha le client doit calculer quoi, donc plus de code qui sera quasiment un double de celui deja dans le serveur :/

n°1934
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 21:59:46  profilanswer
 

ben je sias mais dans un futur proche je voudrais "integrer" le serveur aux clients... donc finalament que je mette le control de l'echequier dans le client où dans le server ca revient au meme :lol:
 


---------------
I am the bone of my sword...
n°1935
jimbofarra​r
ga bu zo meu
Posté le 19-02-2004 à 22:00:20  profilanswer
 

Il faut une "synchro" serveur-clients, je m'explique : si tu te tapes la déco des 24 heures (pour l'adsl) et que le serveur t'envoie à ce moment là des données, tu les perds.
 
De plus les mouvements de pièces ne peuvent bien s'adapter qu'avec un plateau de jeu virtuel non linéaire mais matriciel (déplacement du cavalier 2+1, les fous en diagonale, le roi et la reine toutes directions)
 
Le fait que le client valide le déplacements est essentiel, ça décharge les transferts et le travail du serveur (qui n'est en fait là que pour mettre en relation deux joueurs)


---------------
Non, mais t'a déjà vu ça ? En pleine paix, il chante et puis crac, un bourre pif ! Il est complètement fou ce mec. Mais moi, les dingues, je les soigne. J'vais lui faire une ordonnance et une sévère ... J'vais lui montrer qui c'est Raoul. Aux quat' coins
n°1936
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 22:03:02  profilanswer
 

>Knx>
Le gros avantages de ta solution, c'est de pouvoir sauvegarder la partie :)  
Je pense meme que finalement si le server control tout ca pourrait etre assez pratique finalement, ca serait plus "securisé" (:o personne n'a rien vu  :whistle: )
 
>jimbofarrar>
C'est sur qu'il faut implementer un "accuser-reception" sinon ca va vite etre galere ;)


Message édité par CryoGen le 19-02-2004 à 22:05:46

---------------
I am the bone of my sword...
n°1937
xstephx
Sarah!
Posté le 19-02-2004 à 22:03:34  profilanswer
 

exactement :D
 
edit : par contre, on dirait plutôt sécurisé :D


Message édité par xstephx le 19-02-2004 à 22:03:52

---------------
Gagnez un iPhone en jouant sur www.findupays.be
n°1938
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 22:12:05  profilanswer
 

xstephx a écrit :

exactement :D
 
edit : par contre, on dirait plutôt sécurisé :D


 
 :whistle:  
 
En fait une solution hybride est envisageable...
Le server peut controler les echequier des clients (en cas de "resume" de partie, au cas où le client envoi un ordre de mouvement impossible alors qu'il aurai dut le bloquer, le server peut verifier l'echequier du client et le corriger etc... )


---------------
I am the bone of my sword...
n°1939
jimbofarra​r
ga bu zo meu
Posté le 19-02-2004 à 22:16:22  profilanswer
 

Il ne peut pas y avoir de "triche" dans ce genre de jeu, ça se voit comme le nez au milieu de la figure.
 
Sinon pour la sauvegarde de partie il suffit de 64 octets de description du plateau à l'instant t (avec comme contenu un nombre pondéré à 0 ou 127 pour les deux couleurs)


---------------
Non, mais t'a déjà vu ça ? En pleine paix, il chante et puis crac, un bourre pif ! Il est complètement fou ce mec. Mais moi, les dingues, je les soigne. J'vais lui faire une ordonnance et une sévère ... J'vais lui montrer qui c'est Raoul. Aux quat' coins
n°1940
KnX
To be or not to code.
Posté le 19-02-2004 à 22:17:26  profilanswer
 

Les Replay c'est interessant en echec aussi ;)

n°1941
CryoGen
Powered by kitkat©
Posté le 19-02-2004 à 22:19:20  profilanswer
 

+1 pour le replay
il faut garder la trace des coups et pas l'echequier ;)
 
La verification server c'est pas QUE pour le joueur qui voudrait tricher mais aussi pour eviter les clients buguer par exemple ;)


Message édité par CryoGen le 19-02-2004 à 22:21:39

---------------
I am the bone of my sword...
n°1942
jimbofarra​r
ga bu zo meu
Posté le 19-02-2004 à 22:20:31  profilanswer
 

Le replay est simple à mettre en oeuvre, il suffit de créer un fichier (ou une table) avec la succession des mouvements effectués, et le client la relis et hop :)
 
PS : grilled par CryoGen :)


Message édité par jimbofarrar le 19-02-2004 à 22:21:28

---------------
Non, mais t'a déjà vu ça ? En pleine paix, il chante et puis crac, un bourre pif ! Il est complètement fou ce mec. Mais moi, les dingues, je les soigne. J'vais lui faire une ordonnance et une sévère ... J'vais lui montrer qui c'est Raoul. Aux quat' coins
mood
Google
Posté le 19-02-2004 à 22:20:31  profilanswer
 

 Page :  1  2
Page Précédente 

Aller à :
Ajouter une réponse
 

Hit Parade