| 
	
		|  Autor | Tema: [Consulta] [Android] Programando YUGIOH Efecto de Cartas  (Leído 10,192 veces) |  
	| 
			| 
					
						| s00rk 
								
								 Desconectado 
								Mensajes: 195
								
								   | 
 
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: --リミット·リバース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 
								Mensajes: 22
								
								
								
								
								
								   | 
 
ese es el script de la carta trampa llamada  Limet Reverse 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| s00rk 
								
								 Desconectado 
								Mensajes: 195
								
								   | 
 
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 
								Mensajes: 3.158
								
								 
								I'Love...!¡.
								
								
								
								
								
								     | 
 
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.  cardname	 =  	Black BrutdragoCard Category	 =  	Monster CardsATK	 =  	3000DEF	 =  	2600Level	 =  	8Card Type	 =  	Synchro MonstersCard Number	 =  	96029574Spanish Name	 =  	Atributos	 =  	FIREActions	 =  	Discards for costAnti-Support	 =  	No EntryArchetype Related	 =  	No EntryArchetypes Support	 =  	No EntryAttack	 =  	No EntryCounters	 =  	No EntryEffect type	 =  	Ignition Monster EffectsEffect type	 =  	Trigger Monster EffectsTypes	 =  	DragonTypes	 =  	SynchroTypes	 =  	EffectType	 =  	DragonSynchro Material	 =  	No EntryStats	 =  	No EntryArchetype Related	 =  	No EntryArchetypes	 =  	No EntryArchetypes Support	 = 	No EntryLife Points	 =  	No EntryMonsterSpellTrap	 =  	Destroys Spell CardsMonsterSpellTrap	 =  	Destroys Trap CardsRFP	 =  	No EntrySummoning	 =  	Special Summons from your GraveyardFusion Material	 =  	No EntryDescripcion: 	 =  	1 Tuner + 1 or more non-Tuner [[Gemini  … 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.  
 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 
								Mensajes: 1
								
								
								
								
								
								   | 
 
hola amigo quisiera que me ayudaras en algo porfavor |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| s00rk 
								
								 Desconectado 
								Mensajes: 195
								
								   | 
 
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.  cardname	 =  	Black BrutdragoCard Category	 =  	Monster CardsATK	 =  	3000DEF	 =  	2600Level	 =  	8Card Type	 =  	Synchro MonstersCard Number	 =  	96029574Spanish Name	 =  	Atributos	 =  	FIREActions	 =  	Discards for costAnti-Support	 =  	No EntryArchetype Related	 =  	No EntryArchetypes Support	 =  	No EntryAttack	 =  	No EntryCounters	 =  	No EntryEffect type	 =  	Ignition Monster EffectsEffect type	 =  	Trigger Monster EffectsTypes	 =  	DragonTypes	 =  	SynchroTypes	 =  	EffectType	 =  	DragonSynchro Material	 =  	No EntryStats	 =  	No EntryArchetype Related	 =  	No EntryArchetypes	 =  	No EntryArchetypes Support	 = 	No EntryLife Points	 =  	No EntryMonsterSpellTrap	 =  	Destroys Spell CardsMonsterSpellTrap	 =  	Destroys Trap CardsRFP	 =  	No EntrySummoning	 =  	Special Summons from your GraveyardFusion Material	 =  	No EntryDescripcion: 	 =  	1 Tuner + 1 or more non-Tuner [[Gemini  … 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.  
 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 
								Mensajes: 3.158
								
								 
								I'Love...!¡.
								
								
								
								
								
								     | 
 
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. |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Consulta:tablet pc con SO android, ¿apad2 o irobot? Android
 | Unnamed | 0 | 5,457 |  21 Enero 2011, 17:15 pm por Unnamed
 |  
						|   |   | Android, consulta, procesos Java
 | _FLAKO_ | 0 | 1,938 |  26 Mayo 2012, 07:53 am por _FLAKO_
 |  
						|   |   | programando en android??? Android
 | holamega12 | 4 | 5,046 |  29 Marzo 2013, 05:30 am por Red Mx
 |  
						|   |   | Una consulta sobre una app para Android. Foro Libre
 | chocola | 2 | 2,245 |  22 Diciembre 2013, 17:16 pm por Kami
 |  
						|   |   | Baldosas con efecto de horizonte y distintos colores. Programando. Diseño Gráfico
 | Tachikomaia | 0 | 1,960 |  22 Abril 2025, 06:49 am por Tachikomaia
 |    |