Page 1 sur 5
autre projet en commun , à définir ensemble
Publié : dim. 21/mars/2004 10:32
par comtois
Est-ce que certains seraient tentés de réaliser un projet en commun , le sujet reste à définir .
Cette fois ci , on partirait de zéro, pas comme avec sokoban3D ou j'avais déjà bossé dessus un moment , c'est pas très motivant pour les autres
Pour que le projet ait une chance d'aboutir , il ne faut pas qu'il soit trop ambitieux .
ça peut être un jeu ; une application , un utilitaire , etc ...
Je propose quelques idées en vrac , chacun pouvant proposer la sienne .
- Un éditeur de Map 2D
- Un jeu à deux ou plusieurs par internet ( style bataille navale ou n'importe quoi d'autre , du moment qu'il faille se connecter à un autre pc pour jouer )
ça m'intéresserait pour la partie communication ,voir comment ça se passe.
on pourrait aussi intégrer un chat à l'intérieur du jeu pour communiquer entre joueur .
voila , je laisse la place à ceux qui auraient d'autres idées , et l'envie de participer à un tel projet.
Publié : dim. 21/mars/2004 20:12
par Oliv
La 2ème suggestion est sympa
Publié : dim. 21/mars/2004 20:54
par comtois
ouaip , mais pas de candidat

Publié : dim. 21/mars/2004 21:01
par Chris
Moi, ça me plait bien, le truc en réseaux.
Mais j'y connais rien en prog réseaux, pas grand-chose en 2D, et que dalle en 3D.
Ca limite sérieusement mes capacités de participation !
Je peux amener le café, et faire les sandwichs, si vous voulez
Chris

Publié : dim. 21/mars/2004 21:27
par Oliv
moi je connais rien en 3D et moyennement en 2D mais justement, c'est le moment d'apprendre
Publié : dim. 21/mars/2004 21:51
par comtois
exactement , moi non plus je n'y connais rien en réseaux , c'est pourquoi je propose qu'on s'y colle à plusieurs chacun apportant sa pierre ,on va bien finir par faire un truc qui tient debout ?
Bon , on part sur un truc en réseau ? on verra le type de jeu plus tard ?
Faut déjà qu'on mette en place la communication , à partir de là , on pourra tout envisager .
un jeu limité à 4 joueurs par exemple . un joueur déclare sa machine comme serveur , et les autres joueurs se connectent au serveur .
bon avant de dire trop de bêtises ,je vais me documenter
Ceux qui connaissent un peu , merci de nous aiguiller

Publié : dim. 21/mars/2004 21:53
par Aranoth
ouais je connais un peu le réseau mais...mon code marche que en réseau local
d'ailleurs si quelqu'un peut m'aider lol

Publié : dim. 21/mars/2004 21:59
par Chris
Ben si ça fonctionne en local, ça doit fonctionner aussi par internet, vu que tu te connectes par une adresse IP en TCP/IP.
Enfin, je dis peut-être une con......, là
Chris

Publié : dim. 21/mars/2004 22:03
par Aranoth
non tu dit pas de conneries...et c'est ca qui me fait peur

Publié : lun. 22/mars/2004 11:36
par Oliv
Chris ne dit pas de conneries, seulement tu as peut être un firewall ou quelquechose comme ça non ?
Publié : lun. 22/mars/2004 18:39
par comtois
Sur le forum allemand il y a un post sur l'irc , ça tombe bien , on voulait en mettre un peu , reste à étudier la chose
http://www.robsite.de/php/pureboard/viewtopic.php?t=291
Publié : lun. 22/mars/2004 18:48
par Chris
Ben ouais!!! J'ai déjà du mal à traduire le mot "Bouton" en allemand, alors pour le reste...
Bon, enfin... Il y a le code, on déjà va faire avec ça!
Chris

Publié : lun. 22/mars/2004 18:59
par Oliv
Publié : lun. 22/mars/2004 20:13
par Aranoth
Bien entendu je désactive mon firewall quand je test...

Publié : lun. 22/mars/2004 21:41
par Oliv
Voici un petit chat pour 2 personnes que je viens de faire, à mon avis il y a des bug mais avec un truc faut en 40min, ça parait normal. On peut tester même sans réseau, il suffit de rentrer son ip
Code source du Serveur
Code : Tout sélectionner
If InitNetwork() = 0 : MessageRequester("Erreur","Ne peut pas créer utiliser les fonctions réseau.",#MB_ICONError) : End :EndIf
;- Declarations
; Constantes
#Principale = 0
Enumeration ; Gadgets
#Recu
#Envoyer
#Envoi
EndEnumeration
; Mémoires
*Reception.l = AllocateMemory(2500)
; Variables
DefType.b Sortie,Event
DefType.l ServeurID,ClientID
Eol.s = Chr(13) + Chr(10)
; Creation du serveur
ServeurID = CreateNetworkServer(6235)
If ServeurID = 0 : MessageRequester("Erreur","Ne peut pas créer le serveur",#MB_ICONError) : End : EndIf
; Creation de la fenêtre
If OpenWindow(#Principale,0,0,400,500,#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered,"Mini-Chat Serveur")
If CreateGadgetList(WindowID(#Principale))
EditorGadget(#Recu,5,5,390,435)
EditorGadget(#Envoi,5,445,295,50)
ButtonGadget(#Envoyer,305,445,90,50,"ENVOYER")
EndIf
EndIf
;- Boucle Principale
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Sortie = 1
Case #PB_EventGadget
Select EventGadgetID()
Case #Envoyer
If ClientID > 0
SendNetworkString(ClientID,GetGadgetText(#Envoi))
SetGadgetText(#Recu,GetGadgetText(#Recu) + Eol + Eol + "Serveur dit:" + Eol + GetGadgetText(#Envoi))
SetGadgetText(#Envoi,"")
Else
MessageRequester("Dommage","Tu ne peux pas envoyer car tu n'as pas d'amis.")
EndIf
EndSelect
EndSelect
Event = NetworkServerEvent()
If Event
Select Event
Case 1 ; Connection d'un client
MessageRequester("Bonjour","Un client vient de se connecter.")
ClientID = NetworkClientID()
Case 2
FreeMemory(*Reception)
*Reception = AllocateMemory(2500)
ReceiveNetworkData(NetworkClientID(),*Reception,2500) ; On aurait pu mettre ClientID à la place de NetworkClientID()à
SetGadgetText(#Recu,GetGadgetText(#Recu) + Eol + Eol + "Client dit :" + Eol + PeekS(*Reception))
Case 4
MessageRequester("Aurevoir","Un client est partit")
ClientID = 0
EndSelect
EndIf
Until Sortie = 1
Code source du client
Code : Tout sélectionner
If InitNetwork() = 0 : MessageRequester("Erreur","Ne peut pas créer utiliser les fonctions réseau.",#MB_ICONError) : End :EndIf
;- Declarations
; Constantes
#Principale = 0
Enumeration ; Gadgets
#Recu
#Envoyer
#Envoi
EndEnumeration
; Mémoires
*Reception.l = AllocateMemory(2500)
; Variables
DefType.b Sortie,Event
DefType.l ServeurID
Eol.s = Chr(13) + Chr(10)
; Connection au serveur
ServeurID = OpenNetworkConnection("250.250.250.250",6235) ; Mettre votre adresse IP
If ServeurID = 0 : MessageRequester("Erreur","Ne peut pas se connecter au serveur.",#MB_ICONError) : End : EndIf
; Creation de la fenêtre
If OpenWindow(#Principale,0,0,400,500,#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered,"Mini-Chat Client")
If CreateGadgetList(WindowID(#Principale))
EditorGadget(#Recu,5,5,390,435)
EditorGadget(#Envoi,5,445,295,50)
ButtonGadget(#Envoyer,305,445,90,50,"ENVOYER")
EndIf
EndIf
;- Boucle Principale
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Sortie = 1
Case #PB_EventGadget
Select EventGadgetID()
Case #Envoyer
SendNetworkString(ServeurID,GetGadgetText(#Envoi)) ; Envoi le texte.
SetGadgetText(#Recu,GetGadgetText(#Recu) + Eol + Eol + "Client dit:" + Eol + GetGadgetText(#Envoi))
SetGadgetText(#Envoi,"")
EndSelect
EndSelect
Event = NetworkClientEvent(ServeurID)
If Event
Select Event
Case 2 ; reception de datas
FreeMemory(*Reception) ; Cette ligne et la ligne du dessous,
*Reception = AllocateMemory(2500) ; on vide le buffer.
ReceiveNetworkData(ServeurID,*Reception,2500) ; On aurait pu mettre ClientID à la place de NetworkClientID()à
SetGadgetText(#Recu,GetGadgetText(#Recu) + Eol + Eol + "Serveur dit:" + Eol + PeekS(*Reception))
EndSelect
EndIf
Until Sortie = 1