autre projet en commun , à définir ensemble

Programmation avancée de jeux en PureBasic
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

autre projet en commun , à définir ensemble

Message 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.
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

La 2ème suggestion est sympa
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

ouaip , mais pas de candidat :?
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message 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 ! :lol:

Je peux amener le café, et faire les sandwichs, si vous voulez :lol:

Chris :)
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

moi je connais rien en 3D et moyennement en 2D mais justement, c'est le moment d'apprendre
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message 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 :oops:

Ceux qui connaissent un peu , merci de nous aiguiller :)
Aranoth
Messages : 293
Inscription : sam. 24/janv./2004 12:00
Localisation : Toulouse (31)
Contact :

Message par Aranoth »

ouais je connais un peu le réseau mais...mon code marche que en réseau local :cry:

d'ailleurs si quelqu'un peut m'aider lol :)
Débutant en programmation, notament en C++ ?
Vous souhaitez apprendre ?
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message 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à :lol:

Chris :)
Aranoth
Messages : 293
Inscription : sam. 24/janv./2004 12:00
Localisation : Toulouse (31)
Contact :

Message par Aranoth »

non tu dit pas de conneries...et c'est ca qui me fait peur :cry:
Débutant en programmation, notament en C++ ?
Vous souhaitez apprendre ?
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Chris ne dit pas de conneries, seulement tu as peut être un firewall ou quelquechose comme ça non ?
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message 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
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message 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 :)
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

encore une fois www.salemioche.com :wink:
Aranoth
Messages : 293
Inscription : sam. 24/janv./2004 12:00
Localisation : Toulouse (31)
Contact :

Message par Aranoth »

Bien entendu je désactive mon firewall quand je test... :?
Débutant en programmation, notament en C++ ?
Vous souhaitez apprendre ?
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message 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
Répondre