Jump to content

dontuti

Miembros
  • Publicaciones

    523
  • Se unió

  • Última visita

  • Días como mejor autor

    2

Actividad de reputación

  1. Like
    dontuti tengo una valoración de facualmeira07 en Nueva Normativa de la Comunidad   
    Buenas, si te ofenden o se burlan de tu nick puedes notificarlo a los administradores o super-moderadores del foro o tambien puedes denunciarlo con el boton denunciar o tambien puedes crear un post para parar a esas personas con su respectiva sancion.
  2. Like
    dontuti tengo una valoración de DarkElemental en Nueva Normativa de la Comunidad   
    Me parece interesante la variación que se hicieron en las reglas, solo tengo una duda, los moderadores podemos dar sanciones...
     
    Psd: te faltó agregar El ComuWiki.
  3. Like
    dontuti tengo una valoración de DarkElemental en Nueva Normativa de la Comunidad   
    Me parece interesante la variación que se hicieron en las reglas, solo tengo una duda, los moderadores podemos dar sanciones...
     
    Psd: te faltó agregar El ComuWiki.
  4. Like
    dontuti tengo una valoración de NitroGen! en [debate] Libre porte de armas.   
    Bueno, el hecho de que alguien posea un arma en sí no es ilegal, debido a que si se posee un permiso esa persona puede dar uso del arma solo si es necesario, pero, considero que se deben tomar mas precauciones en el sentido de ver quien puede poseer un arma y quien no (ya sea por problemas mentales o físicos).
    Aparte los servicios de la Policia no suelen llegar inmediatamente sino en un lapso de tiempo por lo cual el hecho de tener un arma podria darte mas "seguridad" en tu hogar.
  5. Like
    dontuti ha valorado a Christian~ en [Anuncio] Roles del staff Comugamers y Donador.   
    Estimados usuarios.
     
    La Administración de Discord se complace de informar a todos los usuarios de
    Comugamers de la oportunidad que se posee de solicitar tu rol de Moderador o usuario
    de alguna parte de la comunidad,los cuales se expondrán a continuación
    los que son existentes en ComuDiscord que puedes pedir a cualquier staff discord presente
    ya que no se incluyen la totalidad de los que hay en general.
     
    Estos son:
     
    SuperModerador
     
    Moderador Global
     
    Staff Minecraft
     
    Staff Roleplay
     
    Staff MOBA
     
    Moderador plataformas
     
    Moderador Smarthphones
     
    Staff Comutubers/Youtube
     
    Donador
     
    De todos estos citados anteriormente hay que resaltar algunos por sus características o por otros factores que deben de tenerse en cuenta.
     
    -En el caso del Staff minecraft el rol tiene el deber de quien lo posea la obligación de
    atender a los usuarios con dudas de dicho juego (pasar link de la sección adecuada,etc..) en la sección de
    #Soporte Minecraft.De no hacerse tal cosa el rango será retirado.
     
    -En cuanto al Donador el rol solo puede ser cedido si se realizó la compra de alguna cosa
    en la página wed de donaciones.A la hora de solicitarlo y de pedírsele las pruebas de que tal
     acto se hizo se le solicitará una imagen del servidor diciendo algún mensaje de confirmación
    (El recibo no es obligatorio y ya no se solicitará).
     
    En este rango se incluyeron recientemente una serie de ventajas al poseedor de este,las cuales son:
     
    -Libre elección de un color para tu nick.
     
    -Cambio individual de su nick.(apodo)
     
    -Canal de voz privado.
     
    -Crear invitaciones instantáneas.
     
    -Poder sugerir un rol personalizado
     
     
    ¿Cómo lo pido?
     
    Para requerir un rol deberá dirigirse a #soporte Discord y citar a cualquier miembro staff presente,explicando brevemente cual rango es el que quedrias poseer de los que de verdad tengas en la comunidad.
    A continuación se dirigirá al privado de discord con dicho staff para pasar pruebas de que es real
    su solicitación y no un intento de estafa,al momento el moderador procederá a colocárselo a su cuenta y aparecerá en la lista de la derecha del chat de ComuDiscord.
     
    Gracias por su atención.
     
    Un cordial saludo.
     
    La Administración de ComuDiscord.
     
     
     
     
  6. Like
    dontuti ha valorado a Jerson! en [Presentación Staff YouTube] Formato y Requisitos   
    Buenas Usuarios de Comugamers
     
    Nos Complace informarles que están abiertas las postulaciones a Staff Youtube
     
    (Importante: Con el fin de hacer un manual control en las postulaciones les damos a conocer que si no cumplen con las reglas pautadas las postulaciones serán rechazadas)
     
    Algunos vídeos podrán ser de carácter meramente instructivos, como los tutoriales, mientras que otros podrán ser de eventos o de entretenimiento del servidor. Todos los vídeos deben pasar por una pre aprobación para subirlos, debemos filtrar contenido que queremos subir y que no. Es por eso que se deberán crear equipos con diferentes funciones:
     
    Equipos
     
    Hay tres equipos que el postulante puede pertenecer, y elegir, esto son los equipos:


    Requisitos
     
    Tener una buena redacción a la hora de postularse. Todo Postulante debe tener una cuenta en el foro (activa) Todo Postulante debe tener como mínimo 12 años de edad. Todo Postulante debe tener como mínimo 20 post (temas)  y 10 como mínima reputación en el foro. Contar con una foto de perfil para su fácil reconocimiento. No Usar emoticones en el formato. Demostrar en todo momento seriedad y madurez al tema sin ofender o insultar a nadie.  Etiquetar al staff o mandar un MP (Mensaje Privado) será motivo para que la postulación sea rechazada inmediatamente. Todo postulante debe cumplir con el formato correspondiente, si no es así será rechazado/a automáticamente. Obligatoriamente usar en el titulo el siguiente formato, de lo contrario no se tomará en cuenta. Todo Tema debe contar con la etiqueta [Postulación a Staff YouTube] Nombre de usuario Ejemplo: [Postulación a Staff YouTube] Santiago. Únicamente los Directores/Managers están autorizados aceptar o rechazar una postulación. Solo se permitirán 2 postulaciónes por persona, las demás que realice serán Rechazadas inmediatamente.
    Formato
     
    Formato de postulación a Staff Youtube: 
     
    Nombres y apellidos completos: Nombre de usuario en el servidor: Equipo al que desea pertenecer:(Ejem.Grabación, Edición y Diseño gráfico) Disponibilidad horaria para ejercer la función: ¿Porque deseas formar parte del Staff YouTube?: ¿Tienes futuros proyectos en mente?: ¿Usted cumple los requisitos de postulación?: ¿Tienes experiencia con la grabación, Edición y demás cosas sobre vídeos?:  Correo electrónico (Obligatorio? Adicional:  
     
    Att:
    Administración YouTube
     
     
     
     
  7. Like
    dontuti tengo una valoración de シズネ-お姉ちゃん en Programar en Java IV   
    estos bucles tambien se puedes usar para registros de alguna pass
  8. Like
    dontuti ha valorado a castrowilde en Programar en Java V   
    Si en el anterior post dijimos que las estructuras repetitivas eran temidas... aún más lo son los métodos.
     
    ¿Y qué demonios son los métodos? (O funciones). Pues básicamente son "subprogramas" que se crean fuera del main, y que nos permiten reutilizar el código en el programa principal. Para ello, hay que llamarle desde el main.
     
    ¿Cómo se llama a un método? La llamada a un método consiste básicamente en especificar el nombre del método y proporcionar la información (en forma de argumentos) cuando el método lo necesite para funcionar.
     
    Elementos de un método:
    ------->Dato de retorno
    •Es el tipo de dato del resultado que el método devuelve al invocador.
    •Puede ser:
    –Dato primitivo: byte, short, int, long, float, double, char
    –Objeto
    –void: cuando el método no devuelve nada y, por ejemplo, simplemente muestra por pantalla un mensaje.
    •Omitir el tipo de dato de retorno en una definición de método causa un error de sintaxis.
     
    -------->Nombre del método
    •Lo elige el programador
    •Es recomendable limitar los métodos a realizar una sola tarea bien definida y el nombre del método debe expresar efectivamente dicha tarea.
    •Debería comenzar con letra minúscula
    •No podemos utilizar palabras reservadas de Java
    •Puede haber varios métodos en la clase con el mismo nombre, siempre y cuando devuelvan diferentes parámetros.
     
    -------->Parámetros o argumentos
    •Casi todos los métodos tienen una lista de parámetros separados por comas.
    •Si el método no tienen parámetros entonces se colocan los paréntesis vacíos detrás del nombre del método.
    •Son también variables locales.
    •Declarar parámetros para un método que poseen el mismo tipo float x,y en lugar de float x, float y producirá un error de compilación porque se requiere un tipo para cada parámetro.
    •Colocar punto y coma después del paréntesis que encierra la lista de parámetros es un error de sintaxis.
     
    --------->Cuerpo del método
    •Código del método
    •Si el tipo-de-valor-devuelto es distinto de void el cuerpo del método debe contener al menos una sentencia return.
    •Devolver un valor de un método cuyo tipo devuelto se ha declarado void causa un error de sintaxis.
    •Olvidar devolver un valor desde un método que se supone debe devolver un valor es un error de sintaxis.
     
    -------->Método main
    •Es el punto de inicio de todo programa Java, es como la puerta de entrada del programa, lo primero que se ejecuta. Lo hemos utilizado siempre, pero ahora sabemos por qué se llama así.
     
    Esto se ve mejor con la práctica, de forma que vamos a hacer el método más sencillo que existe: el método "esPar(int n)"
    public static boolean esPar(int n) {
       if(n%2==0){
           return true;
       }
       else{
           return false;
       }
    }
     
    Ahora vamos a realizar un programa en los que usemos algunos métodos.
    Programa: TresNumeros
    •Hacer un programa que nos pide 3 números enteros y nos responde cual es el mayor y cual es el menor. Deberemos utilizar dos métodos:
    –int getMenor(int a, int b, int c)
    –int getMayor(int a, int b, int c)
     
    class TresNumeros
    {
       static int getMenor(int a, int b, int c)
       {
          
          if(a<=b && a<=c)
             return a;
          if(b<=a && b<=c)
             return b;
          
          return c;
         
       }
       static int getMayor(int a, int b, int c)
       {
          if(a>=b && a>=c){
             return a;
          }
          if(b>=a && b>=c){
             return b;
          }  
          else{
             return c;
          }
       }

    //PROGRAMA PRINCIPAL
       public static void main(String[] args)
       {
          int n1, n2, n3, menor, mayor;
       
          System.out.print("Teclea el primer número: ");
          n1=cs1.Keyboard.readInt();
       
          System.out.print("Teclea el segundo número: ");
          n2=cs1.Keyboard.readInt();
       
          System.out.print("Teclea el tercer número: ");
          n3=cs1.Keyboard.readInt();

          menor=getMenor(n1, n2, n3);
          mayor=getMayor(n1, n2, n3);
          
          System.out.println("El menor de los números es "+menor); //en lugar de menor, podríamos haber puesto getMenor(n1, n2, n3);
          System.out.println("El mayor de los números es "+mayor); //en lugar de mayor, podríamos haber puesto getMayor(n1, n2, n3);
       
       }
    }
     
    Con estos 5 posts que he publicado sobre programación, podéis hacer bastantes programas (sencillos y sin programación orientada a objetos, pero bastantes).
    Si alguno me pone en los comentarios que quiere saber más (utilizar API para sus programas, arrays...), yo sigo subiendo más posts... pero si no hay demanda lo veo innecesario
     
    Espero que os hayan gustado los 5 posts... dejad un rato el mainkra y abrid vuestro IDE favorito (Eclipse, NetBeans, jGrasp...), y animaros a programar. En internet hay muchos ejercicios planteados con su respectiva solución.
     
  9. Like
    dontuti ha valorado a castrowilde en Programar en Java IV   
    Qué tal amigos, bienvenidos a la cuarta parte del tutorial sencillo de programación en Java.
     
    Ay amigos... que llegan los temidos bucles... y son temidos básicamente porque si ponemos una expresión lógica incorrecta, el bucle se hará infinito y no habrá forma de salir de él, salvo finalizando la ejecución del programa.
     
    Lo primero, explicar qué es la estructura repetitiva... los famosos bucles.
     
    Estructuras repetitivas (Bucles)
    •Se utilizan para repetir un bloque de instrucciones un número determinado o indeterminado de veces. ¿Pero qué quiere decir esto? Lo veremos más adelante. De momento quedarnos con lo siguiente:
    •Hay tres sentencias repetitivas en Java:
    –while
    –do/while
    –for
     
    WHILE:
    El bucle while ejecuta una instrucción (que puede ser un bloque) mientras sea cierta una determinada expresión lógica.
    El bucle while no llegará a ejecutarse si la expresión lógica es falsa desde el principio
    Sintaxis del while:
    while(expresión lógica)
    {
        bloque de instrucciones
    }
     
    DO/WHILE:
    El bucle do/while es muy similar al bucle while, con la excepción de que la expresión lógica se evalúa al final del bucle. Primero realiza la acción, y luego pregunta. Si la expresión lógica es verdadera, vuelve a dar un ciclo, si no se sale del bucle. Esto nos garantiza que la acción se va a realizar al menos una vez (MUY ÚTIL PARA REALIZAR MENÚS QUE SE SABE DE ANTEMANO QUE SE VAN A REPETIR AL MENOS 1 VEZ).
    Sintaxis del do/while:
    do{
          bloque de instrucciones
    } while(expresión lógica);
     
    FOR:
    •El bucle "for" consta de 3 parámetros:
    –Inicialización: se realiza antes de entrar en el bucle. Puede tener más de una sentencia separadas por comas. Normalmente se utiliza para inicializar una variable que será el contador del bucle.
    –Terminación: expresión lógica que se evalúa al principio del bucle, y que si es false el bucle se termina. Normalmente se utiliza para comprobar si el contador ha alcanzado el valor final.
    –Incremento: se pone casi siempre al final del bucle. Normalmente se utiliza para incrementar o reducir el valor del contador.
    Sintaxis del for:
    for (inicialización; terminación; incremento)
    {
         bloque de instrucciones
    }
     
    Ahora que ya tenemos la teoría... vamos a pasar a la práctica.
     
    Ejercicio con while:
    Bucle1_v1
    •El programa pide al usuario que teclea un nº entero.
    •Si el nº tecleado es 5 el programa le pide que teclee otro número.
    •Si el nº tecleado es 5 el programa le pide que teclee otro número.
    •…
    •El programa termina cuando el usuario teclea un nº distinto de 5
     
    class Bucle1_v1
    {
       public static void main(String[] args)
       {
          int numero;
          System.out.print("Teclea un número entero: ");
          numero=cs1.Keyboard.readInt();
          
          while(numero==5)
          {
             System.out.println("ERROR. Inserte un número distinto de 5 ");
             System.out.print("Teclea otro número entero: ");
             numero=cs1.Keyboard.readInt();
          }
       }
    }
     
    Otro un poco más complejo:
    Programa: DigitosNum
    Programa que cuente la cantidad de dígitos que posee un número entero.
    Teclea un número entero: 22345
    22345 tiene 5 dígitos
     
    class DigitosNum
    {
       public static void main(String[] args)
       {
          
          System.out.print("Teclea un número entero: ");
          int numeroEntero=cs1.Keyboard.readInt();
          int cociente=numeroEntero/10;
          boolean finBucle=(cociente==0);
          int contadorDigito=1;
          
          while(finBucle==false)
          {
             cociente=cociente/10;
             contadorDigito=contadorDigito+1;
             finBucle=(cociente==0);
          }
          System.out.println("El número "+numeroEntero+" tiene " +contadorDigito+" dígitos ");
       }
    }
     
    Ejercicio con do/while:
    Programa: Oposiciones
    •Se convoca una oposición para cubrir 20 plazas. A los aspirantes se les entrega un examen con 100 preguntas, de forma que las plazas se adjudicarán a las 20 personas que más rápidamente entreguen el examen con 50 o más respuestas correctas. Escribe un programa que pida el número de respuestas acertadas de los exámenes a medida que éstos se vayan entregando y, una vez adjudicadas las plazas, indique cuántos exámenes se han entregado en total.
     
    class oposiciones
    {
       public static void main(String []args)
       {
          final int PLAZAS=20;
          final int PREGUNTAS=100;
          final int APROBADO=50;
       
          int plazasrestantes;
          int preguntasvalid;
          int contador;
          contador=0;
       
       
          do{
          
             System.out.println("numero de Aciertos: ");
             preguntasvalid=cs1.Keyboard.readInt();
          
             while (preguntasvalid<0 || preguntasvalid>PREGUNTAS){
                System.out.println("Error");
                System.out.println("numero de Aciertos: ");
                preguntasvalid=cs1.Keyboard.readInt();
             }
          
          
             if(preguntasvalid>=APROBADO){
             
                contador=contador+1;
                plazasrestantes=PLAZAS-contador;
                System.out.println("quedan "+plazasrestantes+" plazas");
             }
             else{
                plazasrestantes=PLAZAS-contador;
                System.out.println("quedan "+plazasrestantes+" plazas");
             }
          
          }while(contador<PLAZAS);
       
          System.out.println("numero total de examenes "+contador);
       
       }
    }
     
    Uno un poco más complejo:
    Programa: ValidaAlumno
    Cargar por teclado el primer carácter del nombre del alumno, la edad, la altura (en cm) y el peso (entero). La carga finaliza cuando el primer carácter del nombre sea *. Calcula y visualiza:
    –Si la edad es mayor de 60 nos pida confirmar el dato
    –La media de la edad del grupo de alumnos
    –Numero de alumnos con alturas superiores a 180 cm
    –Letra de la primera persona que tiene más de 30 años.
    ¿Primer caracter del nombre? (* para finalizar) p
    ¿Edad? (0-100) 28
    ¿Altura (en cm)? (100-200) 137
    ¿Peso ? (20-200) 56
    ¿Primer caracter del nombre? (* para finalizar) o
    ¿Edad? (0-100) 31
    ¿Altura (en cm)? (100-200) 184
    ¿Peso ? (20-200) 78
    ¿Primer caracter del nombre? (* para finalizar) u
    ¿Edad? (0-100) 38
    ¿Altura (en cm)? (100-200) 137
    ¿Peso ? (20-200) 56
    ¿Primer caracter del nombre? (* para finalizar) *
    Numero alumnos: 3 Media de las edades: 32
    Numero alumnos con altura superior a 180 cm : 1
    o es la primera persona con edad superior a 30 años
     
    class ValidaAlumno
    {
       public static void main(String[] args)
       {
          
          //constantes
          final int EDAD_MIN=0;
          final int EDAD_CONFIRMAR=60;
          final int EDAD_MAX=100;
          final int PESO_MIN=20;
          final int PESO_MAX=200;
          final int ALTURA_MIN=100;
          final int ALTURA_MAX=200;
          
          //variables
          int edad=0;
          int altura;
          int peso;
          char nombre;
          char primer30=' ';;
          int contadorAlumnos=0;
          int contadorAlturaMas180=0;
          int suma=0;
          double media=0;
          boolean isLetter=true;
          boolean mayor30=false;
          int sumaEdades=0;
            
          do{
          
             System.out.print("Primer caracter del nombre? (* para finalizar): ");          
             nombre=cs1.Keyboard.readChar();  
             
             if(nombre!='*'){                                              
             
                while(Character.isLetter(nombre)==false && nombre!='*')
                {
                   System.out.println("Error, tiene que ser una letra");
                   System.out.print("Primer caracter del nombre? (* para finalizar): ");          
                   nombre=cs1.Keyboard.readChar();
                }
                
                if(nombre!='*'){
                
                   char sino; 
                   do{
                      sino='S';
                      System.out.print("¿Edad? ("+EDAD_MIN+"-"+EDAD_MAX+"): ");
                      edad=cs1.Keyboard.readInt();
                   
                      while(edad<EDAD_MIN || edad>EDAD_MAX)
                      {
                         System.out.println("Error, edad fuera del intervalo ["+EDAD_MIN+"-"+EDAD_MAX+"]: ");
                         System.out.print("¿Edad? ("+EDAD_MIN+"-"+EDAD_MAX+"): ");
                         edad=cs1.Keyboard.readInt();
                      }
                   
                      if(edad>=EDAD_CONFIRMAR){
                         System.out.print("La edad tecleada es mayor que "+EDAD_CONFIRMAR+". ¿Desea confirmar? (s/n): ");
                         sino=Character.toUpperCase(cs1.Keyboard.readChar());
                      }
                   
                      contadorAlumnos++;  
                   
                   }while(edad<EDAD_MIN || edad>EDAD_MAX || sino!='S');
                   
                   sumaEdades=sumaEdades+edad;
                
                   System.out.print("¿Altura en cm? ("+ALTURA_MIN+"-"+ALTURA_MAX+"): ");
                   altura=cs1.Keyboard.readInt();
                   
                                  
                   while(altura<ALTURA_MIN || altura>ALTURA_MAX)
                   {
                      System.out.println("Error, altura fuera del intervalo ["+ALTURA_MIN+"-"+ALTURA_MAX+"]: ");
                      System.out.print("¿Altura en cm? ("+ALTURA_MIN+"-"+ALTURA_MAX+"): ");
                      altura=cs1.Keyboard.readInt();
                   }
                   
                   if(altura>=180 && altura<ALTURA_MAX){
                      contadorAlturaMas180++;
                   }
                
                   System.out.print("¿Peso en kg? ("+PESO_MIN+"-"+PESO_MAX+"): ");
                   peso=cs1.Keyboard.readInt();
                
                   while(peso<PESO_MIN || peso>PESO_MAX)
                   {
                      System.out.println("Error, peso fuera del intervalo ["+PESO_MIN+"-"+PESO_MAX+"]: ");
                      System.out.print("¿Peso en cm? ("+PESO_MIN+"-"+PESO_MAX+"): ");
                      peso=cs1.Keyboard.readInt();
                   }
                
                   if(edad>=30 && mayor30==false){
                      primer30=nombre;
                      mayor30=true;
                   }
                }
             }
             
          
          }while(nombre!='*');
          
          if(contadorAlumnos>0){
             media=sumaEdades/contadorAlumnos;
             System.out.println("Número de alumnos: "+contadorAlumnos+"; media de las edades: "+media);
             System.out.println("Número de alumnos con altura superior a 180 cm: "+contadorAlturaMas180);
             System.out.println("Inicial de la primera persona con edad superior a 30 años: "+primer30);
          }
          
          else{
             System.out.println("No has introducido datos válidos ");
          }
            
       }
    }
     
    Ejercicios con for:
    Programa: Suma1000
    Programa que visualice la suma de los 1000 primeros números naturales.
    El programa visualizará las sumas parciales que va acumulando:
    1, 3, 6, 10, 15, ...
     
    class Suma1000
    {
       public static void main(String[] args)
       {
          int suma=0;      //acumulador
          int contador=1;  //contador
                
          for(contador=1; contador<=1000; contador++)
          {
             suma=suma+contador;
             if(contador==1000){
                System.out.printf("%15d\n", suma);
             }
             
             else{
                System.out.printf("%15d,", suma);
             }
             
             if(contador%6==0)
                System.out.println();
             
          }
          
       }
    }
     
    Otro un poco más difícil:
    Programa: VeinteSiguientes
    Cargar por teclado un número entero. Visualizar la suma del número y los 20 siguientes y la suma de los 20 siguientes pares.
    ¿Número? 12
    Suma del número 12 y los 20 siguientes es: 462
    Suma de los 20 siguientes pares del 12 es : 660
     
    class VeinteSiguientes
    {
       public static void main(String[] args)
       {
       
          int numero;
          int resto;
          int siguientePar;
          int suma=0;
          int sumaPares=0;
       
          System.out.print("¿Número?: ");
          numero=cs1.Keyboard.readInt();
          
          for(int contador=numero; contador<=numero+20; contador++){
          
             suma=suma+contador;
          
          }
       
          System.out.println("La suma de "+numero+" y los 20 siguientes números es "+suma);
          
          sumaPares=0;
          
          if(numero%2==0){
          
             siguientePar=numero+2;
          
          }
          
          else{
          
             siguientePar=numero+1;
          
          }
          
          for(int contadorPar=siguientePar; contadorPar<siguientePar+40; contadorPar=contadorPar+2){
          
             sumaPares=sumaPares+contadorPar;
          
          }
          
          System.out.println("La suma de los 20 pares al "+numero+" es "+sumaPares);
       
       }
    }
     
    Espero que os haya gustado y que, después de este post, le hayáis perdido el miedo a los bucles. Siempre que se elija una operación lógica correcta, y la sintaxis sea la correcta (en este tipo de estructuras ya es mejor usar Eclipse o NetBeans en lugar de jGrasp). 
     
  10. Like
    dontuti ha valorado a castrowilde en Programar en Java III   
    Dependiendo de la hora a la que leas esto... buenos días, buenas tardes, buenas noches
     
    Aquí vamos con la tercera parte de estos post que estoy realizando para programar en Java
     
    Programa de condicional doble:
    Para poder acceder a un puesto de Policía Nacional es necesario que los aspirantes midan al menos 1,70 m y que sean mayores de edad durante este año y a su vez menores de 40 años. Hacer un programa que pida por teclado el año de nacimiento y la altura en metros de una persona. Deseamos saber si esa persona es o no mayor de edad y saber si tiene la altura requerida. Además debe visualizarse siempre la altura y la edad de la persona.
    Introduzca el año de nacimiento: 1980
    Introduzca la altura en m: 1.56
    Tiene 32 años y mide 1.56 m
    Es mayor de edad
    No tiene la altura requerida
     
    Para saber la fecha exacta de hoy, utilizaremos la clase GregorianCalendar, por tanto, la tendremos que importar en nuestro archivo Java de la siguiente manera:
    import java.util.GregorianCalendar;
    import java.util.Calendar;
     
    La solución para realizar este programa sería:
    import java.util.GregorianCalendar;
    import java.util.Calendar;
    class PoliciaNacional_v2
    {
       public static void main(String[] args)
       {
          GregorianCalendar hoy=new GregorianCalendar();
          final int YEAR=hoy.get(Calendar.YEAR);
          System.out.println("Introduce el año de nacimiento: ");
          int year_nac=cs1.Keyboard.readInt();
          System.out.println("Altura en metros: ");
          double altura=cs1.Keyboard.readDouble();
          int edad=YEAR-year_nac;
          System.out.println("\tTiene "+edad+" años y mide "+altura+" metros ");
          
          if(edad>=18 && edad<40 && altura>1.70) {//admitido
             System.out.println("\tCumple los requisitos. Su solicitud ha sido admitida "); //mensaje para imprimir que la solicitud es admitida
          }
          else{ //rechazado
             System.out.println("\tNo cumple el/los siguientes requisitos ");
             if(edad<18){ //no los cumple por ser menor de edad
                System.out.println("\t\tNo es mayor de edad ");
             }
             if(edad>39){ //no los cumple por ser mayor de 39 años
                System.out.println("\t\tSupera la edad requerida ");
             
             if(altura<1.70){ //es más bajo de 1.70 m
                   System.out.println("\t\tNo tiene la altura requerida ");
             }
                System.out.println("\tSu solicitud ha sido rechazada "); //mensaje para imprimir que la solicitud es rechazada
             }
          }
       }
    }
     
    Anidamiento de sentencias if : en función de lo que necesitemos, el código se puede ir bifurcando en varios niveles, estableciendo condiciones más específicas dentro de otras condiciones más generales. Lo vamos a ver con el siguiente ejercicio:
     
    BilleteTren1
    Una compañía ferroviaria calcula las tarifas de sus billetes de tren de la siguiente forma: 0.10€ por kilómetro recorrido y una cantidad adicional fija de 16€ si se viaja en litera. Escribe un programa que calcule la tarifa y presente los resultados con el siguiente formato:
    ¿Distancia? :440 ¿Litera? (s/n): s
    Concepto                            Cantidad a abonar
    Distancia (Kms.) 440 Km               44 €
    Litera                                             SI 16 €
                                                        TOTAL 60 €
    ¿Distancia? :250 ¿Litera? (s/n): x ERROR, dato no válido
     
    class BilleteTren
    {
       public static void main(String[] args){
          //declarar constantes
          final int LITERA=16;
          final double DISTANCIA=0.10;
          
          //declarar variables
          double km;
          double importe;
          double importeConLitera;
          char letra;   
          
          
          //imprimir en pantalla
          System.out.print("¿Distancia? (en Km): ");
          km=cs1.Keyboard.readInt();
          
          System.out.print("¿Litera? (presione únicamente S mayúscula / N mayúscula): ");
          letra=cs1.Keyboard.readChar();
                
          if(letra=='A' || letra<='Z'){
             if(letra=='N' || letra=='S'){
                if(letra=='N'){
                   importe=DISTANCIA*km;
                   System.out.println("El importe del billete es "+DISTANCIA*km+" € ");
                }
                else{
                   importeConLitera=(DISTANCIA*km)+LITERA;
                   System.out.println("El importe del billete es "+importeConLitera+" € ");
                }
             } 
             else{
                System.out.println("ERROR. Por favor, presiona únicamente S mayúscula o N mayúscula");
             }  
          }
          else{
             System.out.println("ERROR. Por favor, presiona únicamente S mayúscula o N mayúscula");
          }
       }
    }
     
    Ejercicio de calificaciones
    Escribir un programa que pregunte las notas de un alumno en cuatro asignaturas y proporcione la calificación global, teniendo en cuenta que:
    •Si se suspende al menos una asignatura la calificación global es de suspenso
    •En los restantes casos, la calificación global se obtendrá calculando la media aritmética de las 4 notas y aplicando lo siguiente:
    Nota media             Calificación global
    5 al 6,99                   Suficiente
    7 al 8,99                   Notable
    9 al 10                      Sobresaliente
     
    La respuesta sería:
     
    class Notas
    {
       public static void main(String[] args)
       {
          final int CERO=0;
          final int UNO=1;
          final int DOS=2;
          final int TRES=3;
          final int CUATRO=4;
          final int CINCO=5;
          final int SEIS=6;
          final int SIETE=7;
          final int OCHO=8;
          final int NUEVE=9;
          final int DIEZ=10;
           
          int nota;
          System.out.print("Escribe tu nota: ");
          nota=cs1.Keyboard.readInt();
          
          if(nota<CERO || nota>DIEZ){
             System.out.println("Nota no válida");
          }
           
          else{
                   if(nota >= CINCO && nota < SIETE) {
                           System.out.println("Suficiente");
                   }
                   else if(nota >= SIETE && nota < NUEVE) { 
                           System.out.println("Notable");
                   }
                   else{
                           System.out.println("Sobresaliente");
                   }
             }
          }
       }
    }
     
    Ciertamente, este ejercicio nos habría quedado con el código más claro si lo organizamos con un switch:
    Switch
    Cuando en una condición hay varios if anidados en los cuales siempre se compara la misma expresión pero con diferentes valores, para facilitar la programación y depuración del código se puede utilizar la sentencia condicional switch. La expresión sólo debe de generar valores tipo char, byte, short, int o String.
     
    class Notas
    {
       public static void main(String[] args)
       {
          final int CERO=0;
          final int UNO=1;
          final int DOS=2;
          final int TRES=3;
          final int CUATRO=4;
          final int CINCO=5;
          final int SEIS=6;
          final int SIETE=7;
          final int OCHO=8;
          final int NUEVE=9;
          final int DIEZ=10;
           
          int nota;
          System.out.print("Escribe tu nota: ");
          nota=cs1.Keyboard.readInt();
          
          if(nota<CERO || nota>DIEZ){
             System.out.println("Nota no válida");
          }
          
          else{
    switch(nota)
    {
    case CERO:
    case UNO:
    case DOS:
    case TRES:
    case CUATRO:
             System.out.println("Insuficiente");
             break;
    case CINCO:
    case SEIS:
             System.out.println("Suficiente");
             break;
    case SIETE:
    case OCHO:
             System.out.println(“Notable”);
             break;
    default: //este case (default) se pone en el último de los casos posibles
                  System.out.println(“Sobresaliente”);
                  break;
       }//fin del switch
     }//fin del else 
    }//fin del class
     
    Programa: OpeAritméticas
    Programa que visualice un menú de opciones: Suma, Resta, Multiplicación y División. El programa pedirá teclear un carácter si es 'S' ejecutará la suma, 'R' la resta, 'M' la multiplicación y 'D' la división de dos números enteros pedidos por teclado (el resultado de la división podrá tener decimales). Los caracteres introducidos se podrán teclear en mayúsculas o minúsculas. ---Operaciones aritméticas--
    (S)uma
    (R)esta
    (M)ultiplicacion
    (D)ivision
    ¿Operación?: d
    Numero 1: 5
    Numero 2: 2
    Division: 2.5
     
    class OpeAritmeticas
    {
       public static void main(String[] args)
       {
          
          double suma, resta, multiplicacion, division;
          double num1, num2;
          char letra;
          
          System.out.println("----OPERACIONES ARITMÉTICAS---- ");
          System.out.println("(S)uma ");
          System.out.println("(R)esta ");
          System.out.println("(M)ultiplicación ");
          System.out.println("(D)ivisión ");
          
          System.out.print("¿Operación?: ");
          letra=cs1.Keyboard.readChar();
          if(letra=='S' || letra=='s' || letra=='R' || letra=='r' || letra=='M' || letra=='m' || letra=='D' || letra=='d'){
             System.out.print("Inserte el número 1: ");
             num1=cs1.Keyboard.readDouble();
          
             System.out.print("Inserte el número 2: ");
             num2=cs1.Keyboard.readDouble();
          
             //cálculo de operaciones
             suma=num1+num2;
             resta=num1-num2;
             multiplicacion=num1*num2;
             division=num1/num2;
          
             if(letra=='S' || letra=='s'){
                System.out.println("Resultado: "+suma);
             }
             else if(letra=='R' || letra=='r'){
                System.out.println("Resultado: "+resta);
             }
             else if(letra=='M' || letra=='m'){
                System.out.println("Resultado: "+multiplicacion);
             }
             else if(letra=='D' || letra=='d'){
                System.out.println("Resultado: "+division);
             }
          }
          else{
             System.out.println("ERROR. Por favor, escribe S para suma; R para resta; M para multiplicación; D para división ");   
             }   
       }
    }
     
    Al igual que el anterior, se podría haber organizado con un switch
     
    Y hasta aquí este post fundamentalmente sobre estructura condicional y secuencial. En el próximo, los temidos bucles
  11. Like
    dontuti ha valorado a castrowilde en Programar en Java II   
    Buenas a todos, aquí os traigo la continuación del anterior post, que estaba quedando demasiado largo
     
    Operadores relacionales


     
    ¡¡¡OJO!!! IMPORTANTE: En el anterior post hablamos de cómo declarar una variable: no es lo mismo el = (que significa asignar un valor a una variable) que el == (el típico igual que todos conocemos, para una comparación en una if, por ejemplo).
     
    Media.java
    Modificar el programa anterior para que al final diga si la expresión media>=5 es true o false
    Ejemplo de ejecución:
            Dime un número: 9
            Dime otro número: 6
            La media de 9 y 6 es 7.5
            media>=5 es true
     
    class Media{
           public static void main(String[] args){
                  System.out.print("Dime un número: ");
                  int n1 = cs1.Keyboard.readInt();
                  System.out.print("Dime otro número: ");
                  int n2 = cs1.Keyboard.readInt();
                  double media = (n1 + n2) / 2.0; //realmente no hace falta poner 2.0, ya que, siguiendo lo que vimos en el anterior post, se hace una conversión implícita, pero no está de más poner 2.0 
                  System.out.print("La media de "+n1+" y "+n2+" es "+media);
                  boolean aprobado=media>=5 && media<=10;
                  boolean error=media<0 || media>10; //esta es una expresión lógica de error, que consiste en que cuando metamos una nota inferior a 0 o mayor que 10, nos dará true.
                  System.out.println("media>=5 es "+aprobado);
                  System.out.println("Error es "+error);
           }
    }
     
    Operadores lógicos

    Nosotros usaremos el && (and), || (or) y ! (not).
     
    Operadores unarios (para ir creciendo o decreciendo de 1 en 1. Nos serán MUY ÚTILES para cuando queramos acumular valores de 1 en 1, o repetir el código un número determinado de veces)

     
    Operadores condicionales

    Es sumamente importante que entendáis esto, ya que a partir de ahora, el código de los programas ya no será tan secuencial o lineal (una sentencia detrás de otra), sino que se va a ir bifurcando en una estructura condicional: si una condición se cumple, se hará una cosa; y si no, se hará otra
     
    Estructura secuencial
    Los programas realizados hasta este punto se ejecutan de modo secuencial, es decir, una sentencia después de otra. La ejecución comienza con la primera sentencia del programa y prosigue hasta la última sentencia, cada una de las cuales se ejecuta una sola vez.

    Ejercicio: programa que calcula el área de un rectángulo a partir de los datos de entrada: base y altura que pueden tener parte decimal.
    class AreaRectangulo{
         public static void main(String[]args) {
              float base, altura, area;
              System.out.println ("ÁREA DEL RECTÁNGULO");
              System.out.print("\nDame la base :");
              base = cs1.Keyboard.readFloat();
              System.out.print ("\nDame la altura :");
              altura = cs1.Keyboard.readFloat();
              area=base*altura;
              System.out.println ("\nEl área del rectángulo es :"+ area);
     
         }
     
    }
     
    Estructuras condicionales
    •Son aquellas que controlan la ejecución o la no ejecución de una o más instrucciones en función de que se cumpla o no una condición.
    •Pueden ser:
    –Simples
    –Dobles
    –Múltiples
     
    Ejercicio
    •Programa que pide dos números por teclado y me dice cuál de ellos es el mayor (Utiliza el operador condicional "if" y "else").
    import java.util.Scanner;
    public class ProgramasComugamers {
        public static void main(String[] args) {
            Scanner teclado = new Scanner(System.in);
            
            //declarar las variables
              int num1, num2;
                       
              //pedir los datos por teclado
              System.out.print("Teclea el primer numero");
              num1 = teclado.nextInt();
           
              System.out.print("Teclea el segundo numero");
              num2 = teclado.nextInt();
           
              //condiciones
              if(num1 == num2) { //si ambos números son iguales, imprimir que ambos son iguales
                  System.out.println("Ambos números son iguales ("+num1+")");
              }
              if(num1 > num2) { //si el número1 es mayor al número2
                  System.out.println("El número mayor es "+num1);
              }
              else { //la otra opción (si el número2 es mayor que el número1)
                  System.out.println("El número mayor es "+num2);
              }
              
        }
     
    }
     
    Espero que os haya gustado. Por el momento esto es todo. Si tenéis alguna duda, escribid en los comentarios. He procurado hacerlo lo más sencillo posible, pero he podido obviar algún detalle que os genere alguna duda
  12. Gracias
    dontuti ha valorado a castrowilde en Programar en Java I   
    Bienvenidos al post nº1 sobre el lenguaje de programación JAVA, como se mencionó antes, un lenguaje muy utilizado por los programadores por su "potencia" (nos permite hacer prácticamente cualquier cosa), y por ser multiplataforma (revisar el post anterior que hice). Quiero compartir aquí con vosotros mis apuntes de Java, y espero que os sirvan 
    Si tenéis alguna duda, poner por comentarios.
     
    Sin más dilación, empezamos (lógicamente con teoría antes de empezar a programar).
     
    ¿Qué tenemos que tener claro al principio para programar?: Pues básicamente una serie de conceptos como "dato", "variable", "declarar variables", "tipos de datos"...
     
    Dato: es una letra, una cifra, o incluso una palabra que se va a pasar al ordenador (por medio del teclado) y la máquina va a almacenar dicho elemento en un formato determinado para después realizar las operaciones pertinentes con ellos y así obtener los resultados (que son nuevos datos a partir de los anteriores). Por ejemplo: un dato puede ser 1500 (int, también conocido como "entero"), 1.75 (double), Javier Del Olmo (String, también se le llama "cadena"), A (char), verdadero (boolean).
     
    Variable: es un nombre simbólico que representa una dirección de memoria donde se va a almacenar el dato correspondiente
     
    Declarar variables: <tipo> identificador; <tipo> lista de identificadores;  [IMPORTANTE EL ";", porque si no, nos da errores de compilación. Sirve para que el IDE vaya a la siguiente línea de código]. Un ejemplo de cómo se declaran variables: int numero = 0; También es importante saber que existen normas para poner variables: 
    1). Tiene que empezar por letra. Los otros caracteres pueden ser letras, números y los caracteres $ y _
    2). No pueden ser palabras reservadas del lenguaje (por ejemplo do, while, for, private, int...)
    3). Java es un lenguaje sensible a mayúsculas y minúsculas
    4). Deben ser descriptivas del tipo de dato al que van a referenciar.
    5). Los identificadores de las variables se escriben con minúsculas
    6). Si por alguna razón la variable está formada por más de 1 palabra, la primera SIEMPRE va en minúscula, y las siguientes con la PRIMERA LETRA MAYÚSCULA
     
    Resumen:
    Existen dos tipos de datos en Java:
    –Tipos de datos primitivos (int, char, boolean, float, double)
    –Tipos de datos de referencia (String, array... básicamente los objetos)
    •Especifican:
    – un dominio (rango de valores)
    – un conjunto de operaciones posibles
    •Los compiladores asocian a cada tipo de datos un tamaño en memoria y un tipo de representación interna, en función del tipo de dato.

     
    Normalmente, para los programas más sencillos se usan los primitivos (int, double, char, boolean rara vez)... dejando las referencias (objetos) para más adelante.
    Para entender lo que viene a continuación, recomiendo encarecidamente que veáis algo sobre sistemas de numeración binario, octal, hexadecimal (ya que eso no es tanto de programación, sino de sistemas informáticos).
     
    Byte
    •Tipo de 8 bits con signo
    •Valores: (-128, +127) --> hay que saber que el primer bit se deja para el signo, y el resto para el número que pueden almacenar
    •Se debería evitar su utilización, salvo en programas en los que necesitemos manipular bits (programas musicales por ejemplo)
    •Las variables "byte" se declaran así, con la palabra clave byte. Por ejemplo: 
    byte a, b;
    a=012; //valor octal 7 (10 en decimal)
    b=10; //valor decimal
     
    Short
    •Tipo de 16 bits con signo
    •Rango de valores (-32768, +32767)
    •Actualmente no se utiliza, ya que la mayoría de ordenadores actualmente ya no disponen de 16 bits, sino de 32 ó 64 bits.
    •Las variables short se declaran utilizando la palabra clave short. Ejemplo:
    short a, b;
    a=0xA; //valor hexadecimal A (10 en decimal)
    b=10; //valor decimal
     
    Integer
    •Tipo de 32 bits con signo
    •Rango de valores:
    (-2.147.483.648, +2.147.483.647 )
    •Es el tipo más utilizado para almacenar valores enteros.
    •Las variables int se declaran utilizando la palabra clave int. Ejemplo:
    int a, b;
    a=0xA; //valor hexadecimal A (10 en decimal)
    b=10; //valor decimal
     
    Long
    •Espacio en memoria: 64 bits con signo
    •Rango de valores: (-9.223.372.036.854.775.808, +9.223.372.036.854.775.807)
    •Se utiliza cuando el tipo int no es lo suficientemente grande como para guardar un valor, por ejemplo, para almacenar el PIB de una nación, el sueldo de los famosos...
    •Las variables long se declaran: utilizando la palabra clave long. Ejemplo: long numero;
    •Literales long: llevan una L mayúscula o minúscula al final. Ejemplo: long numero=10L;
     
    Números reales
    •También conocidos con números en coma flotante.
    •Tienen coma decimal.
    •Pueden ser:
    –Float
    –Double
    •Internamente se representan siguiendo el estándar IEEE754, también conocido como "coma flotante"
     
    Literales reales
    •Cadenas de dígitos con un punto decimal
    123.45 0.0 0.01
    •En notación científica
    123e5 123E+5 12E-6
    •Por defecto los literales reales representan valores de tipo double
    •Para representar un valor de tipo float, hemos de usar el sufijo f o F.
    123.45f 0.01F
     
    Float
    •Utiliza 32 bits para almacenar un valor (1 signo, 8 exponente y 23 mantisa).
    •Las variables se declaran utilizando la palabra float.
    float a;
    a=4.5f;
     
    Double
    •Utiliza 64 bits para almacenar un valor (1 signo, 11 exponente y 52 mantisa).
    •Las variables se declaran utilizando la palabra double.
    double a;
    a=4.5;
    •Nota: gran parte de los ordenadores actualmente cuentan con 64 bits. No obstante, si no se van a utilizar números demasiado grandes, se recomienda utilizar float para que sea más rápida la compilación y ejecución de un mismo programa
     
    Literales de tipo caracter (también conocidos como char o character)
    •Valores entre comillas simples
    ‘a’, ‘b’, ‘c’, …, ‘A’, ‘B’, …, ‘1’, ‘2’, …, ‘+’, ‘*’, …
    •Unicode (en hexadecimal) \u????  --> las ? son las cifras de su código (ejemplo 0096)
    –Código de 16 bits
    –http://www.unicode.org/
    ‘\u0061’ (letra ‘a’), ‘\u002b’ (signo más ‘+’)
    •Secuencias de escape
    ‘\t’ tabulador, ‘\n’ avance de línea, ‘\”’ comillas dobles
     
    Boolean
    •Pueden contener los valores True o False
    •Las variables se declaran utilizando la palabra boolean
    boolean b;
    b=true;
    b=9>5 && 9<=9;
     
    Cadenas de caracteres
    •Una cadena (String) es una secuencia de caracteres
    •String no es un tipo primitivo, sino una clase predefinida
    •Los literales de tipo String van entre comillas dobles
    “Esto es una cadena”
    •Las secuencias de escape se pueden introducir formando parte de una cadena.
    “Pepe\tGarcía Molinero\n”
    •Concatenación de cadenas
    “Pepe “+”García “+”Molinero”
    “Total = “+ total
     
    Palabras clave
    Palabras reservadas del lenguaje que no pueden ser utilizas como identificadores de variables (como hemos visto arriba).

     
    Comentarios
    •Sirven para documentar el código
    •No se compilan (no pasan al .class), únicamente los vemos nosotros
    •Tipos:
    –// de una sóla línea
    –/* de múltiples líneas */
    –//** de documentación */
     
    Ámbito de las variables
    •Dependiendo del lugar del programa donde se declara la variable, esta tendrá un ámbito.
    •El ámbito es el espacio del programa donde se puede utilizar esa variable.
     
    Declaración de variables
    •Operación que debemos realizar antes de utilizar una variable.
    •Pueden declararse:
    –Fuera de los métodos del programa
    class Programa {
    public static int a, b;
    public static void main(String[] args){
    –Dentro de los métodos
    •Al principio del método
    •En otro lugar
     
    Declaración de constantes simbólicas
    •final Dentro de un método
    •final static En la clase fuera de todos los métodos
    class CElementosJava
    {
    final static int cte1=1;
    void test()
    {
    final double cte2 = 3.14;

    }
    }
     
    Conversión implícita
    Un dato tipo byte se puede meter en cualquier tipo de variable y un dato tipo double sólo se puede meter en una variable de tipo double

     
    Conversión explícita (cast)
    •El operador cast fuerza a un dato, variable o una expresión a convertirse a un nuevo tipo de dato.
    •Sintaxis (cómo se escribe): (tipo de dato) expresión
    •Ejemplo: (int) (5.0/2.4) --> el resultado será forzosamente entero. Por tanto, la respuesta será 2
     
    Tipo de datos del resultado de una expresión numérica
    •Si en una expresion numérica se utilizan datos de diferentes tipos, el resultado de la expresión es un dato del mayor tipo
    •Ejemplos:
    5/2.0 (int / double) el resultado es double
    5f*2 (float * int) el resultado es float
     
    Vamos a realizar un "programa" absolutamente sencillo. Consiste básicamente en asignar un valor constante a una variable que llamaremos "número", e imprimir por pantalla su valor.
    class TiposDatos1 {//principio de clase
              public static void main(String[] args) {//principio del main
                        //incializamos n1 con 2.147.483.647, (el máximo valor de un int)
                        int n1 = Integer.MAX_VALUE;
                        int suma = n1 + 1;
                        System.out.println(suma); //imprime - 2.147.483.648 en la pantalla
              }//final del main
    }//fin de la clase
     
    ¿Por qué nos imprime ese número? Porque no le cabe con el signo positivo (0), y al ponerle negativo (1), el número da como resultado -2.147.483.648
     
    Ahora vamos a pasar con ejercicios que van un poquito más allá. Vamos a pedirle al usuario que introduzca algo por teclado y nos devuelva un resultado. Pero antes... es necesario conocer la clase Keyboard.
     
    KeyBoard
    •Tiene métodos para leer por teclado cada tipo de datos excepto los boolean.
    –byte b=cs1.Keyboard.readByte();
    –short s=cs1.Keyboard.readShort();
    –int i=cs1.Keyboard.readInt();
    –float f=cs1.Keyboard.readFloat();
    –double d=cs1.Keyboard.readDouble();
    –char c=cs1.Keyboard.readChar();
    •También tiene un método para leer cadenas
    –String s=cs1.Keyboard.readString();
     
    También podemos utilizar el objeto teclado de la clase scanner, que se haría de la siguiente manera: "Scanner teclado = new Scanner(System.in);" //pero no quería entrar a esto, ya que aparece la palabra new, que sirve para crear objetos
     
    Ahora sí, le pediremos al usuario que nos escriba el precio de un producto, y le devolveremos dicho valor.
     
    class EntradaTeclado1{//principio del class
         public static void main(String[] args){//principio del main
             System.out.println("Teclea el precio del producto: ");
             int precio = cs1.Keyboard.readInt();
             System.out.println("El precio del producto es: "+precio);
         }//fin del main
    }//fin del class
     
    Media.java
    Hacer un programa que calcule la media de dos números introducidos por teclado y la muestre por pantalla. Dime un número: 9 Dime otro número: 6 La media de 9 y 6 es 7.5
    class Media
    {
       public static void main(String[] args)
       {
          //declarar las variables
          int num1, num2;
                   
          //pedir los datos por teclado
          System.out.print("Teclea el primer numero");
          num1=cs1.Keyboard.readInt();
       
          System.out.print("Teclea el segundo numero");
          num2=cs1.Keyboard.readInt();
       
          //dividir las variables
          double media=(num1+num2)/2.0;
          System.out.println(" La media de "+num1+" y "+num2+" es "+media);
          
          boolean aprobado=media>=5 && media<=10;
          boolean error=media<0 || media>10;
          System.out.println("Aprobado es "+aprobado);
          System.out.println("Error es "+error);
          
          }
    }
     
    Hasta aquí el primer post de programación en Java. Se agradece que si les ha gustado, me lo hagan saber. Y como dije arriba: si tenéis alguna duda, dejad un comentario, yo estaré encantado de ayudaros. 
  13. Gracias
    dontuti ha valorado a castrowilde en Programación en JAVA   
    Hola a todos, soy castrowilde
     
    Probablemente (casi seguramente) que no me conozcas, pero bueno, quiero dejarte por aquí algunos tutoriales PROPIOS (no copiados y pegados de ninguna página) sobre un lenguaje de programación de alto nivel, tal y como lo es JAVA.
     
    Lo primero de todo sería preguntarnos: ¿qué es JAVA? Bueno pues Java es un lenguaje de programación profesional, creado por la empresa Sun Microsystems allá por los años 90, aunque hace algunos años la todopoderosa ORACLE se ha hecho con los derechos de dicho lenguaje. Además, la ventaja que tiene JAVA es que es un lenguaje orientado a objetos, tal y como nos les encontramos en la vida cotidiana (en la calle habrá coches, edificios, señales, semáforos, farolas...).
     
    ¿Por qué el lenguaje JAVA es tan utilizado por los programadores? Básicamente porque es un software "multiplataforma", de forma que podemos utilizarlos en ordenadores de distintos tipos (Windows, Linux, Mac, Solaris), únicamente descargándonos previamente la Máquina Virtual de Java para cada entorno... de forma que podemos realizar grandes proyectos y aplicaciones. De hecho, sí amigos, Minecraft está programado con Java. Esto quiere decir que da igual que tengamos un Pentium I o un ordenador gaming del copón... cualquiera nos sirve para programar 
     
    Importante: es necesario ir a la página de Java y descargarse el JRE y el JDK para nuestro respectivo ordenador. Obviamente, hoy en día prácticamente cualquier equipo cuenta con esta máquina virtual instalada por defecto... pero de todas formas, cuando existen nuevas versiones de Java, el ordenador se encargará de enviarnos un mensaje para actualizar nuestra versión de Java.
     

     

     
    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html?ssSourceSiteId=otnes

     
    Ahí elegís el tipo de sistema operativo que tengáis (en ese link tenéis todos los que hay disponibles).
     
    Si ya cumples con todos estos pasos, si quieres empezar a programar tendrías que descargarte un entorno de desarrollo integrado (IDE) de programación en Java. Los dos más conocidos son Eclipse y NetBeans, ambos con sus correspondientes ventajas y desventajas, aunque cuando se empieza a programar, se recomienda especialmente el programa jGrasp, ya que es una herramienta que contiene CSD (una herramienta que permite "visualizar" el flujo del código). [Nota: no confundir con LSD]
     

     

     

     
    DESCARGA DE IDE:
    El más cómodo para instalar es jGrasp: únicamente con descargarte el archivo .exe correspondiente, estará completamente funcional.
     

    Si por el contrario descargas Eclipse, debes tener en cuenta que ahora mismo (en 2017) estamos por la versión Oxygen (los nombres provienen de nomenclatura espacial: Neon, Mars, Luna, Kepler, Juno...). Y cuando te lo descargues, elige siempre la primera opción.
     

     
    Con Netbeans exactamente lo mismo.
     
    Esto sería un primer post de descarga e instalación del IDE con el que vamos a trabajar. Si os interesa aprender a programar en JAVA, estad atentos a los siguientes posts que publicaré. Sin más, me despido.
  14. Positivo
    dontuti ha valorado a Nicolas_Gardel en ¡ComuGamers ya tiene grupo en Steam!   
    Me alegra anunciar que ComuGamers posee un grupo en Steam el cuál es accesible para todas aquellas personas que deseen entrar, a continuación se les dejará el link para que puedan ingresar al mismo.
     
    http://steamcommunity.com/groups/ComuGamers/
     
     
    Atte: La Administración General de ComuGamers
  15. Positivo
    dontuti ha valorado a Il_Picasso en Nueva Normativa de la Comunidad   
    Nueva Normativa de la Comunidad

     
    Buenas noches usuarios de ComuGamers me dirigo a ustedes para anunciarles las nuevas normativas o reglas de la Comunidad. Es de suma importancia que estén al tanto de ellas ya que se entenderá como conocidas en todo momento. 
     
    Cito la norma # 2 de las Reglas Generales
     
     
    Podrán encontrar el link a las normativas haciendo click aquí. O bien pueden entrar aquí http://www.comugamers.com/normas y también pueden encontrar el link a las normas en la barra de navegación, donde dice Descubrir en Normas.
     
     

     
     
    Sin más que decir, dejo el tema abierto a sus opiniones e ideas de que agregar a las normas de ComuGamers.
     
    Il_Picasso
    Administrador General
    Fundador de ComuGamers/ComuHost
  16. Positivo
    dontuti tengo una valoración de Rauvel en [Sugerencia] (Modalidad de rol)   
    [Sugerencia] (Modalidad de rol)
    - Nombre tuyo en el servidor: Dontuti
    - Modalidad de la sugerencia o sugerencia general: Nueva modalidad
    - Sugerencia: me gustaria implementar un nuevo tipo de modalidad, la cual seria como el gta roleplay, solo que en minecraft.... se trata de implementar el rol en una modalidad o nueva modalidad en el server.
    - Ventajas y desventajas de la sugerencia: 
     
    Ventajas
    -a ciertas personas les gusta el rol y les fascinaria esta modalidad.
     
    Desventajas
    -podrian no seguir el rol, pero se podria supervisar eso...
     
    - [Opcional] Imágenes de la sugerencia o links en caso de un plugin nuevo: No tengo imagenes de esto, pero por la descripcion de la modalidad, ya se han de imaginar.
  17. Positivo
    dontuti ha valorado a CrazyCuber en [Java] 01 Nuestro primer programa   
    Este es el primer programa en Java, después de haber instalado correctamente el JDK (java developer kit - kit de desarrollo en java)
    Vamos a empezar con algunos conceptos y normas de escritura de los programas en java.
     
    01.01 Toda programación en java va dentro de una clase. Despúes de "declarar" la clase, (o sea, poner *delante* de su nombre, sus "modificadores" que la describen cómo es) y poner su nombre, se "abre una llave" { y al final de su código, que "le pertenece" se cierra con otra llave, la de "cierre" }. *No confundir la llave con el paréntesis "()" o con los corchetes "[]", que se usan para otras cosas!
     
     Así sería la primera línea de nuestro primer programa. Todo en Java está dentro de una "clase", que es como un armario donde viene todo lo que almacenamos. Los programas complejor llevan muchos de estos "armarios", o clases:
     
         public class J01_ImprimirHola {
     
    La clase tiene que ser pública (se puede leer desde cualquier sitio del programa o incluso desde otro programa), para eso se pone delante "public" como al principio de esta linea, y tiene que llevar el mismo nombre exacto que el archivo en el que va a estar, más la "extensión ".java". Para conseguirlo, habrá que guardar el archivo del código con el nombre J01_ImprimirHola.java
     
    Los "comentarios" nos ayudan a tener una idea más clara de lo que hacemos, para recordarlo mejor, o por si alguien tiene que modificar nuestro código. Son muy útiles, y no influyen en el programa final, ni lo hacen más grande ya que no se copian en el ejecutable.
     
    01.02 Comentarios. Hay dos tipos de comentarios, los que empiezan en cada línea con doble barra invertida (\\) o los que empiezan en una línea con barra y multiplicación (/*) y terminan más tarde, después de varias líneas, con multiplicación y barra (*/). En este último caso, podemos escribir cualquier cosa y utilizar el número de líneas que queramos, hasta que no aparezca "fin de comentario" en una línea (*/) todo se interpreta como comentario, no como código
     
    01.03 No se pueden utilizar espacios para el nombre de las clases, funciones o variales. Solo números, letras y raya abajo. Pero solo se puede empezar con letra, da igual si es minúscula o mayúscula. Eso sí, al entrelazar mayúsculas con minúsculas, queda mucho más claro nuestro código
     
    01.04 Clases, funciones y variables. Las clases pueden contener funciones (código a ejecutar, hacer cálculos) y variables, que son como cajones de memoria básicos, más pequeños que las clases, y que se utilizan para esos cálculos. Las funciones definen "qué se va a hacer", y las variables definen a nivel muy básico "que datos" van a participar en los cálculos o procedimientos de esas funciones. Las clases son como estructuras más complejas de memoria, que agrupan funciones y variables básicas para su fácil manejo.
     
    En este primer ejemplo solo tenemos un clase y una función.
    La segunda línea de nuestro código será:
     
       public static void main(String args[]) {
     
    No voy a insistir mucho en explicarla de momento, ya que lleva conceptos que aprenderemos más adelante. Se explicará a su tiempo. Habrá que escribirla tal cual para que funcione nuestro código.
     
    De momento nos quedaremos con que "main" es la función principal de la clase, imprescindible para que nuestro programa funcione. Tiene que ser publica ("public"), estática ("static"), y que no devuelva ningún valor ("void" = vacío)
     
    Como ya hemos hablado de funciones, voy a explicar un poco más sobre el significado de "void", que es "vacío". Hay funciones que devuelven un valor, pero ésta solo se ejecuta haciendo cosas (vamos a imprimir algo en la pantalla), pero sin devolver nada. Otra función, por ej. una que calcule la suma de dos números, devolvería como dato de salida esa suma para ser luego impresa en pantalla o usada en otros cálculos)
     
    Cualquier función puede tener unos "argumentos" (datos entrantes para usar en nuestros cálculos) que se escriben dentro de los paréntesis que vienen después del nombre de la función. Por ejemplo, así se puede definir la función "Suma", que devuelve el valor de la suma de dos variables que le pasaremos. Primero se define la función y entro lugar se utiliza.
    Primero definimos la función:
     
     public int Suma(int a, int) {
      int sum;
      sum = a + b;
      return sum;
     }
     
    y en otro lugar se utiliza, por ejemplo, como sigue: Suma(3,5)
     
    No tienes que entender todo esto de momento, solo te lo he puesto como ejemplo para que veas la diferencia entre una función que devuelve un valor y otra que no lo hace.
     
    También puedes ver ahora que es impotante no confundir los paréntesis (que llevan los argumentos de la función "(int a, int b)", con las llaves (que encierran el código de la misma) y con los corchetes, que ya veremoss más adelante qué hacen.
    Ya es la hora de imprimir algo en pantalla, con la siguiente línea de código:
     
        System.out.println("Hola");
     
    Estamos haciendo una "llamada" a la función "println" del conjunto "out" del paquete "System". Fíjate en las mayúsculas y minúsculas, y ponlo exáctamente así, sino no te va a funcionar. Tampoco hay espacios sino puntos "." para especificar el paquete y el conjunto donde se encuentra la función.
     
    Observa que le pasamos a la función "println" el argumento "Hola", con doble comilla (que ya es hora de que sepas que eso significa que es un texto, no un numero. Aunque pongas "1234", si lleva esas comillas dobles, Java lo endenterá como un texto y tendrás que convertirlo si quieres tenerlo como número) y entre paréntesis, que ya te has enterado de que esta es la manera de pasar argumentos a una función. Presta atención a todos estos detalles, o el programa no te va a funcionar y te va a dar un montón de errores!
     
    Las líneas vacías no importan, podemos poner cuantas queremos si así nos resulta más fácil de leer y comprender el código.
    Como no vamos a hacer nada más de momento, en la función "main", es hora de "cerrar" la llave de la función. Si se te olvida, error. Hazte a la idea, al principio vas a tener muchos errores hasta que te acostumbres a todos estos detallitos, luego, después de un poco de práctica, ya todo irá como la seda.
     
    Ahora cerramos la llave de la clase, y con esto decimos que ya no queremos ni más funciones ni otras cosas en nuestra clase.
    Nuestro primer programa va a quedar asi al final, si lo has escrito todo correcto:

    public class J01_ImprimirHola {
        public static void main(String args[]) {
            System.out.println("Hola");
        }
    }

    Es así de fácil, pero ya ves que hay muchos gatos encerrados en este código! LOL
    Como puedes ver, la función "main" está escrita un poco más a la derecha, eso para que se lea mejor, no pasa nada si no la escribes así y la pones al principio de la línea, pero queda mucho más claro tu código si lo haces. Se entenderá mejor qué es lo que pertenece a la función, a la clase, etc. Lo mismo con lo de las llaves. Ya te enseñaré algún truco más para que tengas un código limpio y fácil de seguir, para cuando tengas que escribir muchas líneas.
     
    01.05 Guardar archivo, compilarlo y ejecutarlo.
    Bueno, pues ya hemos hablado mucho sobre programación, pero ¿cómo metemos todo esto en nuestro ordenador, y cómo lo ejecutamos?
    Habrá que dar varios pasos para conseguirlo.
     
    1. Escribir el programa en cualquier archivo de texto, con el "bloc de notas incluso" si quieres. Va a funcionar igual. Lo único que los programas especiales para java te ponen en colorines bonitos las palabras clave que reconoce, las llaves, etc, y es más fácil detectar los errores, pero de momento utiliza el bloc de notas, ten paciencia, y corrije tus errores, tardarás un poco más quizás, pero verás los errores que te da cuando te equivocas en algo y serás más listo a la hora de encontrar tus propios errores más adelante. Incluso es buena idea, eso sí, cuando ya lo tengas correcto y sin problemas, meter tú a propósito algún error en el código, para ver qué tipos de erorres te salen y así encontrarlos más fácilmente después. Lo puedes hacer dejando de cerrar llaves, poner espacios en varios sitios y ver dónde influyen, omitir alguna palabra clave como "public" o "void", etc. Esta es una estratégia que podrás usar siempre que quieras probar el sistema o detectar erorres y mejorar tu código.
     
    2. Guarda el programa en un archivo, pero no le pongas cualquier nombre, nooo... tiene que llevar el mismo nombre que la clase principal ("main") que nos hemos inventado, más la extensión ".java". En nuestro caso, el nombre deberá ser "J01_ImprimirHola.java", sin las comillas. Esas las pongo yo aquí para que se lea mejor. Cuando tengas que poner las comillas te avisaré :)
     
    3. Suponiendo que tienes bien instalado el JDK de Java, y que los ejecutables "javac.exe" y "java.exe" están en la ruta del sistema, ahora hay que compilar el programa que acabas de escribir. Suponiendo también que el programa que acabas de escribir está en C:\0\java, abre el "símbolo de sistema" (pon "cmd" en "inicio") y dale los siguientes comandos al sistema:
     
    cd C:
    cd \
    cd 0
    cd java
    javac J01_ImprimirHola.java
    java J01_ImprimirHola

    Al final de esto, al poner el último comando, debería imprimirse "Hola" debajo del cursor.
    Qúe puede pasar? Muchas cosas malas que nos impidan conseguirlo, jeje. Yo intento prever el máximo posible de problemas, pero te digo lo que quiero hacer para que ENTIENDAS cómo se hace y encontrar tú mismo algún error de los (muchos) que yo no habré previsto.
     
    Vamos a ver qué hacen los comandos anteriores, en el símbolo del sistema:
     
    cd C:
    - ponlo justo así, con dos puntos nos llevas al disco duro "C" si es que no estamos ya ahí. Estamos hablando de escribirlo en el símbolo del sistema y darle a "intro", ok? Ya sé que lo sabes, pero intento dirigirme también a los que no lo saben.
     
    cd \
    - este comando nos lleva al principio de la ruta, por ejempl, si estamos en C:\Archivos de Programs\Adobe\Commmon, nos llevará a C:
     
    cd 0
    - vamos a la subcarpeta "0". Esta me la he inventado yo para tenerlo todo ordenado
     
    cd java
    - también me la he inventado para no ponerlo todo junto con lo de c++.
     
    *Otros comandos útiles puedens resultar: "cd.." (sin espacios, para "subir" o ir a la izquierda en la ruta), "dir" para ver un listado de archivos y carpetas. No deberías necesitar más, pero si quieres ampliar el tema, busca "comandos msdos" en internet. Podras crear y borrar archivos desde el símbolo de sistema, etc.

    Ahora viene la "compilación" de nuestro programa, que significa que el texto que hemos escrito y que es (más o menos, LOL) fácil de entender por humanos, se transforma en unas secuencias de números feos que solo la máquina entenderá:
     
    javac J01_ImprimirHola.java
     
    - después de este comando, tendremos otro archivo nuevo en esa carpeta, que se llamará J01_ImprimirHola.class
     
    Y por, fin, después de toda la aventura, el paso final y el más interesante, a ver si obtenemos un "Hola" en la pantalla (no siempre funciona a la primera, eh?). Si no funciona tendrás que revisar el código fijándote en los detalles, aunque a la hora de compilarlo o ejecutarlo, javac te da pistas si algo está mal).
     
    Programar es tener paciencia, equivocarse mucho y no darse por rendido, si consigues afrontar bien estas cosas, vas a llegar a ser un buen programador.
     
    Ejecutar:
    java J01_ImprimirHola
     
    que si todo está bien hecho, debería imprimir "Hola". Sino revisa el código y todas las explicaciones y prueba de nuevo! No te des por vencid@ fácilmente! (espero que no hayas puesto .java al final del nombre del archivo, no se tiene que poner, o sea, sería incorrecto ejecutar el comando "java J01_ImprimirHola.java")
     
    Suerte!
     
    J01_ImprimirHola.pdf
  18. Positivo
    dontuti ha valorado a DiegoBolanosP en [Sugerencia] (Olimpiadas Comugeriences.)   
    Pues vamosle metiendo a la olimpiadas de cabezita.
     
    APOYO LA IDEA X1000
  19. Positivo
    dontuti tengo una valoración de DiegoBolanosP en [Sugerencia] (Olimpiadas Comugeriences.)   
    Tambien podria haber olimpiadas de Futbol??
  20. Positivo
    dontuti tengo una valoración de DiegoBolanosP en [Sugerencia] (Olimpiadas Comugeriences.)   
    Ahora que lo pienso en el equipo de Ecuador podria estar il_picasso, no @DiegoBolanosP
  21. Positivo
    dontuti tengo una valoración de Rezu_ [Canada] en [Sugerencia] (Olimpiadas Comugeriences.)   
    Bueno, me imagino que no seria el unico de Ecuador :v
  22. Positivo
    dontuti tengo una valoración de Rezu_ [Canada] en [Sugerencia] (Olimpiadas Comugeriences.)   
    Bueno, me imagino que no seria el unico de Ecuador :v
  23. Positivo
    dontuti ha valorado a 『MrWolf』 en [Sugerencia] (Olimpiadas Comugeriences.)   
    - Nombre tuyo en el servidor: MrWolf_YT.
    - Modalidad de la sugerencia o sugerencia general: Olimpiadas Comugeriences.
    - Sugerencia: En si no es una modalidad, es una especie de olimpiadas pero en minecraft, la idea es la siguiente:
    Idea Principal:
    Las olimpiadas se haran determinadas vecez al año, yo recomiendo 1. Las olimpiadas se dividiran en fases, o mejor dicho semanas de fases las cuales son: Semana de preparación, Semana de Competencia y por ultimo la Semana Final. En cada olimpiada habra un jurado secreto (No puede ser el mismo en todas las olimpiadas)
    Semana de preparación:
    En esta semana los usuarios atravez del foro deberan inscribirse cumpliendo algunos requisitos. Una vez que seamos un numero aceptable de participantes iniciara la semana de competencia. (Solo se podran inscribir a lo largo de la semana, si se inscriben en la segunda semana o en la tercera no podran participar).
    Semana de competencia:
    Los usuarios tendran que jugar modalidades, y se determinara en cada modalidad el mejor. Por ejemplo: El mejor en skywars(el que tenga mas wins), el mejor en PracticePvP (El que tenga mas kills), el mejor en nexus (el que tenga mas nexus rotos), y asi hasta que queden los campeones en las modalidades. todos los que no sean los mejores en las modalidades quedaran descalificados.
    Semana Final:
    En esta semana final los mejor en modalidades o mejor dicho los campeones deberan luchar en un desafio final aleatorio, es decir que el jurado decidira en que modalidad se llevara la decicición de quien gana las olimpiadas. Ej: el jurado elije que los campeones deberan jugar en una partida de skywars, el que gane esa partida se llevara el premio.
    El que gane el desafio final aleatorio se llevara un premio elejido por el mismo jurado. Uno de los premios que me parece que no vendria mal es que tengan un premio en el foro titulado: "Ganador de las olimpiadas comugeriences".
    - Ventajas y desventajas de la sugerencia: 
    Ventajas:
    Atraer mas usuarios, mayor numero de registrados en el foro, mas diversión para los usuarios.
    Desventajas:
    Se podria complicar un poco en el tema de la organización y plugins.
    - [Opcional] Imágenes de la sugerencia o links en caso de un plugin nuevo: No tengo por el momento ya que no existe en servidores, es una idea original.
  24. Positivo
    dontuti ha valorado a NorthzKawaii en Ayuda alguien se registro con mi NickName   
    Buenas, soy premium. Mi nick es NorthxzKawaii y esta tarde entre a el server y alguien se registro con mi cuenta. no fui yo y quiero saber si me la pueden devolver para registrarme. Aquí muestras que soy el dueño de la cuenta.


  25. Positivo
    dontuti ha valorado a Stracci en [Guía] Rol medio/avanzado.   
    Para los nuevos y para los no tan nuevos, aquí les dejo una extensa guía de rol.
    No solo tiene conceptos sino algunos tips en distintos aspectos.

    Conceptos de rol

    Introducción:
    Esta es una guía/tutorial o como les guste llamarlo para profundizar y aprender mejor los conceptos de rol a utilizar dentro del servidor, como también dentro del foro. Lo más importante de esta guía es que todos los users puedan prender un poco más, así como yo también me equivoco y me pueden corregir así todos creceremos. A continuación se les mostrará el índice para poder ubicarse bien, y saber dónde están los conceptos/reglas. Saludos y espero les sirva esta guía.

    Índice:
    1- Aprende a rolear.
    1.1- ¿Qué es RolePlay?
    1.2- Canales IC y OOC.
    1.2.1- Canales que se ocupan OOC.
    1.2.2- Canales que se ocupan IC.
    1.3- Comandos básicos para un buen rol.
    2- Lista de conceptos de rol y definiciones.
    3- ¿Qué debe hacer un buen líder de Facción/Familia?
    3.1- ¿Qué no debo hacer siendo un líder de Facción/Familia?
    4- ¿Qué debe hacer un buen miembro de Facción/Familia?
    4.1- ¿Qué no debe hacer un miembro de Facción/Familia?
    5- Importancia de roles y porqué respetarlos.
    5.1- Rol de entorno.
    5.2- Rol al interactuar con otros users.
    5.3- Roles de armas.

    1- Aprende a rolear.
    1.1 - ¿Qué es RolePlay?

    RolePlay (comúnmente abreviado RP) es un moto de juego no solo de SA-MP, sino que en varios juegos, como bien se indica "RolePlay" en español significa "Juego de rol" que se basa más que nada en interpretar y simular una vida lo más realista posible dentro del mismo juego respetando cada uno de los comandos establecidos globalmente para una buena y correcta organización. Para ello el GM, lo cuál significa "Game Mode" y es la base de todo lo que nosotros vemos cuando entramos al servidor, una mejor comparación sería, por ejemplo Windows, lo que nosotros podemos ver y hacer lo hacemos eçcon este sistema operativo llamado Windows, lo mismo con el Game Mode, lo que nosotros podamos hacer e interactuar lo haremos con el mismo, recuerden que no todos los servidores poseen el mismo GM, además este mismo cuenta con comandos básicos que nos ayudarán para poder simular mejor la vida real, los mismos los citaré más abajo.

    1.2 - Canales IC y OOC.

    En los servidores RP, o RolePlay, existen dos tipos de canales, o formas de habla:

    *In Character (IC)
    *Out Of Character (OOC)

    En español In Character (IC) significa (Dentro del Jugador), es decir cuando nosotros estamos hablando de forma IC es porque las palabras escritas las está diciendo tu personaje, el mismo creado en el servidor. Por tanto si alguien nos habla de forma IC la cuál es de forma directa, es decir sin paréntesis, debemos contestarle del mismo modo. Por ejemplo:

    Un buen uso sería:
    Roger Cortex dice: ¡Hola Dulce!, ¿Cómo estás?
    Dulce Espinoza dice: ¡Eh Roger!, todo bien ¿Y tu?

    ¿Por qué sería un buen uso? Sería un buen uso porque Roger le está hablando a Dulce desde su personaje y Maximo le responde a través de su personaje, es decir de forma IC.

    Un mal uso sería:

    Roger Cortex dice: Eeh wacho todo pillo? recien termino de viciar en el halo y estoy jugando samp mientras me tomo un fernet bien petrolero xD
    Dulce Espinoza dice: Sii después de que terminemos de jugar, viciamos Halo, pero un rato porque tengo que ponerme duty así administro un rato, que no lo hice en todo el día.

    ¿Por qué sería mal uso? Sería mal uso porque Roger le está diciendo (:P) ya que no hay palabras que representen a ese símbolo con forma de cara, y le está dando información OOC de forma IC, es decir, lo que realmente está haciendo el personaje es hablar con la persona de enfrente, no está jugando Halo ni está tomando fernet, esa información es de lo que está haciendo en la vida real, no en la vida simulada durante el juego. Y por parte de Dulce, lo que está haciendo en este caso es incorrecto, ya que en la vida real una persona no se puede "poner duty" y administrar a las personas.

    Out Of Character significa en español "Fuera del Jugador", es decir cuando nosotros hablamos de forma OOC es porque las palabras escritas las decimos nosotros desde nuestra persona, no el personaje creado en el servidor. Por tanto si alguien habla de forma OOC la cuál se representa con los paréntesis ((OOC)), debemos responderle de la misma forma, por el canal OOC correspondiente.

    Un buen uso:

    Roger Cortex: ((Hola Dulce , recien termino de arreglar mi compu y entro al SAMP))
    Dulce Espinoza: ((Roger , que bueno, yo voy al baño y al tiro viciamos y hacemos persecusiones con Faryd))

    ¿Por qué sería un buen uso? Sería un buen uso porque Roger le está hablando a Dulce desde su persona y Dulce le contesta de la misma forma, desde su persona, no desde su personaje, es decir de forma OOC.

    Un mal uso sería:

    Roger Cortex dice: Hola, disculpe señor pero necesito su ayuda, no encuentro mi vehículo.
    Jose Cord: ((Si, mire está por aqui sígame))

    ¿Por qué sería un mal uso? Sería un mal uso porque Roger está hablando de forma IC, o sea que lo que está escrito lo está diciendo su personaje, puesto que Jose está hablando desde su persona, no está diciendo nada si personaje, por tanto Roger de forma IC no podría contestarle porque Jose no le dijo nada de forma IC.

    1.2.1 - Canales que se ocupan de forma OOC.

    Esta es una lista con los siguientes canales por los cuales está permitido y es obligatorio hablar de forma OOC (Out Of Character)

    * /b: Este canal se utiliza para hablar de forma OOC cuando los personajes se encuentran relativamente cerca uno de otro.
    * /f: Este canal se utiliza para hablar de forma OOC cuando nuestro objetivo es comunicarnos con los miembros de nuestra facción ó familia.
    * /w: Este canal se utiliza para hablar de forma OOC cuando tenemos alguna duda y queremos que nos la responda un administrador en especual el cual se seleccionará colocando "/w [ID] [Mensaje]". Ese "[ID]" simboliza el ID que el administrador posee, el ID es el número que está contiguo al nombre.
    * /duda: Este canal se utiliza para hablar de forma OOC cuando tenemos una duda y deseamos que la puedan responder cualquier administrador o ayudante del servidor.

    1.2.2 - Canales que se ocupan de forma IC.

    Esta es una lista con los canales por los cuales está permitido y es obligatorio hablar de forma IC (In Character) :

    * /c: (es lo mismo que no colocar el comando): Este canal se utiliza para hablar de forma IC cuandoo los personakes se encuentran relativamente cerca uno del otro.
    * /g: Este canal se utiliza para hablar de forma IC cuando un personaje debe gritar para que otro lo escuche desde cierta distancia.
    * /s: Este canal se utiliza para hablar de forma IC cuando un personaje necesita hablar en voz baja, o susurrar a otro personaje en una distancia corta, para que un grupo alejado o un personaje alejado no pueda escucharlo.
    * /r: Este canal se utiliza para hablar de forma IC cuando un personaje necesita comunicarse con los miemnbros de su facción/familia mediante la radio. De forma tal que van a poder comunicarse estando muy distantes como no.
    * /pr: Este canal se itiliza para hablar de forma IC cuando un personaje necesita comunicarse con otros personajes mediante una radio con una frecuencia que se puede establecer.
    * /m: Este canal se utiliza para hablar de forma IC cuando una persona necesita comunicarse con otra o con otro grupo de personajes desde el interior de un auto.

    1.3 - Comandos básicos que se utilizan para un buen rol.

    Esta siguiente lista anuncia los comandos básicos y fundamentales que se utilizan para poder realizar roles, para recordarle un ro es una serie o suceción de acciones que el personaje realiza para representar lo que está pasando a su alrededor, o mas bien lo que él está realizando o está por realizar.

    /me: sirve para interpretar acciones con nuestro personaje. Es usado en acciones simples que no tienen posibilidad de fallar. Es correcto aclarar que solo se usa para acciones, y no para eventos. Tampoco se usa en cosas muy obvias por ejemplo la animación misma del DTA insica si apuntas con un arma o no, a menos que especifiques a quien o en qué parte de la persona u objeto se está apuntando.
    Ejemplo incorrecto: Dulce Espinoza encuentra una casa.
    Ejemplo correcto: Dulce Espinoza ce una moneda y la agarra.
    Otra aclaración es que este comando solo debe ser utilizado para interpretar acciones que las animaciones del juego no puedan cumplir y además, este canal es IC, por lo tanto, no se permiten poner cosas OO (hacer esto sería MG, que será especificado más abajo). También se aclara que las acciones deben ser realistas (en caso contrario sería PG, especificado más abajo).
    Ejemplo incorrecto: Dulce Espinoza habla con un admin.
    Ejemplo incorrecto: Dulce Espinoza apunta con su arma.
    Ejemplo correcto: Dulce Espinoza apunta al sujeto en la frente.
    Ejemplo incorrecto: Dulce Espinoza abre la puerta de su vehículo.
    Ejemplo correcto: Dulce Espinoza agarra su billetera y saca dinero.
    Para algunos usos, /me no es el comando adecuado, ya que en algunos casos la acción es difícil de realizar, ó tiene alguna traba, y por lo tanto debemos usar el comando /intentar, lo que les explico a continuación.

    /intentar: es un comando utilizado para interpretar acciones que tienen posibilidad de fallar. Este comando tiene dos probabilidades de respuesta, ambas con un 50 % de probabilidad: lograrlo o fallar. En caso de fallar, debemos esperar cierto tiempo para volver a intentar. En caso de lograrlo, podemos realizar lo que hemos escrito. El comando al igual que el /me es IC, por lo tanto no se permite contenido OOC en el mismo, y también deben ser realistas.
    Ejemplo incorrecto: Dulce Espinoza intenta hablar con un admin y lo logra/falla.
    Ejemplo incorrecto: Dulce Espinoza intenta sobrevivir al salto de la cima del Empire State y lo logra/falla.
    Ejemplo incorrecto: Dulce Espinoza intenta romper las sogas con sus manos y lo logra/falla.
    Ejemplo correcto: Dulce Espinoza intenta unir los cables y puentear el vehículo y lo logra/falla.
    Ejemplo correcto: Dulce Espinoza intenta amarrar a la víctima con su soga y lo logra/falla.
    ¿Acaso es posible sobrevivir a un salto de la cima del Empire State? (Sumado a que hacer ese intento sería MG, porque el Empire State no existe en San Andreas) ¿Acaso es posible cortar una soga cuando estamos atados? No lo es, por lo tanto, esos ejemplos son incorrectos.

    /do: es un comando IC usado para describir a alguien o algo, como un objeto, el ambiente, o una persona misma. Es solo usado en descripciones y sonidos, no debe usarse en acciones ni en hablar.
    Ejemplo incorrecto: Me voy a morir, ayudenme ((Dulce Espinoza)).
    Ejemplo incorrecto: Admin ayuda ((Dulce Espinoza)).
    Ejemplo incorrecto: Afarra dinero de su billetera ((Dulce Espinoza)).
    Ejemplo correcto: Sangrando ((Dulce Espinoza)).
    Ejemplo correcto: Prip prip ((Dulce Espinoza)).
    Ejemplo correcto: Auto dañado por el choque ((Dulce Espinoza)).
    Ejemplo correcto: Pfffff (sonido de airbag) ((Dulce Espinoza)).

    2 - Lista de conceptos de rol y sus definiciones.

    En la siguiente lista se anunciarán todos los conceptos de rol que se deben tener en cuenta para una mejor organización:

    PG: Power Gaming. Este concepto hace referencia a las acciones que realiza el personaje que serían totalmente imposibles en la vida real o a acciones que te llevarían directamente a la muerte, por ejemplo, si te vienen a robar 5 personas con AK-47 amenazando con matarte y tu no les das lo que quieren e intentas escapar en la vida real te llenarían de balas, por tanto morirías. P sino el otro ejemplo, nosotros no tenemos la fuerza suficiente como para mover un auto que se encuentre a un costado o con el freno de manos, por tanto sería PG utilizar el comando /me de la siguiente forma: /me usa su fuerza de superman para levantar el auto y lo deja en la luna. ¡PG! ¿Cuándo viste a una persona de la vida real hacerlo? Nunca.

    MG: Meta Gaming. Este concepto hace referencia a la confusión de canales IC con OOC. A pesar de que este concepto sea sencillo de aprender, es difícil la comprensión entre la diferencia de los canales IC con OOC y cuando usar cada uno de forma correcta. Además se considera MG al uso de información obtenida de modo OOC para uso y beneficio IC.

    DM: Death Match. Esto hace referencia a la acción de atacar a un usuario con intenciones de matarlo o más bien, matar a su personaje sin motivo ni rol. Por ejemplo, si voy caminando por la calle, justa pasa una persona, saco mi escopeta y le disparo porque tenía ganas o porque estaba aburrido, eso es DM. También sería el caso de un bate o con las manos. En cambio, si voy por la calle tranquilo y un sujeto me dice por ejemplo un insulto, para poder atacarlo debo rolear enojarme y contestarle para luego poder hacer la acción de atacarlo. Pero cuidado, por ejemplo si esa situación pasa enfrente de LSPD y yo roleo enojarme y sacar un arma enfrente de LSPD, sería PG. Apenas saquemos un cuchillo en LSPD los oficiales estarán listos para neutralizarnos.

    FK: Free Kill. Hace referencia a un DM en masa, es decir matar a una multitud de gente por antojo, sin realizar ningún rol. Por ejemplo veo que hay un grupo de gente en un bar y de onda porque quiero ver que pasa, entro y tiro una granada y mueren todos. Eso más que nada se resumiría en Free Kill.

    SK: Spawn Kill. Este concepto hace referencia a cuando un jugador luego de matar a otro en un rol, va a su punto de spawn para poder seguir matándolo. Por ejemplo, el jugador "x" mata al jugador "y" atrás del hospital, por tanto tiene ganas de seguir matándolo y el jugador "x" entra al hospital con su arma donde el jugador "y" hace su spawn, y le dispara para que muera nuevamente y no pueda realizar ninguna acción.

    PK: Player Kill. Se contempla como la pérdida total de la memoria y la "no vuelta" al rol en el que se encontraba ese PJ (el personaje). Un ejemplo sencillo es, que si formas parte de una pandilla y tiene motivos suficientes o simplemente no te quieren allí, te dicen "vete de aquí, no quiero volver a verte". Eso continúa con el rol de muerte del personaje pero no completa, sino que sólo involucra la pérdida de memoria. Esto se hace para que el usuario no tenga oportunidad de decir dónde se encuentra el lugar de reunión del grupo al que pertenecía, ni los planes que tenían en proceso.
    No solo se hace en casos en los que ya no te quieren en la facción, sino que también puede que los hayas traicionado (en el contexto IC). En fin, los motivos pueden ser varios, pero el fin del PK es la pérdida de memoria del personaje. Siempre se debe recordar que el PK debe ser supervisado pro un administrador, en caso de que un administrador desee hacer un PK debe ser supervisado por otro administrador, ya que si cualquier admin tuviera la posibilidad de supervisar y aprobar sus roles habrían muchos abusos, y esto dejaría en desventaja a muchos usuarios.

    CK: Car Kill. Este concepto hace referencia a cuando un jugador que está dentro de un auto pisa ó atropella a otro jugador dejándolo tirado en el piso, sin ser capaz de levantarse o dejar que haga alguna acción sucesivamente. Por ejemplo, un tipo le pega a mi auto, entonces le apunto y lo atropello y lo dejo debajo del auto sin que pueda hacer nada hasta que muera, o lo atropello y cuando se levanta vuelvo a chocarlo con la misma finalidad, de que muera y no me pueda hacer nada.

    CK2: Character Kill. Entendemos CK" a la muerte total y absoluta del personaje. Esto quiere decir que el transcurso de vida y rol de tu personaje se acaba. Esto puede suceder como consecuencia de dos situaciones:
    1- Mutuo acuerdo. Esto puede suele suceder en una pandilla, en una mafia ó en un trabajo "de riesgo" donde todo el mundo te conoce. Un ejemplo claro: hay un policía corrupto que tiene amplia relación con integrantes de mafias/pandillas, integrantes que tienen conocimiento total de su vida o casi toda su vida, y este hace algo que las mafias/pandillas no encuentran de su agrado, y acción que encuentran como motivo de muerte del policía. Al matarlo se puede producir el CK2 sólo si el policía está de acuerdo. Pero ATENCION que hay que tener un amplio conocimiento de rol, haber roleado mucho con esa persona, y tener muchos motivos IC para matarlo. No se mata a alguien con CK2 de la noche a la mañana, ni en 1 semana. Las dos personas "involucradas" tienen que estar de mutuo acuerdo para efectuar el CK2.
    2- Decisión propia. Puede pasar que alguien ya no quiera jugar en ese servidor, o que ya no quiera cumplir el rol que estaba llevando a cabo. En este caso rolea de una u otra forma su muerte (siempre teniendo en cuenta todos los conceptos de rol).
    El último paso para cualquiera de los dos casos, es el borrado de la cuenta a la que se le hizo el CK2 (ya sea por mutuo acuerdo o por decisión propia). Si fue por mutuo acuerdo el usuario tiene que hacerse una cuenta distinta con un nombre diferente, ya que si se hace una con el mismo nombre de antes podría ser sancionado (sería como resucitar, y eso no sucede OOC).

    TK: Team Kill. Este concepto hace referencia a la acción de atacar un miembro de tu misma facción o familia con intenciones de matarlo sin ningún motivo, en cierta forma se produciría un DM, ya que es la acción de matar a alguien sin rol. En caso de que haya una fundamentación para matar al user como por ejemplo una traición, es denegado el TK y se produciría un PK. Obviamente todo con sus debidos roles.

    RK: Revenge Kill. Este concepto hace referencia a la acción de volver al lugar donde el user que te mató en un rol está y atacarlo por haberte matado en ese rol, eso está mal, ya que cuando te matan para que no se termine la posibilidad de seguir roleando, eres llevado rápidamente al hospital y pueden curarte, pero cuidado! Tuviste una pérdida de memoria y esa parte en donde te atacan y quien lo hace no lo recuerdas. Por ejemplo un sujeto mata a otro, luego de que el muerto spawnea vuelve al lugar donde le mataron y al encontrarse con quien lo mató le hace lo mismo. Eso obviamente no se puede hacer, porque como bien aquí se explica, perdiste una parte de tu memoria.

    HK: Heli Kill. Este concepto hace referencia a la acción de atacar a un usuario con las hélices de los helicópteros para así poder matarlo, como por ejemplo en un tiroteo entre Groove y la policía, el Maverick policial desciende hasta la posición de un miembro de Groove e inclina el jelicóptero de forma tal que con las hélices corten al user.


    BH: Bunny Hoop. Este concepto hace referencia a la acción de saltar mientras se corre para evitar que el personaje se canse de forma tal de llegar a un lugar más rápido. Esto sería PG también, porque en la vida real una persona se cansaría el triple si corre u salta al mismo tiempo.

    BBH: Bike Bunny Hoop. Este concepto hace referencia a la acción de saltar con la bicicleta metros de alto. Esto también sería considerado PG, porque por más habilidad que una persona posea y por más estado físico que tenga, nunca va a ser capaz de saltar con una bicicleta una altura de tres metros o más. O también se lo considera a ir saltando todo el tiempo para ir subiendo a distintos lugares los cuales no se podrían alcanzar saltando normalmente.

    HQ: Head Quarter. Hace referencia a la base, establecimiento, guarida ó casa general, en donde una facción o familia se puede reunir y tiene como punto de encuentro general, allí se encuentra su resoectiva casa, con sus respectivos autos y sus respectivos miembros generalmente.

    IHQ: Invasion de Head Quarter. Como bien se sabe en la vida real a veces hay tiroteos en barrios donde hay pandillas, pero que pasa estos tiroteos se dan entre muchas personas. ¿A qué quiero llegar con esto?, a que IHQ tiene el término que se deriva de HQ, Invasión de Head Quarter, lo que implica que uno o cinco miembros inclusive ataquen la HQ de otra facción/familia. El correcto araque hacia una HQ se realiza con seis o más miembros.

    LA: Lider Abuse. Este concepto es muy importante ya que el mismo lo dice todo. Líder Abuse, es abusar de ser líder o de los comandos de líder, por ejemplo, como soy líder de una damilia, exijo que por Pay Day los usuarios deben pagarme quinientos dólares sino se los saca de la familia/facción.

    LA2: Lag Abuse. Es un concepto poco común pero importante al mismo tiempo. Por ejemplo, al entrar a LSPD y como los objetos tardan en cargar pasar por la puerta antes de que aparezca para poder tener acceso a lugares donde no puedo pasar.

    BA: Bug Abuse. Como bien se dice es abusar de un bug que tenga el servidor. Por ejemplo, si al Admin Scripter se le olvidó colocar el script para que cuando cargues gasolina te quite lo correspondiente y tu sabes eso, pero no se lo dices a nadie para poder cargar sin gastar plata, eso está mal, ya que al primer bug que veas deberías avisarlo a un administrador, para que pueda ser solucionado.

    CA: Command Abuse. Está muy claro el concepto es abusar de un comando para el beneficio propio. Por ejemplo si hay un secuestro que se está roleando y siendo policía o FBI lo quiero encontrar pero no se su posicion uso el comando /encontrar para de esta forma saber donde está y poder arrestarlo, o por ejemplo en una persecución si yo pierdo de vista al sospechoso, no puedo utilizar este comando para saber donde está y poder arrestarlo.

    NA: Noob Abuse. Este concepto es sumamente importante ya que significa el abuso contra un usuario nuevo o New User. Por ejemplo entra al servidor un usuario que no sabe absolutamente nada de rol y le digo que tengo un trabajo para él, y cuando se sube al auto lo llevo a un descampado y le digo que como lo estoy robando tiene que usar el comando /pagar y darme todo su dinero.

    AA: Admin Abuse. Este es otro de los conceptos más importantes del RolePlay. Lo que hace referencia a Admin Abuse, Abuso de Administrador con sus comandos o con uso de S0beit. Al ser administrador para facilitar las cosas y la supervisión son capaces de utilizar s0beit, pero solo mientras están como administrador, en caso que no este como administrados y use comandos para darse vida o armas o usar invulnerabilidad se lo considera AA y debe ser informado inmediatamente, ya que un administrador esta para ayudar a los usuarios del servidor, no para beneficiarse a si mismo o a cualquier usuario para sobrepasar a los demás ni dejarles en desventaja.

    AA2: Animation Abuse. El abuso de una animación es otro concepto que se debe respetar, este concepto consiste en utilizar una animación para realizar una acción en conveniencia. Por ejemplo, fumar mientras corres para que no se canse y puedas llegar a tu destino más fácil.

    BPC: Bad Parking Car. Este es un concepto que debe ser respetado más que nada por las facciones legales como el FBI ó LSPD. Consiste en dejar los autos tirados ó mal aparcados en el medio de la calle o en lugares inadecuados como por ejemplo en la puerta del Ayuntamiento.

    BD: Badly Driving. Este concepto hace referencia a la acción de manejar o conducir de forma incorrecta, chocando con todo sin rolear el choque ó manejando por la vereda o en contramano todo el tiempo. Esto se consideraría PG también, porque se supone que Los Santos es una ciudad en simulación Los Angeles, y esta ciudad tiene millones de habitantes, por lo tanto si manejas por la vereda atropellarías a toda la gente y en contramano no se podría porque chocarías enseguida.

    DB: Drive By. Referencia a la acción de disparar mientras se maneja o conduce, ya sea en una moto o en un auto, una persona no puede disparar todo el tiempo mientras maneja, que podría chocar en cualquier momento o perder el control del auto y poder chocar y morir.

    FLOOD. Se le llama flood a la repetición de líneas con el mismo significado o la misma oración redactada, como también se considera flood a la repetición de usos de comandos, por ejemplo.

    Dulce Espinoza dice: Hola
    Dulce Espinoza dice: Hola
    Dulce Espinoza dice: Hola
    Dulce Espinoza dice: Hola
    Dulce Espinoza dice: Hola

    SPAMM: Se considera spamm a la utilización de IP como información para que usuarios se conecten a otro servidor, esto será penalizado con Ban Permanente Inmediato, ya que es una forma "sucia" de ganar usuarios y no está permitido en cualquier tipo de servidor.

    IOOC: Insultos OOC. Este es un concepto que como todos los anteriores no debe ocurrir, pero este con más razón ya que es la forma de insultar a otro jugador mediante canales OOC por motivos IC u OOC. Eso no está permitido, debemos respetar si queremos ser respetados.

    CJ: Car Jack. Este concepto hace referencia a la acción de robar un vehículo sin ningun tipo de rol. Por ejemplo: voy caminando y veo que hay un sujeto en un semáforo, por lo tanto voy y sin rolear nada abro la puerta y lo tiro del auto y me voy en el auto. MAL! Lo correcto sería rolear sacar un arma y robarle el auto, pero recordando no hacer PG, es decir, no robar un auto frente al FBI por ejmemplo.

    MA: Mod Abuse. Consiste en el abuso de cualquier tipo de mod, por ejemplo hay mods como el cleo que te permiten infinidades de cosas, como el de Parkour. Con este mod no debemos abusar saltando sin lastimarse, es decir, que si saltamos desde un edificio y utilizamos el mod para no lastimarnos, está mal! Eso también seria PG.


    3 - ¿Qué debe hacer un buen líder de facción/familia?

    Para empezar, como bien sabemos y es bien entendido cuando somos líder de una facción o de una familia en el servidor, se da por sentado que el usuario que posee el cargo de líder tiene total conocimiento de los conceptos de rol, y por lo tanto tiene un buen conocimiento de rol.
    Además un buen líder de facción/familia contrata miembros porque sabe decir con certeza que ese miembro sabe lo suficiente para poder rolear, también debe ser un líder activo, que se conecte diario al servidor para que los usuarios puedan interactuar con él, rolear y tengan posibilidad de subir de rango. Lo más importante en un BUENlíder de facción/familia, es que se haga cargo por completo de todos los inconvenientes que se tengan con los miembros que están a su cargo, por ejemplo si el líder está contratando miembros que hacen mucho PG y molestan en los roles, y si hay una queja el que debe poner la cara es ese líder.Otra cosa que debe respetar un buen líder es la obligación de respetar todos los roles y enseñarle a sus miembros cómo rolear los entornos de su facción o aprender a aplicar el correcto uso de los roles de acuerdo a su facción o familia, por ejemplo un policía no debe hablar como gangster y actuar como el mismo, sino que debe actuar como policía teniendo buenas actitudes y respetando a cada peatón que se encuentre cerca.


    3.1 - ¿Qué no debe hacer un buen líder de facción/familia?

    Como líder de una facción o familia se debe saber que teniendo este cargo no se puede realizar el concepto LA de ninguna manera, para los que no recuerden LA es Líder Abuse, abusar de ser líder y abusar de los comandos de líder. Por ejemplo, siendo líder de Gangtown 77th Mud Thugs le pido a todos mis miembros que me paguen 200 dólares por Pay Day, sino se los sacará de la facción/familia. Esto está muy mal porque el poder de líder se utiliza para mejorar el rol y poder fomentar a los usuarios dentro del entorno de la ciudad para un mejor rol no para que se autobeneficie de forma tal que el resto quede en suma desventaja. Otra cosa que no debe hacer un líder es contratar a cualquier usuario con la finalidad de obtener más miembros, ya que de esa forma podría meter a un usuario que carezca de conocimientos de rol y podría dejar muy mal parada a la facción/familia. Otra cosa muy importante que nunca debe hacer un líder es el incumplimiento de los conceptos, como por ejemplo siendo el líder con un miembro decide robar el banco, siendo únicamente dos personas, y exigen su dinero, además de hacer PGporque un banco no se puede robar con solo dos personas, y encima exigir el dinero y hacerlo por ejemplo por 20 millones, de tal forma que sean 10 millones para cada uno es PG igual, porque de un banco no se puede sacar 20 millones de dólares entre 2 personas.


    4 - ¿Qué debe hacer un miembro de facción/familia?

    Un miembro de facción/familia siempre debe sobre todo respetar lo que el líder le indique o le ordene comprobando y certificando que el líder no realice LA (Líder Abuse). Además un buen miembro debe conocer como mínimo algunos conceptos y debe saber cómo aplicar correctamente los comandos de rol dados como el"/do", "/intentar" y "/me" para el uso adecuado y diario de los conceptos, ya que si un miembro no sabe rolear, puede ser un problema a la hora de interactuar. También como un buen miembro debe respetar a todos sus colegas ya sean de mayor o menor rango, nunca discriminar o desvalorizar a otro miembro por ser uno o más rango mayores, como tampoco dejar que otro de mayor rango los esclavice, o que los traten mal de forma OOC. Además como un buen miembro de una facción/familia, el usuario debe estar dispuesto para rolear la mayor parte de tiempo en el que se conecta, y debe generar acciones para las cuales se den situaciones en las que se pueda rolear o interactuar con otros users. Otro tip a respetar por un buen user es el de respetar su rol predefinido, por ejemplo si el líder de la facción/familia dice que el 4º rango es traficante y el 5º asesino, el usuario rango 4 no puede tomar el rol de rango 5.


    4.1 - ¿Qué no debe hacer un miembro de una facción/familia?

    Un usuario de facción/familia está limitado a ciertas cosas, como por ejemplo al rompimiento de los conceptos. Como bien sabe un miembro de facción ó familia nunca debe realizar el concepto TK (Team Kill) ya que es bastante molesto tener a un miembro que no respete las reglas como están establecidas, ademásun miembro de una facción ó familia no debe nunca faltarle el respeto a otro miembro de su misma facción ó familia, ya sea un rango 1 ó el líder, y evitar tener comportamientos agresivos hacia ellos. Además siendo un miembro no se puede corromper con los conceptos básicos como PG, MG, DM. Como también debe respetar todos los roles de entorno a realizar, no debe evadirlos, como por ejemplo si choca no debe evitar el rol de choque, o si está asaltando un banco no debe olvidar los roles de entorno como las acciones que la gente realizaría. Tampoco debe poner excusas "baratas" al haber un inconveniente, como por ejemplo no rolear sacar un arma porque el HKB (HotKey Board - programa utilizado para realizar macros (una serie de acciones que reflejan un rol)) en este caso por más que el HKB no funcione, se deberá realizar el rol a mano por uno mismo.


    5 - Importancia de roles y por qué respetarlos.

    La importancia de lo roles y por qué hay que respetarlos es que gracias a los roles nosotros podemos simular mejor vida real y podemos representarla de mejor manera para que se pueda rolear mejor entre los usuarios y la interacción sea mñas completa y dinámica, de forma tal que durante el rol se puedan conocer los parámetros que se están teniendo en cuenta ya sea con los roles de entorno o con roles interactuando con otros usuarios. En caso contrario, si no existieses estos dichosos roles ninguno sabría porqué se hacen las acciones o de qué forma se están realizando, con qué finalidad o si la acción es capaz o no de realizarla. Dado que eso sería irrealista porque en la vida real las cosas no pasan de la nada, por ejemplo a una persona no le aparece una pistola en la mano porque sí, por eso en el SA:MP se utilizan los comandos /me y /do para rolear sacar un arma del lugar en el que la tengamos.


    5.1 - Rol de entorno.

    Un correcto y debido uso de roles para representar lo que está sucediendo en el ambiente en el que se encuentra el jugador, es mediante roles de entorno. Un rol de entorno es por ejemplo, durante el robo de un banco rolear que la gente grita, que alguien intenta escapar, que las cámaras está filmando todo, etc. Como este hay muchos más roles de entorno también, gracias a estos roles de entorno es más fácil rolear ciertas situaciones y le da mucho más realismo y diversión al servidor. Por ejemplo si un entorno no se rolea en un robo de banco se estaría dando por sentado que los ladrones roban y gritan para que nadie se mueva y se tiren al piso pero no hay nadie en el banco? PG, por esto es que se debe rolear el entorno, pero ademas se debe aplicar un correcto uso, por ejemplo si el entorno es roleado de forma incorrecta, en donde se entra a robar un banco y se rolea el entorno con los guardias que permanecen tranquilos y la gente igual, eso sería PG igual porque nadie en un robo se va a quedar parado tranquilo. Los entornos se realizan con el comando "/do" por ejemplo /do Notas a la gente correr y gritar debido a los disparos


    5.2 - Rol al interactuar con otros users.

    Es muy importante el tema de la interacción con los otros usuarios puesto que en un rol cara a cara con otro user se deben realizar ciertas acciones y el usuario de enfrente debe saber que estoy haciendo o que voy a hacer al respecto de lo que rolee. Pero también hay errores grandes que se pueden tener, por ejemplo en una situación en donde el sujeto se acerca a avisar que se perdió su hermano y te pide ayuda, no debes ignorarlo únicamente, sino que debes rolear ignorarlo, como por ejemplo utilizando el comando "/me" para decir /me ignora al sujeto. O hablarle diciéndole "Disculpe pero no puedo ahora", o cosas por el estilo.


    5.3 - Roles de armas.

    En esta última y sencilla sección lo que procederé a explicar es la importancia que tienen los roles de armas, ya que los usuarios a veces no lo respetan y rompen ciertas reglas y/o dejan en desventaja a otro usuario, como por ejemplo en una situación en la que un usuario está por ser asaltado y saca ante todo un arma sin realizar el rol mientras que el otro usuario roleó ir a buscar su arma, cargarla y apuntar. Aunque ya todos sabemos que los roles de armas los hacemos con el HKB, es muy importante respetarlos, porque a una persona en la vida rea no le aparecen las cosas en la mano y listas para ser usadas, ni mucho menos un arma. Un gran error es el de rolear descolgar el arma de la espalda, ya que previamente a realizar ese rol se debería rolear un entorno con "/do"que diga algo como "/do Notas a [Nombre_Apellido] con un/a [Nombre del arma] colgada en su espalda.


    Bueno, este es el fin de esta guía, y el objetivo es que todos podamos aprender un poco más, de parte suya y de parte mía. Si ven algún error no duden en avisarme así lo corregimos y crecemos entre todos.
     
    Creditos: Dulce Espinoza.
×