JVLIVS CAESAR MODS FORUM
Estimado usuario invitado: Si se registra/conecta podrá tener la mejor ventaja, postear en el foro, ya que los invitados solo pueden leer.

JVLIVS CAESAR MODS FORUM

Imperium III Mods Forvm. Último Mod - MCI 9.0!
 
ÍndiceÍndice  FAQFAQ  BuscarBuscar  RegistrarseRegistrarse  ConectarseConectarse  

Comparte | 
 

 [TUTORIAL] DECLARAR VARIABLES

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
JnxF
Equipo Administradores
Equipo Administradores
avatar

Cantidad de envíos : 417
Reputación : 32
Fecha de inscripción : 23/08/2010

MensajeTema: [TUTORIAL] DECLARAR VARIABLES   Sáb Ene 08, 2011 3:56 pm

Bueno, pues aquí voy a explicar brevemente como se declaran las variables, y luego profundizaré más para la gente que lleve más tiempo y experiencia en editar en códigos y tal.

VARIABLES ¿QUÉ SON?
Una variable es un dato que guarda el juego. Las variables sólo son útiles en la misma secuencia y/o dentro de corchetes.

EJEMPLO DE USO DE VARIABLES
Código:
Variable A declarada aquí;
Variable B declarada aquí;
...
   {
   Variable C declarada aquí;
   //¿puedo usar A aquí? --> Sí, fue declarada al principio de secuencia, puesto que es util para toda la secuencia.
   //¿puedo usar B aquí? --> Sí, ídem.
   //¿puedo usar C aquí? --> Sí, puesto que hasta que se acabe el corchete, es útil.
   }
...
//¿puedo usar A aquí? --> Sí, como se explicó antes, sí.
//¿puedo usar B aquí? --> Sí, ídem.
//¿puedo usar C aquí? --> No, puesto que el corchete delimitó su uso.

¿CÓMO SE DECLARAN?

En algunos lenguajes de programación (como PHP) con declarar: $Variable = valor; es suficiente. El lenguaje CKS está basado en C (actual C++). En C++, como en CKS es sencillo declararlas, basta con seguir la siguiente norma:

tipo nombre de variable;

  • Tipo: indica qué es la variable. ¿Una unidad?, ¿Unas unidades?, ¿Un héroe?, ¿Un barco?, ¿Un objeto?, ¿Un número?, ¿"Sí" o "no"?, ¿Una(s) palabra(s)?, ¿Una lista de unidades?, étc.
  • Nombre de variable: para gustos, colores: "cuenta, muerto1, Obj1, i, u,..."
  • Tipos de variables:
    • -Valores estáticos: int (número), str (cadena de texto), Bool (sí o no, true or false).
    • -Valores relativos: Unit (unidad), Obj (objeto), Ship (barco), Hero (héroe), ObjList (listado de objetos), Query (objetos)...
    • -Otros tipos (matrices): ObjList (listado de objetos), StrArray (Listado de strings (str)), IntArray (listado de integers (int)).
NOTA: escribió:
Otros tipos (llamados matrices), tienen subdivisiones, mientras que los otros valores tienen 1 valor (aunque consten de más de 1 unidad). Las matrices almacenan la cantidad de datos que queramos. Para llamar a un dato usamos:
Código:

Matriz[valor en base de 0];
El primer elemento es el 0, sigue el 1... hasta el nº de individuos de la matriz.

¿CÓMO SE USAN?

Sencillo. Escribiendo el nombre de la variable, por ejemplo si declaramos int i; al principio y le asignamos un valor después (i = 20;) al usar su letra (pr(i);), nos va a mostrar "20" en la pantalla.
Las variables tambien nos interesan ya que queremos que un dato no lo manipulemos nosotros, si no que nos haga el trabajo el ordenador por ejemplo, en vez de ...

Código:
MiGrupo.GetObjList[0].AsUnit.SetLevel(20);
MiGrupo.GetObjList[1].AsUnit.SetLevel(20);
MiGrupo.GetObjList[2].AsUnit.SetLevel(20);
MiGrupo.GetObjList[3].AsUnit.SetLevel(20);
MiGrupo.GetObjList[4].AsUnit.SetLevel(20);
//Seguimos hasta el nº de unidades del grupo

Usaríamos esto simplemente haciendo un recorrido:
Código:

ObjList listadeunidades;
int micuenta; //esto va a hacer el recorrido
listadeunidades = MiGrupo.ObjList;
for(i=0;i<listadeunidades.count;i+=1)
 {
 //Partiendo de 0 (cero-based) llegamos hasta el nº de unidades del grupo sumando 1 en cada vuelta (+=1)
 listadeunidades[cuenta].AsUnit.SetLevel(20); //va a devolver MiGrupo.GetObjList[0], MiGrupo.GetObjList[1], suma 1 en cada vuelta.
 }


Nada más, espero que les sea útil.
Saludos, Wink

_________________
JnxF. MODERADOR DEL FORO

Estudiante de Informática por la UPC.
Léete las [Tienes que estar registrado y conectado para ver este vínculo] antes de postear.
No dudes en mandarme un MP si tienes cualquier duda personal.
Volver arriba Ir abajo
Jochi
Equipo de Scripts
Equipo de Scripts
avatar

Cantidad de envíos : 118
Edad : 22
Reputación : 20
Fecha de inscripción : 31/08/2011

MensajeTema: Re: [TUTORIAL] DECLARAR VARIABLES   Mar Jul 03, 2012 4:46 pm

Esta muy bien este tutorial,para aprender las cosas basicas esta muy bien,pero haber si me podrias ayudar a entenderlo mas en profundidad y yo poder realizar esto en un mapa con otros ejemplos.

Gracias de antemano
Volver arriba Ir abajo
JnxF
Equipo Administradores
Equipo Administradores
avatar

Cantidad de envíos : 417
Reputación : 32
Fecha de inscripción : 23/08/2010

MensajeTema: Re: [TUTORIAL] DECLARAR VARIABLES   Mar Jul 03, 2012 7:30 pm

Hace ya mucho que no programo y al programar otros lenguajes se han ido "reemplazado" ejemplos y usos, pero de algunos me acuerdo.

Lo más útil de las variables es recorrer o iterar (nombre técnico) un grupo de unidades para que hagan lo que sean.
Por ejemplo:
Código:
int i; //Nombre tipiquísimo para hacer la iteración. I(nteger), int.
ObjList ol; //Otro nombre que se suele usar O(bject) l(ist).

ol = MiGrupo.GetObjectList();

/*
for (                    --> abro para decir que aquí va un for (para recorrer TODOS los elementos de algo)
i = 0,                    --> hago que i valga 'cero'
i < ol.count(),          --> digo al for el número máximo que ha de tener i antes de salir del for
                            la forma más sencilla con un ejemplo. Luego utilizaremos i para numerar
                            a las unidades. Tenemos MiGrupo con 20 unidades. Así que i < 20, porque
                            ol.count(), o lo que es lo mismo, el número de unidades del grupo es 20.
                            Partiendo de esto, tenemos la unidad [0] (la 1ª), la [1] (la 2ª)... así hasta la
                            [19] (la 20ª), porque es I < 20, solo llega hasta 19.
i += 1                  --> Finalmente, digo que cada vez que el for haga una "pasada", se aumentara i en 1.
)
{

//Aquí iría todo el código.



Dada esta explicación, aquí el código final:


int i; //Nombre tipiquísimo para hacer la iteración. I(nteger), int.
ObjList ol; //Otro nombre que se suele usar O(bject) l(ist).

ol = MiGrupo.GetObjectList();

for(i=0; i<ol.count(); i+=1)
    {
    //Hago referencia a ol que tiene todas las unidades.
    ol[i].AsUnit.Damage(100);
    //Hago que la unidad [i] (depende de lo que valga [de 0 a 19]) importante
    //poner el AsUnit se dañe 100.
    }

Bueno y con esto creo que más o menos me he explicado.
Salu2 Wink

_________________
JnxF. MODERADOR DEL FORO

Estudiante de Informática por la UPC.
Léete las [Tienes que estar registrado y conectado para ver este vínculo] antes de postear.
No dudes en mandarme un MP si tienes cualquier duda personal.
Volver arriba Ir abajo
Jochi
Equipo de Scripts
Equipo de Scripts
avatar

Cantidad de envíos : 118
Edad : 22
Reputación : 20
Fecha de inscripción : 31/08/2011

MensajeTema: Re: [TUTORIAL] DECLARAR VARIABLES   Mar Jul 03, 2012 8:13 pm

Una dudilla de tu ejemplo se que es para poner a varias unidades nivel 20,pero lo de cada vuelta no lo entiendo??

Como seria un ejemplo,esta basado en una de las misiones del imperium 2 de las guerras púnicas

Un aliado si no conquistas edificios cuando termina el tiempo se vuelve enemigo,y cada vez que conquistas un fortin te sube el tiempo. ¿Sabes lo que te quiero decir?
Volver arriba Ir abajo
Contenido patrocinado




MensajeTema: Re: [TUTORIAL] DECLARAR VARIABLES   

Volver arriba Ir abajo
 
[TUTORIAL] DECLARAR VARIABLES
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» [Tutorial] Variables Globales y Locales
» [Tutorial] Habilidad de Transformación
» Rayman Gold/Designer Pequeño tutorial sobre qué son los EVE.
» TUTORIAL "Como rellenar la ficha"
» TUTORIAL Para el uso del Chatbox

Permisos de este foro:No puedes responder a temas en este foro.
JVLIVS CAESAR MODS FORUM :: Modding en General :: Modding en General :: Edición de Scripts-
Cambiar a: