Page 3 sur 5
Publié : mer. 24/mars/2004 13:38
par Anonyme2
Titre du Message
Looking to purchase your PB project
ici
http://purebasic.myforums.net/viewtopic.php?t=9946
Publié : mer. 24/mars/2004 14:09
par Oliv
Il est marrant lui

Publié : mer. 24/mars/2004 20:42
par Pierre
moi je trouve la proposition de Comtois pour le réseau interressante
Publié : jeu. 25/mars/2004 22:10
par julien
ça vous dirai pas de faire une application de téléphonnie via le net (Téléphonne de ip à ip) ? ou un bon serveur Web avec un langage dynamique (comme Php) mais avec la syntaxe de Pure ?
Bon je vois peut être un petit peu Grand

Publié : sam. 27/mars/2004 11:41
par Pierre
ça serait bien pour un jeu!
on fait un petit jeu (vite fait puisque c'est la partie réseau qui (nous?) interesse)
Publié : sam. 27/mars/2004 11:50
par Chris
Julien a écrit :ça vous dirai pas de faire une application de téléphonnie via le net (Téléphonne de ip à ip) ?
C'est pas idiot, ton truc.
Moi, je ne verrais pas ça pour de la téléphonie, mais plutôt pour faire une sorte de "chat vocal" qui pourrait être intégré dans un jeu.
Bon, pour le moment, il faut déjà savoir comment procéder pour créer le jeu en réseau, mais une fois que ce sera fait, je dis que ça pourrait être un bon complément du chat en mode texte
Chris

Publié : sam. 27/mars/2004 17:12
par CORBASE
J'ai plus trop de temps pour coder en ce moment, mais l'idée du réseaux est pas mal ..
Cependant avec des copains on a codé un petit MSN histoire de rigoler, alors moi je vous porpose comme idée de faire un client de dialogue en ligne sophistiqué comme MSN
Sinon, pour votre jeu 2D par le résaux, envoyé un msg à Nells fu forum qui code un jeu en 2D par le réseau, et sa à l'air de bien marcher !
Bref voila cee que j'en pense !
Bye all
Publié : dim. 28/mars/2004 17:14
par Oliv
J'avais fait ça il y a 2-3mois je ne m'en rappelais plus, le code est pas très bien organisé mais l'idée est là. Contrairement au chat, plusieurs client sont gérés
Serveur
Code : Tout sélectionner
If InitNetwork() = 0 : MessageRequester("Erreur","Ne peut pas lancer les fonctions réseau",#MB_ICONError): End :EndIf
;- Declarations
; Structures
Structure Client
ID.l
EndStructure
; Listes
NewList Clients.Client()
; Buffer
*Recevoir.l = AllocateMemory(1500)
; Variables
Sortie.b : EID.b
Port.l = 6494 : CID.l
; Creation du serveur
If CreateNetworkServer(Port) = 0 : MessageRequester("Erreur","Ne peut pas lancer le serveur",#MB_ICONError) : End : EndIf
;Creation de la fenêtre
If OpenWindow(0,0,0,300,20,#PB_Window_WindowCentered | #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar,"Serveur pour Olivréseau") = 0
MessageRequester("Erreur","Ne peut pas ouvrir une fenêtre",#MB_ICONError) : End
EndIf
;Creation de la SATUTSBAR
CreateStatusBar(0,WindowID(0))
AddStatusBarField(80)
AddStatusBarField(120)
AddStatusBarField(100)
StatusBarText(0,0,"Lancé")
StatusBarText(0,1,"0 Clients")
StatusBarText(0,2,"Pas de partie")
Repeat
EID = NetworkServerEvent()
CID = NetworkClientID()
Select EID
Case 1
Debug "Connection : " + Str(CID)
AddElement(Clients())
Clients()\ID = CID
StatusBarText(0,1,Str(CountList(Clients())) + " Clients")
For i = 0 To CountList(Clients())-1
SelectElement(Clients(),i)
SendNetworkString(Clients()\ID,"Il y a " + Str(CountList(Clients())) + " personne(s) connectée(s)")
Next i
Case 2
FreeMemory(*Recevoir)
*Recevoir = AllocateMemory(1500)
ReceiveNetworkData(CID,*Recevoir,1500)
Debug PeekS(*Recevoir)
Case 4
Debug "Deconnection"
For i = 0 To CountList(Clients())-1
SelectElement(Clients(),0)
If Clients()\ID = CID : DeleteElement(Clients()) : Debug "" : EndIf
Next i
StatusBarText(0,1,Str(CountList(Clients())) + " Clients")
EndSelect
Select WindowEvent()
Case #PB_EventCloseWindow
Sortie = 1
EndSelect
Until Sortie = 1
End
Client
Code : Tout sélectionner
; Initialise
If InitNetwork() = 0 Or InitSprite() = 0 : MessageRequester("Erreur","Ne peut pas lancer les fonctions réseau.",#MB_ICONError) : End : EndIf
;- Declarations
; Buffer
*Recevoir.l = AllocateMemory(1500)
; Variables
Sortie.b
ID.l
; Ouverture de la fenêtre
If OpenWindow(0,0,0,400,400,#PB_Window_WindowCentered | #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar,"Client Olivreseau") = 0 Or OpenWindowedScreen(WindowID(0),0,0,400,400,1,0,0) = 0
MessageRequester("Erreur","Ne peut pas lancer la fenêtre et l'écran.",#MB_ICONError) : End
EndIf
Procedure Ecrire(R.w,G.w,B.w,Texte.s,X.w,Y.w)
StartDrawing(ScreenOutput())
FrontColor(R,G,B)
Locate(X,Y)
DrawingMode(1)
DrawText(Texte)
StopDrawing()
FlipBuffers()
EndProcedure
; Connection au serveur
ID = OpenNetworkConnection("192.168.0.1",6494)
If ID = 0
MessageRequester("Erreur","Ne peut pas connecter au serveur",#MB_ICONError) : End
EndIf
Repeat
Select WindowEvent()
Case #PB_EventCloseWindow
Sortie = 1
EndSelect
Select NetworkClientEvent(ID)
Case 2
FreeMemory(*Recevoir)
*Recevoir = AllocateMemory(1500)
ReceiveNetworkData(ID,*Recevoir,1500)
ClearScreen(0,0,0)
Ecrire(0,255,0,PeekS(*Recevoir),10,10)
EndSelect
FlipBuffers()
Until sortie = 1
Publié : mer. 07/avr./2004 10:55
par cederavic
je vous conseil vivement de faire le jeux avant d'ataquer la partie reseau

Publié : mer. 07/avr./2004 18:47
par comtois
en fait , je pensais que ça allait être compliqué , mais en y jetant un petit coup d'oeil , je m'aperçois que purebasic gère déjà très bien le réseau , il ne nous reste plus grand chose à faire
Enfin je dis ça parce que je n'ai pas encore vraiment trempé dedans
Dès que j'ai un peu de temps , je ferai des tests , maintenant j'ai tout ce qu'il faut , j'ai deux pcs avec carte réseau ,et un cable de liaison .
pour le jeu , j'avais pensé à un jeu de dame , ou une bataille navale ?
ou alors un truc qui bouge plus ? on se tire dessus dans un labyrinthe ?
les autres idées sont les bienvenues
Publié : mer. 07/avr./2004 20:51
par Oliv
La troisième solution mélangerai un peu de tout mais est plus dure

Publié : mer. 07/avr./2004 21:38
par Chris
Il y a des tonnes de jeux, qui peuvent tourner en réseau, (y compris ceux qui ne sont pas encore inventés, ce serait chouette, d'en inventer un!), dames, bataille navale, bomberman, échecs, cartes, shot, plus tout un tas de jeux que tout le monde connaît, mais que je n'ai pas en tête!!!
Chris

Publié : mer. 07/avr./2004 21:52
par comtois
bon on part sur un truc classique ?
un jeu à 2 ,3 ou 4 joueurs en réseau
un labyrinthe , un robot chacun , on peut s'associer pour en éliminer un , d'où l'intérêt du chat pour échanger des infos entre joueurs , mais sans que tout le monde puisse voir ,seulement ceux qui sont sélectionnés
la partie se termine quand il n'y a plus qu'un robot debout !
feu à volonté ? ou cartouches à ramasser ?
jeu en 3D ? ou 2D ?
Sinon , un simple jeu de bataille navale pour se faire la main ?
pour le jeu de dames ,j'avais l'intention d'en faire un , alors je vais commencer à l'occasion de préparer la trame , plateau , pions , et déplacement des pions . avec une version 2D et 3D .
Publié : mer. 07/avr./2004 22:05
par Chris
Un jeu de dames, si c'est pour jouer à 2, c'est simple à faire, j'en avais fait un sur Atari.
La ou ça se complique, c'est quand il s'agit créer le jeu, pour jouer contre l'ordinateur.
J'avais trouvé un truc site, sur le net, qui parlait des stratégies au dames.
Ca ne parait pas, comme ça, mais c'est super compliqué.
Si ça t'interesse, voilà le site de la Fédération Française de Jeu de Dames. (FFJD).
Va faire un tour à la rubrique Jeu/Technique.
http://ffjd.free.fr/
Chris

Publié : jeu. 08/avr./2004 6:54
par comtois
oui je sais que ce n'est pas évident de faire l'IA , mais c'est justement pour ça que je voulais faire un jeu de dames ,ça pourrait être intéressant
Il faut mettre en oeuvre des algos dont je ne connais le nom que depuis quelques semaines.
Voici ce que dit l'auteur du programme français actuellement numéro un mondial des logiciels de jeu de dames.
Comme tous les logiciels de jeu, il repose sur 3 composantes :
- un algorithme de génération des coups légaux
- un algorithme de recherche qui permet de naviguer dans les variantes
-une fonction d'évaluation qui permet de donner une note à chaque position.
Lorsque les 2 premiers points sont correctement programmés, un logiciel atteint un niveau respectable, largement suffisant pour battre 99% de la population. En effet, le logiciel est déjà très fort en tactique (le court terme). Sa capacité de calcul énorme est son principal atout.
En revanche, pour atteindre le niveau des joueurs de club, voire celui des meilleurs joueurs mondiaux, le programme doit comprendre le jeu. Pour cela, il doit acquérir les connaissances liées au jeu, la théorie du jeu, ce que l'on appelle généralement la stratégie (par opposition à la tactique).
donc il est clair que je ne peux pas m'attaquer au dernier point , c'est pour les spécialistes .
Pour les deux premiers ,ça me parait bien difficile , mais je vais quand même essayer , même si je n'y arrive pas , j'aurai toujours appris quelque chose
et ça me fera travailler sur les algos MinMax, AlphaBeta , ces fameux algos dont je ne connais que le nom .
mais là , on s'éloigne du projet en commun
