Page 1 sur 1
Nouveau sur le forum et projet
Publié : mar. 28/déc./2004 18:30
par umbrella
Voila bonjour je debute en purebasic, j'ai déjà appris les bases, fais un pong 2d pour 2 joueur et contre l'ordinateur (qui ets imbattable) et je voudrais mtn faire un pong online !
Mais je ne sais pas comment gerer du tout ! j'arrive a crée une connexion entre un client et un serveur et à faire un transfert de fichier, de string mais je ne sais pas du tout comment faire pour deplacer la raquette !
Envoyé une variable de la position Y de la raquette à l'autre joueur ? enfin si quelqu'un sait m'éclairé ca serait cool
Merci d'avance
Publié : mar. 28/déc./2004 20:33
par Thyphoon
j'ai pas encore essayer de faire un jeu a 2 via reseau ! mais je pense que tu as tout a fait raison en passant l'information de la coordonnée Y !
Il faut juste que le rafraichissement de cette variable sois sufisament rapide pour donner l'impression que c'est quelqu'un qui joue sur la même machine.
Publié : mer. 29/déc./2004 0:23
par umbrella
dite socmment onf ais pour envoyer plusieurs données d'un coup ? et les lires de l'autre côté ? j'arrive avec 1 ms avec 2 j'arrive pas ! :s si quelqu'un pourrait m'aidé :s
Publié : mer. 29/déc./2004 0:58
par hackotedelaplaque
J'ai réussi à faire un PONG avec CPU battable.
En fait je crée une variable globale faute qui est aléatoire entre 0 et 10.
Elle va définir le nombre d'échanges à partir duquel l'ordi va se planter et rater la balle.
La raquette de l'ordi suit toujours la même ordonnée que la balle (et du coup ne laisse rien passer, sauf quand le nombre d'échanges équivaut à la variable faute. Là je la décale légèrement sa raquette pourqu'il puisse laisser passer la balle.
Du coup l'ordi plante, mais pas toujours au bout du même nombre d'échange, c'est plus agréable.
Publié : mer. 29/déc./2004 1:28
par umbrella
oui ca je sais faire mais le problème c'est le online enfait (je debute a fond ds le online) en m'inspirant des codes examples j'essaye de faire simplement 2 carrée que le client et que le serveur déplace online !
le client envoie
SendNetworkData(ConnectionID,Str(joueurs(1)\X),10)
au serveur je met ca :
buffer = AllocateMemory(0,1000,0)
et ceci dans les évenements de la boucle
ReceiveNetworkData(ClientID,buffer,1000)
posx = Val(PeekS(buffer))
joueurs(1)\X = posx
je vois la position X du carré du client bougé chez le serveur mais je ne sais pas comment faire pour la position Y :s
Help

Publié : mer. 29/déc./2004 10:22
par Thyphoon
dite socmment onf ais pour envoyer plusieurs données d'un coup ? et les lires de l'autre côté ?
pourquoi n'envoie tu pas les différents paramètres dans une même chaine de caractère avec un caractère de séparation ?
Genre
Coordonnée Y/age du capitaine/vitesse du vent/etc/
ensuite il te suffit de redecoupé la chaine pour recupérer tes valeurs !
Et pour redecouper ça doit pas être tres compliqué ! tu recherches le caractère de séparation pour connaitre mes coordonnées dans la chaine
Qu'en penses tu ?
Publié : mer. 29/déc./2004 10:30
par Backup
surtout qu'en purebasic une commande existe pour faire ça !!

Publié : mer. 29/déc./2004 10:42
par Heis Spiter
Il te suffit de faire un truc dans le genre :
Code : Tout sélectionner
SendNetworkString(ServeurID, Str(joueurs(1)\X)+"|"+Str(joueurs(1)\Y))
;---------
*Buffer = AllocateMemory(1024)
ReceiveNetworkData(ClientID, *Buffer, 1024)
Coordonnees.s = PeekS(*Buffer)
Delimiteur = FindString(Coordonnees, "|", 0)
X = Val(Left(Coordonnees, Delimiteur))
Y = Val(Right(Coordonnees, Len(Coordonnees)-Delimiteur))
Publié : mer. 29/déc./2004 13:20
par umbrella
Merci pour toutes vos réponses ! jv regarder ca de plus près

Publié : sam. 01/janv./2005 18:22
par umbrella
Me revoila ! alors le projet a bien avancé

!
J'ai opté pour une autre solution :
exemple :
quand le server appuie sur une touche, il envoie une string aux client, les string sont "Z","S","Q","D" et en fonction de cela, le sprite du client monte si il recoit "Z",descend si il recoit "S",...
Mais j'ai un gros problème ! quand je lance mon server et mon client sur mon ordi ca fonctionne parfaitement mais dès que j'envoie le client à quelqu'un d'autre, ca ne va plus, je vois bougé le client mais lui ne voit rien ! Est-ce que c'est possible que ca soit pcq je suis en réseau avec plusieurs ordinateurs ?
Enfin voila ! J'éspère que y a une solution

!
Merci d'avance
