Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Deklaracja "switch"


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 Salamon

    Profesjonalista

  • Użytkownik

Reputacja: 43
Pomocny

  • Postów:199
Offline

Napisano 03.07.2008 12:35

Często chcemy ustawić coś losowo, według jakichś liczb, czy np według innej kolejności, o to sposób:

switch (a)
{
    case 1:
    {
       //kod tu umieszczony zostanie uzyty jezeli (a) bedzie rowne 1
    }
 
    case 2:
    {
       //kod tu umieszczony zostanie uzyty jezeli (a) bedzie rowne 2
    }
 
    case 3:
    {
       //kod tu umieszczony zostanie uzyty jezeli (a) bedzie rowne 3
    }
 
    default:
    {
       //kod tu umieszczony zostanie uzyty jezeli wszystkie inne przypadki zawioda
    }
}
gdzie (a) jest to właśnie ta losowa liczba, mozemy np uzyc kodu:

switch ( random_num( 1, 3 ) )
{
    case 1:
    {
       //kod tu umieszczony zostanie uzyty jezeli (a) bedzie rowne 1
    }
 
    case 2:
    {
       //kod tu umieszczony zostanie uzyty jezeli (a) bedzie rowne 2
    }
 
    case 3:
    {
       //kod tu umieszczony zostanie uzyty jezeli (a) bedzie rowne 3
    }
}
wtedy losowo uzyje jednego z 3 kodow

switch (a)
{
    case 1, 2, 3:
    {
       //kod tu umieszczony zostanie uzyty jezeli (a) bedzie rowne 1, 2 badz 3
    }
 
    case 4, 5, 6:
    {
       //kod tu umieszczony zostanie uzyty jezeli (a) bedzie rowne 4, 5 badz 6
    }
 
    case 7, 8, 9:
    {
       //kod tu umieszczony zostanie uzyty jezeli (a) bedzie rowne 7, 8 badz 9
    }
 
    default:
    {
       //kod tu umieszczony zostanie uzyty jezeli wszystkie inne przypadki zawioda
    }
}
tu mamy przyklad jak uzyc jednego kodu w kilku przypadkach naraz

switch (a)
{
    case 0 .. 50:
    {
       //kod tu umieszczony zostanie uzyty jezeli (a) spelni zaleznosc: 0 <= a <= 50
    }
 
    case 51 .. 100:
    {
       //kod tu umieszczony zostanie uzyty jezeli (a) spelni zaleznosc: 51 <= a <= 100
    }
 
    case 101 .. 200:
    {
       //kod tu umieszczony zostanie uzyty jezeli (a) spelni zaleznosc: 101 <= a <= 200
    }
 
    default:
    {
       //kod tu umieszczony zostanie uzyty jezeli wszystkie inne przypadki zawioda
    }
}
tu mamy przyklad jak uzyc jednego kodu na zakres wynikow, np od 0 do 50

a teraz przyklad nie na liczbach lecz na broniach
new weapon = get_user_weapon(id,_,_)
switch(weapon)
{
   case CSW_SCOUT: 
   {
       //kod tu umieszczony zostanie uzyty jezeli weapon, czyli bron trzymana w rece to scout
   }
   case CSW_M4A1: 
   {
       //kod tu umieszczony zostanie uzyty jezeli weapon, czyli bron trzymana w rece to m4a1
   }
}


zrodlo http://wiki.amxmodx.org/
  • +
  • -
  • 4

#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 03.07.2008 14:47

a teraz przyklad nie na liczbach lecz na broniach

new weapon = get_user_weapon(id,_,_)
switch(weapon)
{
   case CSW_SCOUT: 
   {
       //kod tu umieszczony zostanie uzyty jezeli weapon, czyli bron trzymana w rece to scout
   }
   case CSW_M4A1: 
   {
       //kod tu umieszczony zostanie uzyty jezeli weapon, czyli bron trzymana w rece to m4a1
   }
}


Salamon, to jest nadal na liczbach :DD get_user_weapon zwraca id broni, a ty tylko uzyles enum'a ktory pozwala zamiast pisac niewiele mowiace cyferki, juz wiecej mowiaca nazwe broni odpowiadajacej id broni ^^

Z tego co patrzylem, to switch w pawn'ie nie dziala z stringami (ciagami znakowymi).
  • +
  • -
  • 0

#3 Salamon

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 43
Pomocny

  • Postów:199
Offline

Napisano 03.07.2008 15:49

wiem ale to jest prostrze niz pamietanie ID kazdej broni, bo nazwy wszyscy znaja ^.^

prawde mowiac wszystko jest jakas liczba ktora mozna zastapic slowami ktore to ulatwiaja ;]
  • +
  • -
  • 0

#4 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 03.07.2008 15:52

Salamon, I dlatego zrobilem poradnik o enum'ach ^^
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych