[Ayuda] Array y Label

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
ToXic
Mensajes: 4
Registrado: 26 May 2011, 07:42

[Ayuda] Array y Label

Mensaje por ToXic »

Hola gente, como estan? necesito un poquitito de su sabiduria!!!
La cuestion es asi, hace unos dias con unos compañeros juegue un juego que se llama Cadaver exquisito (en lapiz y papel)
Link Wiki de Cadaver Exquisito
y bueno, se me ocurrio programarlo, aunque lo escencial ya esta echo, quiero modificar algo y no me sale.
El tema es que quiero generar un array con los nombres de los jugadores y en un label poner al jugador que le tocaria... pero no puedo, lei y lei pero no encuentro como hacerlo.

Este es el fuente completo:

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <Array.au3>

#Region ### START Koda GUI section ### Form=m:\cadaver exquisito\form1.kxf
#cs
Principal
#ce
$Form1_1_1 = GUICreate("Form1", 482, 429, 337, 145)
$Group1 = GUICtrlCreateGroup("Opciones", 8, 64, 465, 81)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("Cantidad de Jugadores :", 16, 88, 119, 17)
$Label3 = GUICtrlCreateLabel("Cantidad de Rondas :", 16, 112, 107, 17)
$Input1 = GUICtrlCreateInput("", 136, 80, 49, 24, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
$Input2 = GUICtrlCreateInput("", 136, 104, 49, 24, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
$Button1 = GUICtrlCreateButton("Comenzar", 216, 104, 97, 33)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Button2 = GUICtrlCreateButton("Reiniciar", 344, 104, 97, 33)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Button7 = GUICtrlCreateButton("Elegír nombre de los Jugadores", 240, 80, 169, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Calibri")
GUICtrlSetBkColor(-1, 0xD7E4F2)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Estado", 8, 152, 465, 49)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("Jugador:", 16, 176, 54, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
GUICtrlSetColor(-1, 0xFF0000)
$Label5 = GUICtrlCreateLabel("Ronda:", 296, 176, 45, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
GUICtrlSetColor(-1, 0xFF0000)
$Label10 = GUICtrlCreateLabel("", 72, 176, 204, 20)
$Label11 = GUICtrlCreateLabel("", 344, 176, 44, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("Frase del último Jugador", 8, 208, 465, 65)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Input3 = GUICtrlCreateInput("", 16, 232, 449, 24, BitOR($GUI_SS_DEFAULT_INPUT,$ES_AUTOVSCROLL,$ES_READONLY), $WS_EX_STATICEDGE)
GUICtrlSetFont(-1, 12, 800, 0, "Tahoma")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group4 = GUICtrlCreateGroup("Tus Frases", 8, 280, 465, 121)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Input4 = GUICtrlCreateInput("", 16, 304, 449, 24)
$Input5 = GUICtrlCreateInput("", 16, 336, 449, 24)
$Button3 = GUICtrlCreateButton("Borrar Frases", 99, 368, 129, 25)
$Button4 = GUICtrlCreateButton("Siguiente Jugador", 275, 368, 129, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label6 = GUICtrlCreateLabel("Developed By", 320, 404, 71, 17)
$Label7 = GUICtrlCreateLabel("ToXic ®", 392, 400, 74, 26)
GUICtrlSetFont(-1, 14, 800, 0, "Consolas")
GUICtrlSetColor(-1, 0x00FF00)
$Label1 = GUICtrlCreateLabel("Cadavre Exquis", 8, 8, 465, 55)
GUICtrlSetFont(-1, 42, 800, 0, "Gorestep")
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)

$Form2 = GUICreate("Cadaver Exquisito", 481, 535, 436, 33)
$Edit1 = GUICtrlCreateEdit("", 8, 56, 464, 447, BitOR($ES_LEFT,$ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL,$WS_BORDER))
GUICtrlSetFont(-1, 14, 800, 0, "Times New Roman")
$Label8 = GUICtrlCreateLabel("He aqui vuestra creacion...", 8, 8, 319, 47)
GUICtrlSetFont(-1, 18, 800, 0, "Segoe Print")
GUICtrlSetColor(-1, 0xFF0000)
$Button5 = GUICtrlCreateButton("Copiar al ClipBoard", 16, 504, 161, 25)
$Button6 = GUICtrlCreateButton("Volver a Jugar", 296, 504, 169, 25)

$Form3 = GUICreate("Agregar Jugadores", 323, 104, 472, 280)
$Group5 = GUICtrlCreateGroup("Nombre Jugadores", 8, 8, 305, 57)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Input6 = GUICtrlCreateInput("", 88, 32, 145, 21)
$Label12 = GUICtrlCreateLabel("Jugador", 24, 36, 42, 17)
$Label13 = GUICtrlCreateLabel("0", 72, 37, 10, 17)
$Button8 = GUICtrlCreateButton("Agregar", 248, 32, 59, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button9 = GUICtrlCreateButton("Reiniciar Nombres", 16, 72, 107, 25)
$Button10 = GUICtrlCreateButton("Listo", 232, 72, 75, 25)

#EndRegion ### END Koda GUI section ###

Global $jug=1,$rond=1,$jugador[15],$c=0,$j=0

While 1
$msg = GuiGetMsg()
Select
	Case $msg = $GUI_EVENT_CLOSE
ExitLoop
	Case $msg = $Button1
		if GUICtrlRead($Input1)>1 AND GUICtrlRead($Input1)<10 AND GUICtrlRead($Input2)>0  Then
			GUICtrlSetState($Input1, $GUI_DISABLE)
			GUICtrlSetState($Input2, $GUI_DISABLE)
			GUICtrlSetState($Button1, $GUI_DISABLE)
			GUICtrlSetState($Input4, $GUI_ENABLE)
			GUICtrlSetState($Input5, $GUI_ENABLE)
			GUICtrlSetState($Button3, $GUI_ENABLE)
			GUICtrlSetState($Button4, $GUI_ENABLE)
			GUICtrlSetData($Label10,$jugador[0])
			GUICtrlSetData($Label11,$rond)
			Else
				MsgBox(0,"Error","Elija entre 2 y 10 jugadores  y como mínimo una ronda")
			EndIf
		
	Case $msg = $Button2
		Reiniciar()
		
	Case $msg = $Button3
		GUICtrlSetData($Input4,"")
		GUICtrlSetData($Input5,"")
		
	Case $msg = $Button4
		If(GUICtrlRead($Input4)=="" OR GUICtrlRead($Input5)=="") Then
		MsgBox(0,"ERROR:","Ingrese texto")
		Else
		GUICtrlSetData($Input3,GUICtrlRead($Input5))
		GUICtrlSetData($Edit1,GUICtrlRead($Edit1)&GUICtrlRead($Input4)& @CRLF &GUICtrlRead($Input5)&@CRLF) 
			Sigjug()
		EndIf
	Case $msg = $Button5
		ClipPut(GUICtrlRead($Edit1))
		
	Case $msg = $Button6
		if MsgBox(4,"Confirmacion","¿Esta seguro que quiere reiniciar todo?") == 6 Then
			Reiniciar()
			GUISetState(@SW_HIDE,ControlGetHandle("","",$Form2))
		EndIf
		
		
	Case $msg = $Button7
		If GUICtrlRead($Input1)>1 AND GUICtrlRead($Input1)<10 AND GUICtrlRead($Input2)>0  Then
		GUISetState(@SW_SHOW,ControlGetHandle("","",$Form3))
		Else
			MsgBox(0,"Error","Debe elegir primero la cantidad de jugadores")
		EndIf
		
	Case $msg = $Button8
		if GUICtrlRead($Input6)=="" Then
			MsgBox(0,"Error","Debe ingresar un nombre valido")
		Else
			Agregar()
		EndIf
		
	Case $msg = $Button9
		$jugador=""
		GUICtrlSetData($Input6,"")
		GUICtrlSetState($Input6,$GUI_ENABLE)
		GUICtrlSetState($Button8,$GUI_ENABLE)
		$c=0
	
	Case $msg = $Button10
		GUISetState(@SW_HIDE,ControlGetHandle("","",$Form3))
		
	EndSelect
Wend
Exit

Func Sigjug()
	
	If GUICtrlRead($Input2)==$rond AND $jug==GUICtrlRead($Input1) then
		GUICtrlSetData($Input3,"")
		GUICtrlSetData($Input4,"")
		GUICtrlSetData($Input5,"")
		MsgBox(0,"Juego Terminado", "Aceptar para ver el cadaver")
		WinActivate("Cadaver Exquisito")
		GUISetState(@SW_SHOW,ControlGetHandle("","",$Form2))
		Return
	EndIf
	
	if  GUICtrlRead($Input2)>=$rond AND $jug<=(GUICtrlRead($Input1)) Then
		
		GUICtrlSetData($Input4,"")
		GUICtrlSetData($Input5,"")
		$jug+=1
		if $jug==(GUICtrlRead($Input1))+1 Then
			$rond+=1
			$jug=1
		EndIf
		GUICtrlSetData($Label10,$jugador[$j])
		GUICtrlSetData($Label11,$rond)
		$j+=1
		Return
	EndIf	
EndFunc

Func Reiniciar()
	
	GUICtrlSetData($Input1,"")
	GUICtrlSetData($Input2,"")
	GUICtrlSetData($Input3,"")
	GUICtrlSetData($Input4,"")
	GUICtrlSetData($Input5,"")
	GUICtrlSetData($Edit1,"")
	GUICtrlSetData($Label10,"")
	GUICtrlSetData($Label11,"")
	GUICtrlSetState($Button1, $GUI_ENABLE)
	GUICtrlSetState($Input1, $GUI_ENABLE)
	GUICtrlSetState($Input2, $GUI_ENABLE)

	GUICtrlSetState($Input4, $GUI_DISABLE)
	GUICtrlSetState($Input5, $GUI_DISABLE)
	GUICtrlSetState($Button3, $GUI_DISABLE)
	GUICtrlSetState($Button4, $GUI_DISABLE)
	$jug=1
	$rond=1
	$c=0
	$j=0
	Return
EndFunc

Func Agregar()
	if GUICtrlRead($Input1)>($c+1) Then
	_ArrayInsert($jugador[$c],GUICtrlRead($Input6))
	GUICtrlSetData($Input6,"")
	$c+=1
	Else
		GUICtrlSetState($Input6,$GUI_DISABLE)
		GUICtrlSetState($Button8,$GUI_DISABLE)
	
	EndIf

	Return
EndFunc
Si no quieren verlo todo pq seguro es un quilombo de cosas, les dejo las partes donde debe estar el error:

Código: Seleccionar todo

Func Agregar()
	if GUICtrlRead($Input1)>($c+1) Then
	_ArrayInsert($jugador[$c],GUICtrlRead($Input6))              [color=#FF0000]ACA?[/color]
	GUICtrlSetData($Input6,"")
	$c+=1
	Else
		GUICtrlSetState($Input6,$GUI_DISABLE)
		GUICtrlSetState($Button8,$GUI_DISABLE)
	
	EndIf

	Return
EndFunc

Código: Seleccionar todo

if  GUICtrlRead($Input2)>=$rond AND $jug<=(GUICtrlRead($Input1)) Then
		
		GUICtrlSetData($Input4,"")
		GUICtrlSetData($Input5,"")
		$jug+=1
		if $jug==(GUICtrlRead($Input1))+1 Then
			$rond+=1
			$jug=1
		EndIf
		GUICtrlSetData($Label10,$jugador[$j])           [color=#FF0000]ACA?[/color]
		GUICtrlSetData($Label11,$rond)
		$j+=1
		Return
	EndIf	

Muchas Gracias!
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: [Ayuda] Array y Label

Mensaje por Chefito »

Pon en vez de esto _ArrayInsert($jugador[$c],GUICtrlRead($Input6)) esto otro $jugador[$c]=GUICtrlRead($Input6).

Aun así te va a seguir fallando. Mira los contadores, variables $c y $j. Saca sus resultados por consola. Así averiguarás porqué te puede fallar.

Por lo que he visto por encima hay más fallos. Tu ves probando, y cuando encuentres un fallo que no puedas corregir, dinoslo.

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Responder