elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [Consulta] [Android] Programando YUGIOH Efecto de Cartas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Consulta] [Android] Programando YUGIOH Efecto de Cartas  (Leído 9,285 veces)
s00rk

Desconectado Desconectado

Mensajes: 195



Ver Perfil
[Consulta] [Android] Programando YUGIOH Efecto de Cartas
« en: 20 Junio 2012, 03:50 am »

Bueno pues hago este tema ya que estoy estancado en una parte en el codigo que es en los efectos de monstruos y cartas(Esto claro lo entenderan ls que sabn del juego hehe), puesto que lo que hago es obtener los datos de todas las cartas desde http://www.yugiohcardguide.com/card_list.html en donde no tengo ningun problema haciendo simples parse y obtienendos los datos tales como nombre del deck, nombre de la carta, tipo, atributo y demas, el problema viene cuando son cartas de efecto, puesto que por ahora no se me ocurre nada para poderlo hacer automatizado (no quiero andar programandole cada efecto a cada carta -.-, o eso es lo que trato de lograr) y ahi puedo leer el efecto pero imposible poder desde el texto de la carta saber lo que hara hehe, por eso vengo a preguntar o ver si alguno de ustedes tiene alguna idea sobre que seria lo mas factible para hacerlo.

Tambien me he puesto a leer un poco sobre YUGIOH Phoenix, que es un programa para PC para jugar YUGIOH en linea el cual todos los efectos y demas de los monstruos estan contenidos en archivos LUA, el cual si lo conozco mas nunca lo he manejado, ademas de que no entiendo como el programa en sí, los lee o como los maneja, o si alguno conoce ya mejor como hacerlo seria de gran ayuda hehehe, ya que lo que deseo es hacer este juego para Android y que sea Online(Esto es lo de menos, para esto ya tengo la idea de como lo hare, e hice pequeñas pruebas sobre Ataque y demas hehe)

Aqui uno de ellos, bueno esto lo dejo por si puede servir d algo nose:
Código:
--リミット·リバース
function c27551.initial_effect(c)
    --Activate
    local e1=Effect.CreateEffect(c)
    e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
    e1:SetType(EFFECT_TYPE_ACTIVATE)
    e1:SetCode(EVENT_FREE_CHAIN)
    e1:SetHintTiming(0,TIMING_END_PHASE+TIMING_ATTACK)
    e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
    e1:SetTarget(c27551.target)
    e1:SetOperation(c27551.operation)
    c:RegisterEffect(e1)
    --Destroy
    local e2=Effect.CreateEffect(c)
    e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
    e2:SetCode(EVENT_LEAVE_FIELD)
    e2:SetOperation(c27551.desop)
    c:RegisterEffect(e2)
    --Destroy2
    local e3=Effect.CreateEffect(c)
    e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
    e3:SetRange(LOCATION_SZONE)
    e3:SetCode(EVENT_LEAVE_FIELD)
    e3:SetCondition(c27551.descon2)
    e3:SetOperation(c27551.desop2)
    c:RegisterEffect(e3)
    --Destroy3
    local e4=Effect.CreateEffect(c)
    e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
    e4:SetRange(LOCATION_SZONE)
    e4:SetCode(EVENT_CHANGE_POS)
    e4:SetCondition(c27551.descon3)
    e4:SetOperation(c27551.desop3)
    c:RegisterEffect(e4)
end
function c27551.filter(c,e,tp)
    return c:IsAttackBelow(1000) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c27551.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
    if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c27551.filter(chkc,e,tp) end
    if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
        and Duel.IsExistingTarget(c27551.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
    Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
    local g=Duel.SelectTarget(tp,c27551.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
    Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c27551.operation(e,tp,eg,ep,ev,re,r,rp)
    local c=e:GetHandler()
    local tc=Duel.GetFirstTarget()
    if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
        if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP_ATTACK)==0 then return end
        c:SetCardTarget(tc)
    end
end
function c27551.desop(e,tp,eg,ep,ev,re,r,rp)
    local tc=e:GetHandler():GetFirstCardTarget()
    if tc and tc:IsLocation(LOCATION_MZONE) then
        Duel.Destroy(tc,REASON_EFFECT)
    end
end
function c27551.descon2(e,tp,eg,ep,ev,re,r,rp)
    local tc=e:GetHandler():GetFirstCardTarget()
    return tc and eg:IsContains(tc) and tc:IsReason(REASON_DESTROY)
end
function c27551.desop2(e,tp,eg,ep,ev,re,r,rp)
    Duel.Destroy(e:GetHandler(),REASON_EFFECT)
end
function c27551.descon3(e,tp,eg,ep,ev,re,r,rp)
    local tc=e:GetHandler():GetFirstCardTarget()
    return tc and eg:IsContains(tc) and tc:IsDefencePos()
end
function c27551.desop3(e,tp,eg,ep,ev,re,r,rp)
    local c=e:GetHandler()
    local tc=c:GetFirstCardTarget()
    local g=Group.FromCards(tc,c)
    Duel.Destroy(g,REASON_EFFECT)
end

Bueno cualquier sugerencia o duda u opinion pues es bien recibida hehe.

Tambien vi este tema: http://foro.elhacker.net/empty-t319083.0.html el cual me sorprendio bastante y se ve muy bien la verdad hehehe haber como me va o como es que el maneja los efectos ... xP


En línea

rommel89

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: [Consulta] [Android] Programando YUGIOH Efecto de Cartas
« Respuesta #1 en: 30 Junio 2012, 07:17 am »

ese es el script de la carta trampa llamada  Limet Reverse


En línea

s00rk

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: [Consulta] [Android] Programando YUGIOH Efecto de Cartas
« Respuesta #2 en: 30 Junio 2012, 08:57 am »

Si eso lo entiendo hehe, pero lo que queria ver era si podia utilizar tales script para realizar el codigo para android, aunque bueno para ello tendria que entender como el ejecutable de YUGIOH Pro utiliza tales codigos o sus llamadas ya que el nombre de las variables que muestra ahi no me da ni una pista si acaso me doy ideas de que hace cada parte pero aun asi no puedo hacer mucho si no entiendo como lo maneja el ejecutable.

Aun asi hablando con un compañer de aqui del foro que hizo su servidor pero para PC me dijo que el tuvo que hacer cada efecto carta por carta y al parecer eso es lo que tendre que hacer aunque por el momento estoy en otro proyecto asi que terminandolo, retomare este e intentare checar mejor el ejecutable de yugioh pro aver que saco >__<! xD
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [Consulta] [Android] Programando YUGIOH Efecto de Cartas
« Respuesta #3 en: 15 Agosto 2012, 08:09 am »

Si no mal recuerdo el chavo programo cada carta... no tengo idea si actualmente es así...

Aun así yo en lo personal PARSE TODOS los datos de una web wiki en un .ini... (lo automatice no estoy loco para hacerlo manualmente)

por ejemplo:

imagen: Black Brutdrago.jpg
Configuración; Black Brutdrago.jpg.ini

Contenido del .ini.

Código
  1.  
  2. cardname =   Black Brutdrago
  3. Card Category =   Monster Cards
  4. ATK =   3000
  5. DEF =   2600
  6. Level =   8
  7. Card Type =   Synchro Monsters
  8. Card Number =   96029574
  9. Spanish Name =  
  10. Atributos =   FIRE
  11. Actions =   Discards for cost
  12. Anti-Support =   No Entry
  13. Archetype Related =   No Entry
  14. Archetypes Support =   No Entry
  15. Attack =   No Entry
  16. Counters =   No Entry
  17. Effect type =   Ignition Monster Effects
  18. Effect type =   Trigger Monster Effects
  19. Types =   Dragon
  20. Types =   Synchro
  21. Types =   Effect
  22. Type =   Dragon
  23. Synchro Material =   No Entry
  24. Stats =   No Entry
  25. Archetype Related =   No Entry
  26. Archetypes =   No Entry
  27. Archetypes Support = No Entry
  28. Life Points =   No Entry
  29. MonsterSpellTrap =   Destroys Spell Cards
  30. MonsterSpellTrap =   Destroys Trap Cards
  31. RFP =   No Entry
  32. Summoning =   Special Summons from your Graveyard
  33. Fusion Material =   No Entry
  34. Descripcion: =   1 Tuner + 1 or more non-Tuner [[Gemini  &hellip; 1 Tuner + 1 or more non-Tuner Gemini monstersOnce per turn, you can send 1 Gemini monster from your hand to the Graveyard to select and destroy 1 Spell or Trap Card your opponent controls. When this card is destroyed and sent to the Graveyard, you can select 1 Gemini monster in your Graveyard and Special Summon it. The Special Summoned Gemini monster is treated as an Effect Monster, and gains its effect.  Effect Monster, and gains its effect.
  35.  
  36.  

Ahora con solo esos datos solo tendría que programar cada efecto según parámetros...

En esta carta hay dos efectos:

Effect type    =     Ignition Monster Effects
Effect type    =     Trigger Monster Effects

Afectando según a esto:

MonsterSpellTrap    =     Destroys Spell Cards
MonsterSpellTrap    =     Destroys Trap Cards

y aun dice que su acción tiene un costo:

Actions    =     Discards for cost

* PERO CLARO aun así se necesitan mas detalles... puesto que el efecto implica a ciertas cartas que no están especificas...

Dulces Lunas!¡.
En línea

The Dark Shadow is my passion.
neyper

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: [Consulta] [Android] Programando YUGIOH Efecto de Cartas
« Respuesta #4 en: 15 Agosto 2012, 22:11 pm »

hola amigo quisiera que me ayudaras en algo porfavor
En línea

s00rk

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: [Consulta] [Android] Programando YUGIOH Efecto de Cartas
« Respuesta #5 en: 15 Agosto 2012, 22:36 pm »

Si no mal recuerdo el chavo programo cada carta... no tengo idea si actualmente es así...

Aun así yo en lo personal PARSE TODOS los datos de una web wiki en un .ini... (lo automatice no estoy loco para hacerlo manualmente)

por ejemplo:

imagen: Black Brutdrago.jpg
Configuración; Black Brutdrago.jpg.ini

Contenido del .ini.

Código
  1.  
  2. cardname =   Black Brutdrago
  3. Card Category =   Monster Cards
  4. ATK =   3000
  5. DEF =   2600
  6. Level =   8
  7. Card Type =   Synchro Monsters
  8. Card Number =   96029574
  9. Spanish Name =  
  10. Atributos =   FIRE
  11. Actions =   Discards for cost
  12. Anti-Support =   No Entry
  13. Archetype Related =   No Entry
  14. Archetypes Support =   No Entry
  15. Attack =   No Entry
  16. Counters =   No Entry
  17. Effect type =   Ignition Monster Effects
  18. Effect type =   Trigger Monster Effects
  19. Types =   Dragon
  20. Types =   Synchro
  21. Types =   Effect
  22. Type =   Dragon
  23. Synchro Material =   No Entry
  24. Stats =   No Entry
  25. Archetype Related =   No Entry
  26. Archetypes =   No Entry
  27. Archetypes Support = No Entry
  28. Life Points =   No Entry
  29. MonsterSpellTrap =   Destroys Spell Cards
  30. MonsterSpellTrap =   Destroys Trap Cards
  31. RFP =   No Entry
  32. Summoning =   Special Summons from your Graveyard
  33. Fusion Material =   No Entry
  34. Descripcion: =   1 Tuner + 1 or more non-Tuner [[Gemini  &hellip; 1 Tuner + 1 or more non-Tuner Gemini monstersOnce per turn, you can send 1 Gemini monster from your hand to the Graveyard to select and destroy 1 Spell or Trap Card your opponent controls. When this card is destroyed and sent to the Graveyard, you can select 1 Gemini monster in your Graveyard and Special Summon it. The Special Summoned Gemini monster is treated as an Effect Monster, and gains its effect.  Effect Monster, and gains its effect.
  35.  
  36.  

Ahora con solo esos datos solo tendría que programar cada efecto según parámetros...

En esta carta hay dos efectos:

Effect type    =     Ignition Monster Effects
Effect type    =     Trigger Monster Effects

Afectando según a esto:

MonsterSpellTrap    =     Destroys Spell Cards
MonsterSpellTrap    =     Destroys Trap Cards

y aun dice que su acción tiene un costo:

Actions    =     Discards for cost

* PERO CLARO aun así se necesitan mas detalles... puesto que el efecto implica a ciertas cartas que no están especificas...

Dulces Lunas!¡.

Si yo tambien lo saque toda la info posible parseando una wiki de Yugi, lo malo pues era eso sobre los eff de cartas y demas, yo pues queria intentar ver si podia ver como funciona el de Yugioh phoenix que toda la info la trabaja mediantes archivos LUA y el ejecutable solo se encarga de usarlos ya sea los effectos asi como sus valores de atack y def hehe

Pero pues ahi luego seguire lo deje igual como tu dices aunque yo os puse en formato xml :B
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [Consulta] [Android] Programando YUGIOH Efecto de Cartas
« Respuesta #6 en: 17 Agosto 2012, 06:08 am »

Una vez cargados solo hay que aplicar una lógica a llamadas de funciones como ya te mencione... siempre tendremos que meterle mano a los archivos de configuración nos guste o no...

Pero pues ahi luego seguire lo deje igual como tu dices aunque yo os puse en formato xml :B

No importa el formato yo preferí el .ini, bueno ni es de formato ini de hecho solo son lineas que lo puedo programar de una manera tan simple como un .ini... leer linea a linea...

Dulces Lunas¡¡.
En línea

The Dark Shadow is my passion.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Yugioh! Power Of Chaos - JTP Mod 2009! !
Juegos y Consolas
Danielito27 0 4,829 Último mensaje 24 Junio 2009, 01:45 am
por Danielito27
Consulta:tablet pc con SO android, ¿apad2 o irobot?
Android
Unnamed 0 5,063 Último mensaje 21 Enero 2011, 17:15 pm
por Unnamed
Android, consulta, procesos
Java
_FLAKO_ 0 1,678 Último mensaje 26 Mayo 2012, 07:53 am
por _FLAKO_
programando en android???
Android
holamega12 4 4,413 Último mensaje 29 Marzo 2013, 05:30 am
por Red Mx
Una consulta sobre una app para Android.
Foro Libre
chocola 2 1,615 Último mensaje 22 Diciembre 2013, 17:16 pm
por Kami
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines