:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Développement Amateur :: > Tutoriels

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 04/06/2008, 15h55   #1
benjamin310395
Membre confirmé
 
Date d'inscription: 05/03/2008
Localisation: Chez moi ...
Messages: 277
Voir les codes amis Nintendo DS
Par défaut Connection DS<->DS

Réaliser une connection entre 2 DS

/!\ Il vous faudra la liblobby téléchargeable ici /!\

Ce tutoriel vous apprendra à utiliser le wifi entre 2 DS sans la CWF Nintendo.

Avant le programme, mettez ce code :

Code PHP:
#include "MessageQueue.h"
#include "802.11.h"
#include "lobby.h" 
I) Initialisation du wifi

Avant le main, mettez ce code pour que le programme mette à jour la liblobby :

Code PHP:
void customVBL(void)
{
    
IPC_RcvCompleteCheck();
    
LOBBY_Update();

Mettez les lignes habituelles :

Code PHP:
int main(int argcchar ** argv)
{
    
PA_Init();    // Initialisation de PAlib
    
PA_InitVBL(); // Initialisation de VBL 
Mettez après ce code pour initialiser la liblobby :

Code PHP:
PA_VBLFunctionInit(customVBL);
    if (!
IPC_Init())
    {
        
PA_OutputText(013"Impossible de charger IPC_Init() !");
        return 
1;
    }
    
IPC_SetChannelCallback(0, &LWIFI_IPC_Callback);
    
PA_OutputText(012"LOBBY_Init() ...");
    
LOBBY_Init(); // Initialisation de la liblobby 
Mettez ce code pour que tout ce que vous envoyez atteint le destinataire :

Code PHP:
LOBBY_SetStreamHandler(0x0001, &Receive); 
Mettez ensuite ce code et vous pourrez commencer à programmer :

Code PHP:
int selected 0;
PA_OutputText(013"Entrée dans la boucle sans fin ...");
while (
1)
{
//VOTRE PROGRAMME

II) Les joueurs connectés et Sélection du destinataire

Pour savoir combien de joueurs sont actuellement connectés, mettez ce programme :

Code PHP:
int max LOBBY_GetNumberOfKnownUsers(); // max = nombre de joueurs connectés
        
PA_OutputText(0122"Joueurs : %d  "max); 
Pour choisir la destination des messages, mettez ce code :

Code PHP:
/ / Laisser le choix de la destination
        
if (Pad.Newpress.Down// Si la personne a appuyé sur Bas, 
            
selected++;       //augmenter la sélection de 1
        
if (Pad.Newpress.Up// Si la personne a appuyé sur Haut, 
            
selected--;       //diminué la sélection de 1
        
if (max 0)
            
selected %= max 
III) Envoyer des données aux autres joueurs

Pour envoyer des données aux autres joeurs, mettez ce code :
Code PHP:
LOBBY_SendToUser (LOBBY_GetUserByID (sélectionné), 0x0001, (unsigned char *) "ÉCRIVEZ ICI LE MESSAGE A ENVOYER "17); 
Par exemple :

Code PHP:
if (Pad.Newpress.A// Si la personne a appuyé sur le bouton A
        
{
            
LOBBY_SendToUser(LOBBY_GetUserByID(selected),0x0001,(unsigned char *)"Bouton [A] appuyé.",17) ; // Envoie le message "Bouton [A] appuyé." au destinataire choisi dans le II)
        


Pour afficher les connections sur l'écran, mettez ce code :

Code PHP:
  / / Ecrire toutes les connexions à l'écran 
        int i; // Initialisé i
        for (i = 0; i < max; i++)
        {
            LPLOBBY_USER user = LOBBY_GetUserByID(i) ;
            if (i == selected) // Si le joueur choisi est là
            {
                PA_OutputText(0, 1, 5+i, "->%s (%s)       ", LOBBY_GetUserName(user), LOBBY_IsTimedOut(user) ? "TIMEOUT" : "OK"); // afficher "->",le nom du joueur et le temps d'
expiration
            
}
            else
            {
                
PA_OutputText(015+i"  %s (%s)       "LOBBY_GetUserName(user), LOBBY_IsTimedOut(user) ? "TIMEOUT" "OK");// même chose mais sans la flèche.
            
}
        } 
IV) Recevoir les données des autres joueurs

mettez entre "main" et "void customVBL(void)" ce code pour afficher les données reçus :

Code PHP:
void Receive(unsigned char *dataint lengthLPLOBBY_USER from)
{
    
PA_OutputText(0120"Reçu : %s       ", (char*)data);

Et voila, c'est la fin du tutoriel.

J'espère que vous comprendrez mieux, grâce à lui, comment se connecter entre 2 DS. Si vous avez des remarques/suggestions, n'hésitez pas !
__________________

Un lapin vous fait faire des mini-jeux !

Mon devblog

Et un tutoriel pour faire une connection DS<>DS ici

Dernière modification par Bobby Sixkilla ; 06/06/2008 à 21h01.
benjamin310395 est déconnecté   Réponse avec citation

Publicité

Vieux 04/06/2008, 16h08   #2
benjamin310395
Membre confirmé
 
Date d'inscription: 05/03/2008
Localisation: Chez moi ...
Messages: 277
Voir les codes amis Nintendo DS
Par défaut

J'ai beaucoup repris l'exemple de la liblobby ...
__________________

Un lapin vous fait faire des mini-jeux !

Mon devblog

Et un tutoriel pour faire une connection DS<>DS ici
benjamin310395 est déconnecté   Réponse avec citation
Vieux 04/06/2008, 16h16   #3
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 963
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

merci pour ce tutoriel

si j'ai bien compris, la liblobby scan le nombre de DS pouvant se connecter et leur affecte un numéro, et c'est avec ce numéro qu'on établit la communication vers une DS donnée ??
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Vieux 04/06/2008, 16h19   #4
benjamin310395
Membre confirmé
 
Date d'inscription: 05/03/2008
Localisation: Chez moi ...
Messages: 277
Voir les codes amis Nintendo DS
Par défaut

oui, c'est ça.
La 1ere DS à s'être connecté recoit le numéro 1; la deuxième, le numéro 2 et ainsi de suite.
__________________

Un lapin vous fait faire des mini-jeux !

Mon devblog

Et un tutoriel pour faire une connection DS<>DS ici
benjamin310395 est déconnecté   Réponse avec citation
Vieux 04/06/2008, 16h22   #5
Cobain
Membre confirmé
 
Date d'inscription: 24/05/2007
Localisation: devant mon pc
Messages: 2 027
Par défaut

super ton tuto
Cobain est déconnecté   Réponse avec citation
Vieux 04/06/2008, 16h24   #6
benjamin310395
Membre confirmé
 
Date d'inscription: 05/03/2008
Localisation: Chez moi ...
Messages: 277
Voir les codes amis Nintendo DS
Par défaut

merci, je pensais qu'il n'était pas assez expliqué mais je pense que ça ira ...
__________________

Un lapin vous fait faire des mini-jeux !

Mon devblog

Et un tutoriel pour faire une connection DS<>DS ici
benjamin310395 est déconnecté   Réponse avec citation
Vieux 05/06/2008, 19h35   #7
Kram
Membre confirmé
 
Date d'inscription: 05/06/2008
Messages: 58
Par défaut

Cool ! Il est bien ton tuto, mais il est un peu mélangé vers la fin...

Ce que tu as mis dans "IV) Recevoir les données des autres joueurs" doit normalement se trouver dans "II) Les joueurs connectés et Sélection du destinataire", et dans le IV), tu dois mettre
Code:
void Receive(unsigned char *data, int length, LPLOBBY_USER from)
{
	PA_OutputText(0, 1, 20, "Received: %s       ", (char*)data);
}
qui doit être placé entre "main" et "void customVBL(void)".
Kram est déconnecté   Réponse avec citation
Vieux 06/06/2008, 16h08   #8
benjamin310395
Membre confirmé
 
Date d'inscription: 05/03/2008
Localisation: Chez moi ...
Messages: 277
Voir les codes amis Nintendo DS
Par défaut

c'est fait ! Merci de l'avoir remarqué .
__________________

Un lapin vous fait faire des mini-jeux !

Mon devblog

Et un tutoriel pour faire une connection DS<>DS ici
benjamin310395 est déconnecté   Réponse avec citation
Vieux 06/06/2008, 23h51   #9
Kram
Membre confirmé
 
Date d'inscription: 05/06/2008
Messages: 58
Par défaut

De rien .
C'est super de faire un tuto pour cette lib qui n'est pas simple a prendre en main.


PS : _kram_ = kram
Kram est déconnecté   Réponse avec citation
Vieux 07/06/2008, 00h26   #10
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 963
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Citation:
Envoyé par Kram Voir le message
PS : _kram_ = kram
corrigé
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Vieux 07/06/2008, 12h10   #11
benjamin310395
Membre confirmé
 
Date d'inscription: 05/03/2008
Localisation: Chez moi ...
Messages: 277
Voir les codes amis Nintendo DS
Par défaut

je suis aussi en train de programme un jeu fait avec ce tuto ... (ici)
__________________

Un lapin vous fait faire des mini-jeux !

Mon devblog

Et un tutoriel pour faire une connection DS<>DS ici
benjamin310395 est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Publicité



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 19h22.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince