Szerző Téma: Ciklus, összeadás  (Megtekintve 979 alkalommal)

Nem elérhető doboka98

  • 1002
    • Profil megtekintése
Ciklus, összeadás
« Dátum: 2012. október 01. - 15:59:21 »
0 Show voters
Sziasztok! Lenne egy fontos kérdésem! Na szóval, elõször is készítek egy TDM szervert. Van 2 csapatom. És azt szeretném megoldani, hogy oda rakja ahol kevesebben vannak, azt aki felcsatlakozik a szerverre. Ha viszont egyenlõ, akkor random rakja be egyikbe. Tudom, hogy kell ciklus hozzá, de sehogy sem értem, hogyan lehet :D. Remélem segít valaki! :D

Nem elérhető JBauer

  • 1407
    • Profil megtekintése
Ciklus, összeadás
« Válasz #1 Dátum: 2012. október 01. - 16:26:47 »
+1 Show voters
new csapat1;
new csapat2;
new csapat[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
   for(new i; i < GetMaxPlayers(); i++)
   {
      if(csapat1 > csapat2)
      {
          csapat[playerid] = 2;
          csapat2++;
      }
      if(csapat1 < csapat2)
      {
          csapat[playerid] = 1;
          csapat1++;
      }
      if(csapat1 && csapat2)
      {
           switch(random(2))
           {
               case 0:
               {
                     csapat[playerid] = 1;
                     csapat1++;
               }
               case 1:
               {
                    csapat[playerid] = 2;
                    csapat2++;
               }
           }
       }
   }
   return 1;
}

 
Nem teszteltem.

Nem elérhető doboka98

  • 1002
    • Profil megtekintése
Ciklus, összeadás
« Válasz #2 Dátum: 2012. október 01. - 16:34:55 »
0 Show voters
Köszönöm, elvileg jó kell legyen :D
 
if(csapat1 && csapat2)

 

if(csapat1  ==  csapat2)

Nem elérhető JBauer

  • 1407
    • Profil megtekintése
Ciklus, összeadás
« Válasz #3 Dátum: 2012. október 01. - 16:38:53 »
0 Show voters
Ja igen.. köszi :D

Ciklus, összeadás
« Válasz #4 Dátum: 2012. október 01. - 19:49:19 »
0 Show voters
Idézetet írta: JBauer date=1349101607\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"28162\" data-ipsquote-contentclass=\"forums_Topic

new csapat1;
new csapat2;
new csapat[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
   for(new i; i < GetMaxPlayers(); i++)
   {
      if(csapat1 > csapat2)
      {
          csapat[playerid] = 2;
          csapat2++;
      }
      if(csapat1 < csapat2)
      {
          csapat[playerid] = 1;
          csapat1++;
      }
      if(csapat1 && csapat2)
      {
           switch(random(2))
           {
               case 0:
               {
                     csapat[playerid] = 1;
                     csapat1++;
               }
               case 1:
               {
                    csapat[playerid] = 2;
                    csapat2++;
               }
           }
       }
   }
   return 1;
}

 
Nem teszteltem.
 
Tudom hogy a téma már lezárva, de minek ide a for ciklus?

Nem elérhető JBauer

  • 1407
    • Profil megtekintése
Ciklus, összeadás
« Válasz #5 Dátum: 2012. október 01. - 19:52:36 »
0 Show voters
Öhm.. igen. Eredetileg máshogy akartam megoldani, köszi az észrevételt. :D
Normális kód:
    new csapat1;
    new csapat2;
    new csapat[MAX_PLAYERS];
     
    public OnPlayerConnect(playerid)
    {
          if(csapat1 > csapat2)
          {
              csapat[playerid] = 2;
              csapat2++;
          }
          if(csapat1 < csapat2)
          {
              csapat[playerid] = 1;
              csapat1++;
          }
          if(csapat1 == csapat2)
          {
               switch(random(2))
               {
                   case 0:
                   {
                         csapat[playerid] = 1;
                         csapat1++;
                   }
                   case 1:
                   {
                        csapat[playerid] = 2;
                        csapat2++;
                   }
               }
        }
        return 1;
}
« Utoljára szerkesztve: 2012. október 01. - 19:55:17 írta JBauer »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal