Hasard pour faire des équipes

Résolu
cs_nebucrath Messages postés 7 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 20 septembre 2009 - 24 avril 2009 à 14:46
cs_nebucrath Messages postés 7 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 20 septembre 2009 - 24 avril 2009 à 23:07
Bonjour,

je vais faire une lan d'ici 1 semaine, et pour faire les équipes, je compte faire un petit logiciel qui, avec les prénoms que j'entre désigne 2 équipes de 8 joueurs, mais je ne sais pas comment faire. Pourriez-vous m'aider ?

Merci

4 réponses

JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
24 avril 2009 à 21:04
Voila un petit projet qui marche pour faire ce que tu as besoin :
- Possibilité de modifier les participants facilement, même sans redémarrer l'application. Les joueurs sont dans un fichier texte. Ce fichier peut être modifié entre 2 Reset.
- Les joueurs sont répartis aléatoirement dans chaque équipe. La différence du nombre de joueurs entre les équipes est de 1 maximum dans le cas d'un nombre de joueurs impair.
- OpenSource ^^ modifie le comme tu veux.

A bientot bonne soirée

Lien : http://diabloporc.free.fr/delphi/equipe_random.zip
3
tlelong Messages postés 6 Date d'inscription vendredi 24 avril 2009 Statut Membre Dernière intervention 22 juin 2009
24 avril 2009 à 17:47
Il y'a plusieurs façon pour faire ça, en voilà déjà une. J'ai fait une bonne partie à toi de faire le reste

var Form1: TForm1;
     TabJoueurs: array[0..15] of string;
     TabJoueursAjoutes: array[0..15] of Boolean;
     EquipeA, EquipeB: string;

procedure InitTabJoueurs;
begin
  TabJoueurs[0] := 'Prenom1';
  TabJoueurs[1] := 'Prenom2';
  TabJoueurs[2] := 'Prenom3';
  TabJoueurs[3] := 'Prenom4';
  TabJoueurs[4] := 'Prenom5';
  TabJoueurs[5] := 'Prenom6';
  TabJoueurs[6] := 'Prenom7';
  TabJoueurs[7] := 'Prenom8';
  TabJoueurs[8] := 'Prenom9';
  TabJoueurs[9] := 'Prenom10';
  TabJoueurs[10]:= 'Prenom11';
  TabJoueurs[11]:= 'Prenom12';
  TabJoueurs[12]:= 'Prenom13';
  TabJoueurs[13]:= 'Prenom14';
  TabJoueurs[14]:= 'Prenom15';
  TabJoueurs[15]:= 'Prenom16';
end;

procedure CreerEquipe;
var NbJoueurs, NumJoueur: Integer;
begin
  Randomize;
  FillChar(TabJoueursAjoutes, SizeOf(TabJoueursAjoutes), 0);
  InitTabJoueurs;
  NbJoueurs:= 0; EquipeA:= ''; EquipeB:= '';
  while NbJoueurs<8 do
  begin
    NumJoueur:= Random(15);
    if not TabJoueursAjoutes[NumJoueur] then
    begin
      Inc(NbJoueurs);
      EquipeA:= EquipeA + ' ' + TabJoueurs[NumJoueur];
      TabJoueursAjoutes[NumJoueur]:= True;
    end;
  end;
  for NumJoueur:= 0 to 15 do
  if not TabJoueursAjoutes[NumJoueur] then
    EquipeB:= EquipeB + ' ' + TabJoueurs[NumJoueur];
  ShowMessage('A: ' + EquipeA + #10 + 'B: ' + EquipeB);
end;

A toi de coder pour modifier le tableau des joueurs et l'appel à la fonction.
0
tlelong Messages postés 6 Date d'inscription vendredi 24 avril 2009 Statut Membre Dernière intervention 22 juin 2009
24 avril 2009 à 17:54
Sinon une méthode donnée par Julio:

Une zone de saisie où tu tapes le nom du joueurs et tu fais un random pour savoir s'il va dans équipe A ou B, dès qu'une équipe est complète tous les noms tapés vont dans l'équipe B. Simple efficace, mais tu dois retaper les noms si tu veux refaire les équipes.
Si tu as du temps tu enregistres les joueurs dans un tableau en même temps que tu les saisis et ensuite tu boucles ton tableau pour savoir s'il le joueur va dans l'équipe A ou B.
0
cs_nebucrath Messages postés 7 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 20 septembre 2009
24 avril 2009 à 23:07
Merci beaucoup, c'est niquel :)
0
Rejoignez-nous