Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1446 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15
Auteur Sujet :

Concours programmation

n°437128
RiderCrazy
Posté le 23-06-2003 à 17:37:38  profilanswer
 

Reprise du message précédent :

skeye a écrit :


Pas besoin de ca, les bots peuvent le garder en mémoire, non?
Le dernier coup adverse suffit...

Oui mais ça simplifierai la programmation des bots aussi...

mood
Publicité
Posté le 23-06-2003 à 17:37:38  profilanswer
 

n°437132
Mr yvele
yvele n'est plus.
Posté le 23-06-2003 à 17:38:49  profilanswer
 

skeye a écrit :


Pas besoin de ca, les bots peuvent le garder en mémoire, non?
Le dernier coup adverse suffit...


Bah.. vaut mieux quand meme.. ça mange pas de pain..
et je trouve que c'est + reglo..


Message édité par Mr yvele le 23-06-2003 à 17:39:20

---------------
yvele n'est plus.
n°437135
skeye
Posté le 23-06-2003 à 17:40:17  profilanswer
 

RiderCrazy a écrit :

Oui mais ça simplifierai la programmation des bots aussi...


:??:
Je vois pas...je connais pas de langage dans lequel ce soit difficile de stocker un tableau de 7*8... :heink:

n°437136
lorill
Posté le 23-06-2003 à 17:40:28  profilanswer
 

y'a un truc que vous oubliez : HTTP n'est pas connecté. Comment un joueur sait qu'il doit refaire une requete ?
 
d'apres moi utiliser http pour ce genre de choses c'est une belle connerie  [:sinclaire]

n°437140
skeye
Posté le 23-06-2003 à 17:41:36  profilanswer
 

Mr yvele a écrit :


Bah.. vaut mieux quand meme.. ça mange pas de pain..
et je trouve que c'est + reglo..


Bah si on communique via du html c'est sur que c'est pas couteux pour le serveur...mais inutile... [:skeye]

n°437142
Mr yvele
yvele n'est plus.
Posté le 23-06-2003 à 17:42:15  profilanswer
 

lorill a écrit :

y'a un truc que vous oubliez : HTTP n'est pas connecté. Comment un joueur sait qu'il doit refaire une requete ?
 
d'apres moi utiliser http pour ce genre de choses c'est une belle connerie  [:sinclaire]  


 
ben le "prog maman" repondra bien evidemment..  [:sinclaire]


Message édité par Mr yvele le 23-06-2003 à 17:43:00

---------------
yvele n'est plus.
n°437143
skeye
Posté le 23-06-2003 à 17:42:53  profilanswer
 

lorill a écrit :

y'a un truc que vous oubliez : HTTP n'est pas connecté. Comment un joueur sait qu'il doit refaire une requete ?
 
d'apres moi utiliser http pour ce genre de choses c'est une belle connerie  [:sinclaire]  


Ca risque de poser des pbs de synchro éventuellement oui...mais ils sont sûrs de leur coup là... [:skeye]

n°437145
skeye
Posté le 23-06-2003 à 17:44:13  profilanswer
 

Mr yvele a écrit :


 
ben le "prog maman" repondra bien evidemment..  [:sinclaire]


le pb c'est s'il met pas à jour la réponse assez vite, un bot pourra avoir l'impression qu'il a la parole alors que c'est plus à lui...si entre-temps l'autre a déjà répondu, ca risque de merdoyer grave... :pt1cable:

n°437148
lorill
Posté le 23-06-2003 à 17:44:40  profilanswer
 

Mr yvele a écrit :


 
ben le "prog maman" repondra bien evidemment..  [:sinclaire]


repondra comment ?
 
imaginons : je joue, le serveur me réponds ok ou coup invalide ou autre (une page, donc), et la connexion coupe.
 
le serveur ne peut pas prendre l'initiative de contacter un client  [:sinclaire]  
 
 
====> Droit dans le mur, concours a la con, blabla tout ca

n°437150
lorill
Posté le 23-06-2003 à 17:45:05  profilanswer
 

skeye a écrit :


Ca risque de poser des pbs de synchro éventuellement oui...mais ils sont sûrs de leur coup là... [:skeye]  


nan, c'est meme pas ca le probleme, cf plus haut

mood
Publicité
Posté le 23-06-2003 à 17:45:05  profilanswer
 

n°437151
Mr yvele
yvele n'est plus.
Posté le 23-06-2003 à 17:45:20  profilanswer
 

[bot1 mode ecoutage]
[bot2 mode ecoutage]
 
bot1> je joue coup dans colonne 2
[bot1 mode ecoutage]
maman> ...
bot1> (timeout detected) je joue coup dans colonne 2  
[bot1 mode ecoutage]
maman> message reçu, au tour du bot2
[bot1 mode ecoutage]
bot1> je joue coup dans colonne 3
 
etc...


Message édité par Mr yvele le 23-06-2003 à 17:46:15

---------------
yvele n'est plus.
n°437154
Mr yvele
yvele n'est plus.
Posté le 23-06-2003 à 17:49:10  profilanswer
 

lorill a écrit :


repondra comment ?
 
imaginons : je joue, le serveur me réponds ok ou coup invalide ou autre (une page, donc), et la connexion coupe.
 
le serveur ne peut pas prendre l'initiative de contacter un client  [:sinclaire]  


 
 :heink:  
 
tu cherches loin la.. si tu coupes le cable (figuré bien sur) et ben il est normal que ça ne marchera plus.. [:sinclaire]
(Puis d'ailleur le serveur surveillera le timeout et le considerera comme une defaite..)


Message édité par Mr yvele le 23-06-2003 à 17:50:41

---------------
yvele n'est plus.
n°437156
lorill
Posté le 23-06-2003 à 17:50:18  profilanswer
 

Mr yvele a écrit :


 
 :heink:  tu cherches loin la.. si tu coupes le cable (figuré bien sur) et ben il est normal que ça ne marchera plus.. [:sinclair]
(Puis d'ailleur le serveur surveillera le timeout et le considerera comme une defaite..)
 
Puis en plus c'est connection!  :D  


boulay :o
 
1. connection, c'est en anglais, en francais on parle de connexion.
2. déconnexion, au niveau socket, pas au niveau physique.
 
t'es vraiment un gros naze :o

n°437160
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-06-2003 à 17:51:58  profilanswer
 

Mr yvele a écrit :


 
 :heink:  
 
tu cherches loin la.. si tu coupes le cable (figuré bien sur) et ben il est normal que ça ne marchera plus.. [:sinclaire]
(Puis d'ailleur le serveur surveillera le timeout et le considerera comme une defaite..)
 


ce qu'il veut dire, c'est qu'une connection HTTP n'est pas persistente !
donc si le serveur envoie la réponse au client et qu'entre temps tu perds la connection, tu fais quoi ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°437162
skeye
Posté le 23-06-2003 à 17:52:25  profilanswer
 

Il va aussi falloir gérer des conneries comme ca:

Code :
  1. Bot1> c'est à moi?
  2. maman> nan
  3. Bot2> c'est à moi?
  4. maman> oui
  5. Bot2> je joue!
  6. Bot1> c'est à moi?
  7. maman> nan
  8. Bot2> c'est à moi?
  9. maman> oui //requete précédente pas arrivée, perdue, autre...?
  10. Bot2> je joue!
  11. maman recoit bot2. //1er coup
  12. Bot1> c'est à moi?
  13. maman> oui
  14. Bot1> je joue
  15. maman recoit bot1.
  16. maman recoit bot2. //2eme coup

n°437165
Mr yvele
yvele n'est plus.
Posté le 23-06-2003 à 17:54:16  profilanswer
 

Harkonnen a écrit :


ce qu'il veut dire, c'est qu'une connection HTTP n'est pas persistente !
donc si le serveur envoie la réponse au client et qu'entre temps tu perds la connection, tu fais quoi ?


 
mais le serveur dit oui jusqua ce que le bot ai confirmé sa lecture du oui..
 
 :heink:  ou est le probleme??


---------------
yvele n'est plus.
n°437169
lorill
Posté le 23-06-2003 à 17:54:39  profilanswer
 

Harkonnen a écrit :


ce qu'il veut dire, c'est qu'une connection HTTP n'est pas persistente !
donc si le serveur envoie la réponse au client et qu'entre temps tu perds la connection, tu fais quoi ?


nan, meme pas de ca que je parle, je parle du fonctionnement normal, apres envoi de la page, la connexion coupe, c'est normal, pas une erreur, mais ca fout votre délire en l'air  [:sinclaire]

n°437173
Mr yvele
yvele n'est plus.
Posté le 23-06-2003 à 17:56:27  profilanswer
 

lorill a écrit :


boulay :o
 
1. connection, c'est en anglais, en francais on parle de connexion.
2. déconnexion, au niveau socket, pas au niveau physique.
 
t'es vraiment un gros naze :o


 
1. ta gueule  :o  
2. ta gueule  :o  
3.  :o  
 
PS: putain la honte.. aujourd'hui on ma corrigé un "connexion" en "connection"..  :fou:  merde quoi.. la honte!  :sweat: d'ailleur j'ai du le prouver a la personne en cherchant dans le dico.. pff..


Message édité par Mr yvele le 23-06-2003 à 17:57:08

---------------
yvele n'est plus.
n°437175
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 23-06-2003 à 17:57:29  profilanswer
 

Harkonnen a écrit :


ce qu'il veut dire, c'est qu'une connection HTTP n'est pas persistente !
donc si le serveur envoie la réponse au client et qu'entre temps tu perds la connection, tu fais quoi ?


Ton client n'a qu'à boucler. Il fait une connec au serveur, attend la réponse 10 secondes et si rien n'arrive, il casse la connec pour la relancer [:spamafote]
 
Evidemment, HTTP n'est pas du tout le protocole adapté pour ce genre de choses. Mais il a le grand avantage de pouvoir passer les proxies plus facilement qu'une connexion sur le port (au hasard) 589 [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°437176
Mr yvele
yvele n'est plus.
Posté le 23-06-2003 à 17:57:36  profilanswer
 

lorill a écrit :


nan, meme pas de ca que je parle, je parle du fonctionnement normal, apres envoi de la page, la connexion coupe, c'est normal, pas une erreur, mais ca fout votre délire en l'air  [:sinclaire]  


 
c'est toi qui delire la!  :heink:


---------------
yvele n'est plus.
n°437181
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 23-06-2003 à 17:59:25  profilanswer
 

lorill a écrit :


nan, meme pas de ca que je parle, je parle du fonctionnement normal, apres envoi de la page, la connexion coupe, c'est normal, pas une erreur, mais ca fout votre délire en l'air  [:sinclaire]  


Non, c'est du déconnecté, c'est tout. Mais tu peux tout à fait simuler une protocole connecté avec. Par contre, c'est pas du tout la panacée ; moi j'dis que si vous avez pas de contrainte de firewall ou autre, faites une bête connexion TCP de socket sur un port quelconque. C'est bien plus adapté.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°437182
lorill
Posté le 23-06-2003 à 17:59:38  profilanswer
 

Mr yvele a écrit :


 
c'est toi qui delire la!  :heink:  


fais ton serveur, fais un bot, et on en recause, ok ?

n°437183
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-06-2003 à 18:00:20  profilanswer
 

Bon ça part sur du n'importe quoi là ! Lorill a raison de toute façon : hors de question d'utiliser du HTTP pour ça, c'est ingérable.
Voici ce que je propose : on met en place notre propre protocole de communication avec des commandes simples ! Inutile de s'emmerder avec un fichier XML quand 2-3 commandes bien choisies font parfaitement l'affaire !


---------------
J'ai un string dans l'array (Paris Hilton)
n°437184
skeye
Posté le 23-06-2003 à 18:01:10  profilanswer
 

Taiche a écrit :


Non, c'est du déconnecté, c'est tout. Mais tu peux tout à fait simuler une protocole connecté avec. Par contre, c'est pas du tout la panacée ; moi j'dis que si vous avez pas de contrainte de firewall ou autre, faites une bête connexion TCP de socket sur un port quelconque. C'est bien plus adapté.


C'est ce que je pensais dès le départ... [:skeye]

n°437185
Mr yvele
yvele n'est plus.
Posté le 23-06-2003 à 18:01:34  profilanswer
 

:heink:  
 
j'ai fait des spectacles en direct.. des chats.. des question/reponse.. le tout en http..
et ça a toujours tres bien marché.. j'ai eu 40 personnes connectées.. aucuns problemes..
 
 :heink:  
spa bien compliqué en plus..
 
 
Bah je bidouille un serveur.. dans 1 semaine ça devra etre prêt (hé oui j'ai du boulot aussi moi..  :o  )


Message édité par Mr yvele le 23-06-2003 à 18:01:51

---------------
yvele n'est plus.
n°437186
skeye
Posté le 23-06-2003 à 18:01:50  profilanswer
 

Harkonnen a écrit :

Bon ça part sur du n'importe quoi là ! Lorill a raison de toute façon : hors de question d'utiliser du HTTP pour ça, c'est ingérable.
Voici ce que je propose : on met en place notre propre protocole de communication avec des commandes simples ! Inutile de s'emmerder avec un fichier XML quand 2-3 commandes bien choisies font parfaitement l'affaire !


[:benou_+1]
On choisit un port, 2/3 commandes et c'est plié... [:skeye]

n°437187
Mr yvele
yvele n'est plus.
Posté le 23-06-2003 à 18:02:26  profilanswer
 

dans ce cas il faudra un serveur à nous et tout..  :(


---------------
yvele n'est plus.
n°437190
skeye
Posté le 23-06-2003 à 18:04:07  profilanswer
 

Mr yvele a écrit :

dans ce cas il faudra un serveur à nous et tout..  :(  


Il y a pas quelqu'un ici qui a une IP fixe? :heink:

n°437193
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-06-2003 à 18:05:51  profilanswer
 

moi j'ai une IP à peu près fixe mais j'ai pas de machine... à moins que votre truc tourne sur un PC sous Linux sans disque dur avec 1 Mo de RAM libre :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°437198
simogeo
j'ai jamais tué de chats, ...
Posté le 23-06-2003 à 18:12:27  profilanswer
 


-- s'est déjà proposé aussi  [:spamafote]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°437202
the real m​oins moins
Posté le 23-06-2003 à 18:14:54  profilanswer
 

ben ouais j'ai pas d'ip fixe mais un dyndns qui marche bien :)
mais bon, pas de bp illimitée.
cela dit 5? par mois ça serait pas la mort en se cotisant :whistle:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°437205
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-06-2003 à 18:23:03  profilanswer
 

Bon on verra l'hébergement plus tard, c'est pas urgent de toute façon !  
Faut mettre en place les attributions du serveur et le protocole !
 
Bref aperçu de la boucle du serveur :
- Ecouter les demandes de connection sur un port xxx
- Attribuer une place sur le plateau de jeu à chaque joueur, à concurrence de 2 joueurs maxi. Les autres sont en attente.
- Envoyer une commande (BEGIN par exemple) à chaque joueur pour signaler que la partie commence
- Choisir aléatoirement le joueur qui jouera le 1er coup
- Victoire = false
Tant que (victoire == false)
(1) Envoyer une commande au joueur dont c'est le tour et mettre à jour une variable indiquant le joueur qui jouera le prochain tour
(2) Recevoir la réponse du client
(3) Evaluer le plateau de jeu (4 couleurs alignées ?)
(4) Si évaluation positive, victoire = true
(5) fin Tant Que
 
A peaufiner, mais ça peut être un bon début


Message édité par Harkonnen le 23-06-2003 à 18:24:46

---------------
J'ai un string dans l'array (Paris Hilton)
n°437207
the real m​oins moins
Posté le 23-06-2003 à 18:25:35  profilanswer
 

harko >>
ta solution n'utilise pas http alors? tu prones plutot un mode connecté?
pq 2 joueurs maxi? c pas compliqué de gerer plusieurs rooms...
 


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°437209
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-06-2003 à 18:28:01  profilanswer
 

the real moins moins a écrit :

harko >>
ta solution n'utilise pas http alors? tu prones plutot un mode connecté?


Oui, c'est largement préférable je pense, sinon on va passer plus de temps à implémenter des timers et autres conneries de surveillance que l'algo en lui même
 

the real moins moins a écrit :


pq 2 joueurs maxi? c pas compliqué de gerer plusieurs rooms...


ben le vrai puissance 4 se joue à 2 [:sinclaire]


---------------
J'ai un string dans l'array (Paris Hilton)
n°437216
the real m​oins moins
Posté le 23-06-2003 à 18:37:19  profilanswer
 

Harkonnen a écrit :


Oui, c'est largement préférable je pense, sinon on va passer plus de temps à implémenter des timers et autres conneries de surveillance que l'algo en lui même


timers? ha, pour voir quand c'est à ton tour de jouer...
hmmm. ouais, pas faux. mais
- une fois implementé on pourrait imaginer releaser le framework(qui gererait la comm etc) pour chaque langage, le concours ne portant pas sur celui-ci, mais sur le reste.
- au niveau du serveur ça serait plus simple en mode deconnecté j'ai l'impression :)
 

Harkonnen a écrit :


ben le vrai puissance 4 se joue à 2 [:sinclaire]


beh tu peux avoir plusieurs tables (rooms) avec des jeux qui tournent en parallèle [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°437217
simogeo
j'ai jamais tué de chats, ...
Posté le 23-06-2003 à 18:38:40  profilanswer
 

Harkonnen a écrit :


ben le vrai puissance 4 se joue à 2 [:sinclaire]


on a qu'a faire un faux puissance 4  :)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°437220
the real m​oins moins
Posté le 23-06-2003 à 18:41:23  profilanswer
 

simogeo a écrit :


on a qu'a faire un faux puissance 4  :)  

un puissance -- \o/


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°437222
simogeo
j'ai jamais tué de chats, ...
Posté le 23-06-2003 à 18:43:51  profilanswer
 


 
+1 --  :whistle:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°437229
Mara's dad
Yes I can !
Posté le 23-06-2003 à 18:58:48  profilanswer
 

Harkonnen a écrit :


Oui, c'est largement préférable je pense, sinon on va passer plus de temps à implémenter des timers et autres conneries de surveillance que l'algo en lui même
 
 
ben le vrai puissance 4 se joue à 2 [:sinclaire]


 
Bon, j'ai lu en diagonal, et je ne voie pas de raison d'abandonner le protocole HTTP pour un truc propriétaire.
 
Pour les problèmes de synchros, le plus simple, c'est que Maman envoie un état complet du jeu (en XML par exemple) au bot dans le cas d'une réponse "Oui, c'est à toi de jouer".
Comme çà, quand un bot joue, c'est toujours avec des données à jour, même s'il joue 15 fois de suite à cause d'une connexion qui merde.
 
Les réponses possibles du serveurs (Liste non exhaustive) :
(Je vous laisse immaginer les requêtes du client...)
 
"Oui c'est à toi de jouer : état de la partie..."
"Non, c'est pas à toit de jouer"
"Bravo, tu as gagné contre XXX. Prochaine partie contre YYY"
"Tu as perdu contre XXX. Raison :"
   "XXX a joué un coup gagnant : état de la partie..."
   "Mauvais coup" <- si un bot fait un coup invalide, c'est pas la peine d'aller plus loin, sinon çà peut durer longtemps !
   "Tu as mis trop de temps à répondre"
 
"Liste des parties en cours auquel tu participes : En particulier, celle qui attendent que tu joue (indication du timeout pour chacune)!"
"Liste des parties/tournois ouvert auquel tu peux t'inscrire"
"Inscription enregistrée. Il est JJ/MM/AAAA HH:MM:SS. Le tournoi démarre à JJ/MM/AAAA HH:MM:SS + x"
"Inscription non prise en compte. Raison :"
   "Plus de place"
   "Joueur inconnu"
   "Tournoi commencé"
   "..."
"Joueur inconnu"
"Partie inconnue"
 
Sinon, le puissance 4, c'est une bonne idée pour commencer.
 
Enfin, si l'envoie de l'état complet du jeu (c'est rien pour un puissance 4) devient compliqué à gérer, on peut aussi numéroter les coups. Il faut aussi informer le bot du coup de son adversaire. Donc s'il joue le coups 5, et que maman lui redemande le coups 5, y'a pas de problème non plus !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°437230
drasche
Posté le 23-06-2003 à 19:04:50  profilanswer
 

surtout qu'une grille de 7x8 ça ne fait jamais que 56 bytes (au pire, parce qu'on pourrait coder l'info sur 2 bits, pas vrai harko? [:banzai]) donc autant envoyer une chaîne de 56 bytes pour l'état du jeu [:spamafote]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°437250
skeye
Posté le 23-06-2003 à 19:33:34  profilanswer
 

Bon pour la communication vous faites comme vous le sentez, finalement comment c'est implémenté ca change pas grand-chose je suppose...par contre si c'est http je touche pas au code du serveur, ca c'est sur! [:skeye]

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15

Aller à :
 

Sujets relatifs
Quel langage apprendre pour débuter en programmation ???Programmation port parallèle !
Programmation NDIS[programmation robot] problème avec un timer...
Cherche aide programmation Pascal (assez urgent) ?![programmation systeme] popen et fgets
[blabla@hosto] Le topic des vieuxProgrammation du jeu memory en C
Programmation d'une appli Web : besoin de conseils[PHP] Convention de programmation
Plus de sujets relatifs à : Concours programmation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR