Contest #3 [Unofficial]

« Older   Newer »
 
  Share  
.
  1. E_Meec
        +1   -1
     
    .

    User deleted


    SAMP-SERIES Contest: #3



    1. Crea una funzione che, noto il seguente array, lo riordini in ordine crescente e returni il risultato sottoforma di stringa [MAX 4 pti]:

    CODICE
    new array[] = {3, 5, 6, 2, 1}; //Il risultato dovrebbe essere "12356"


    PS: Se qualcuno se lo sta chiedendo, questa domanda era presente su un vecchio contest, è inutile che cercate sul web la soluzione perchè non la trovate e se in caso la trovaste me ne accorgerei subito.

    2. Modificare il seguente codice in modo che quando 10 player siano uccisi (non importa ne come nè da chi), il codice smetta di aumentare la variabile count e printi "errore" utilizzando solamente la funzione OnPlayerDeath. (Utilizza gli automata, niente condizioni if ed else, nè switch a parte per cambiare lo stato dell'automata)
    Per aiutare è stato scritto parte del codice per l'automata, ma è incompleto [MAX 4 pti].
    CODICE
    new count = 0;
    main()
    {
          state death_count: active; //utilizza inactive per l'altra
    }
    OnPlayerDeath(playerid, killerid, reason) <death_count: active>
    {
          count+= 1;
          if(count == 10)
          return 1;        
    }


    3. Correggi questo codice [MAX 2 pti].

    CODICE
    stock Float:PointToPoint(Float:X, Float:Y, Float:PointX, Float:PointY)
    {
           new Float:fAngle;
           if(X > PointX && Y > PointY)
                   fAngle = floatabs(atan2(floatsub(PointX, X), floatsub(PointY, Y)));
           if(X > PointX && Y <= PointY)
                   fAngle = floatabs(floatabs(atan2(floatsub(Y, PointY), floatsub(PointX, X))), 270.0);
           if(X <= PointX && Y > PointY)
                   fAngle = floatadd(floatabs(atan2(floatadd(PointY, Y), floatsub(X, PointX))), 90.0);
           if(X <= PointX && Y <= PointY)
                   fAngle = floatadd(floatabs(atan2(floatsub(X, PointX), floatsub(Y, PointY))), 180.0);
           return fAngle >= 360.0 ? floatsub(fAngle, 360.0) : fAngle;
    }


    Classifica:

    E' ASSOLUTAMENTE VIETATO USARE IL COMPILATORE O COPIARE ALTRI SCRIPTS.

    Il contest scadrà tra 10 giorni buona fortuna.

    Edited by E_Meec - 13/8/2013, 16:17
     
    Top
    .
  2. FedericoEv@ns
        +1   -1
     
    .

    User deleted


    CODICE
    new count = 0;
    main()
    {
           state death_count: active; //utilizza inactive per l'altra
    }
    OnPlayerDeath(playerid, killerid, reason) <death_count: active>
    {
           count+= 1;
           if(count == 10)
                   return 1;
    }


    CODICE
    stock Float:PointToPoint(Float:X, Float:Y, Float:PointX, Float:PointY)
    {
           new Float:fAngle;
           if(X > PointX && Y > PointY)
                   fAngle = floatabs(atan2(floatsub(PointX, X), floatsub(PointY, Y)));
           if(X > PointX && Y <= PointY)
                   fAngle = floatabs(floatabs(atan2(floatsub(Y, PointY), floatsub(PointX, X))), 270.0);
           if(X <= PointX && Y > PointY)
                   fAngle = floatadd(floatabs(atan2(floatadd(PointY, Y), floatsub(X, PointX))), 90.0);
           if(X <= PointX && Y <= PointY)
                   fAngle = floatadd(floatabs(atan2(floatsub(X, PointX), floatsub(Y, PointY))), 180.0);
           return fAngle >= 360.0 ? floatsub(fAngle, 360.0) : fAngle;
    }
     
    Top
    .
  3. TrolledOne
        +1   -1
     
    .

    User deleted


    Ahahahahah Federico.. Non devi spostarlo qua il tuo lavoro per il contest... Devi inviarlo per PM a meec.. Comunque manca il primo e il secondo l'hai copiato.
    Il contest sarebbe dovuto già finire stando alla data di creazione della discussione..
     
    Top
    .
2 replies since 13/8/2013, 11:44   151 views
  Share  
.