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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  tres en raya sencillito en vb
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: tres en raya sencillito en vb  (Leído 20,644 veces)
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: tres en raya sencillito en vb
« Respuesta #10 en: 30 Octubre 2010, 03:53 am »

eso ultimo no acabo de entenderlo,las variables tipo boolean no eran true y false?

como le digo lo que es true y lo que es false?

edit: otra cosa que me acabo de fijar:

con lo de lbound lo que haces es usar el command mas pequeño no?

eso no causaría conflicto con el command1 que es para hacer una nueva partida?

se solucionaría cambiándole el nombre no?

Todo lo que has dicho es correcto.

solo por aclarate FiThen funciona con valores Booleanos con solo poner true como te lo a mostrado Mr. Frogs es suficiente, al iggual que tan solo poner la variable tipo Boolean.

Dulces Lunas!¡.


En línea

The Dark Shadow is my passion.
EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
Re: tres en raya sencillito en vb
« Respuesta #11 en: 30 Octubre 2010, 05:32 am »

asi

Código
  1.  
  2. VariableBoolean = Label1.Caption = Label2.Caption and Label2.Caption = Label3.Caption and Label3.Caption = "X" ' // por lo tanto Label3.Caption deberia ser =? Label1.Caption si fuese Toda la sentencia = true
  3.  
  4.  

o si que si deseas entenderlo mejor...

Código
  1.  
  2. VariableBoolean = cbool(Label1.Caption = Label2.Caption and Label2.Caption = Label3.Caption and Label3.Caption = "X") ' // por lo tanto Label3.Caption deberia ser =? Label1.Caption si fuese Toda la sentencia = true
  3.  
  4.  

El código se ve algo sucio xD
No se si es más fácil así pero igual lo pongo:
Código
  1. VariableBoolean = CBool(Join(Array(Label1, Label2, Label3), "") = "XXX")
En una tontera de ver que resulta si junto muchos objetos en un Array, no resultó nada, pero rescaté esto
 :xD

SaluDOS!!!


En línea

Daklon

Desconectado Desconectado

Mensajes: 57



Ver Perfil
Re: tres en raya sencillito en vb
« Respuesta #12 en: 31 Octubre 2010, 01:57 am »

a ok ya entendi xD

estaba pensando como si fuera una variable tipo string xD

ahora me surgio otra duda xD

a ver he borrado todos los command button menos el primero que era para crear una nueva partida y el commandbutton2 que era el primero de los que decian que casilla se marca, pero ahora no se como hacer para que cuando se aprete el primer commandbutton se ponga una x o un O en el primer label y que cuando se aprete el commandbutton2 pero de index 1 se ponga una X o un O en el segundo label, no se si me explico, que cuando creo una matriz de controles no se como hacer para poner codigos distintos a cada uno
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: tres en raya sencillito en vb
« Respuesta #13 en: 31 Octubre 2010, 02:34 am »

.
@3D1

Join() lo dejo para otras cosas... por algo existe "_"

Código
  1. ' // por lo tanto Label3.Caption deberia ser =? Label1.Caption si fuese Toda la sentencia = true
  2. VariableBoolean = CBool( _
  3.                            Label1.Caption = Label2.Caption _
  4.                        And Label2.Caption = Label3.Caption _
  5.                        And Label3.Caption = "X" _
  6.                        )
  7.  

Dulce Infierno Lunar!¡.
En línea

The Dark Shadow is my passion.
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: tres en raya sencillito en vb
« Respuesta #14 en: 31 Octubre 2010, 02:38 am »

a si cuando agregas una matriz de controles se agrega en los eventos un aprametro llamado index de tipo integer, este sirve para identificar a dicho control...

Código
  1.  
  2. Private Sub Command1_Click(Index As Integer)
  3.    Select Case Index
  4.  
  5.        Case 0
  6.            '   //  Codigo de un boton
  7.        Case 1
  8.            '   //  Codigo de un boton
  9.        Case n..
  10.            '   //  Codigo de un boton
  11.        Case Else
  12.            '   //  De donde carajo salio este Index?
  13.    End Select
  14. End Sub
  15.  
  16.  

Dulce Infierno Luanr!¡.
En línea

The Dark Shadow is my passion.
Daklon

Desconectado Desconectado

Mensajes: 57



Ver Perfil
Re: tres en raya sencillito en vb
« Respuesta #15 en: 31 Octubre 2010, 03:17 am »

ok gracias

a ver si mañana saco tiempo y hago el código recortado con los consejos que me han dado  xD
En línea

EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
Re: tres en raya sencillito en vb
« Respuesta #16 en: 31 Octubre 2010, 04:26 am »

.
@3D1

Join() lo dejo para otras cosas... por algo existe "_"

Código
  1. ' // por lo tanto Label3.Caption deberia ser =? Label1.Caption si fuese Toda la sentencia = true
  2. VariableBoolean = CBool( _
  3.                            Label1.Caption = Label2.Caption _
  4.                        And Label2.Caption = Label3.Caption _
  5.                        And Label3.Caption = "X" _
  6.                        )
  7.  

Dulce Infierno Lunar!¡.


Creo que es Bueno aprovechar todo lo que tenemos a mano., ;)
El código que coloqué no tiene ninguna restricción y/o problema cumple las reglas :P

SaluDOS!!!
En línea

Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: tres en raya sencillito en vb
« Respuesta #17 en: 3 Noviembre 2010, 00:30 am »

Como vas con el proyecto Daklon? yo una vez hice uno pero no tan sencillo pero podrias vicharlo ya q te va a servir, de seguro si lo hago denuevo ahora q he aprendido un poco mas talvez, lo haria mas corto pero bueno en ese tiempo fue lo q me salio xD
En el codigo podras ver como usar los arrays de controles q yo use labels en ves de commands xD q me parece q queda mas lindo.. pero bueno miralo q te servira y cualkier duda con el code pregunta q te puedo ayudar

TaTeTi: http://www.megaupload.com/?d=URXZU187
En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: tres en raya sencillito en vb
« Respuesta #18 en: 3 Noviembre 2010, 18:13 pm »

HOLA!!!
EL FORM:
(una matriz de controles de labels llamado lbl del index 0 al 8)
Ubicados asi:
lbl(0)   lbl(1)   lbl(2)
lbl(3)   lbl(4)   lbl(5)
lbl(6)   lbl(7)   lbl(8)

Mi codigo:
Código
  1. Option Explicit
  2. Dim CT As Integer
  3. Dim X As Integer 'PARA EL BUCLE
  4.  
  5. Private Sub Form_Load()
  6.    Call BORRAR_LBL
  7. End Sub
  8.  
  9. Private Sub lbl_Click(Index As Integer)
  10. Dim SIGNO As Byte
  11. Dim GANO As Boolean
  12.    If lbl(Index).Caption = "X" Or lbl(Index).Caption = "O" Then Exit Sub
  13.    If CT = 9 Then Call BORRAR_LBL
  14.    CT = CT + 1
  15.    If CT Mod 2 = 0 Then SIGNO = 79 Else SIGNO = 88
  16.    lbl(Index).Caption = Chr(SIGNO)
  17.    lbl(Index).ForeColor = vbBlack
  18.    GANO = False
  19.    For X = 1 To 3
  20.        'HORIZONTALES
  21.        If lbl(X * 3 - 1).Caption = lbl(X * 3 - 2).Caption And lbl(X * 3 - 2).Caption = lbl(X * 3 - 3).Caption Then
  22.            GANO = MsgBox("GANADOR " & lbl(X * 3 - 1).Caption)
  23.        'VERTICALES
  24.        ElseIf lbl(-1 + X).Caption = lbl(2 + X).Caption And lbl(2 + X).Caption = lbl(5 + X).Caption Then
  25.            GANO = MsgBox("GANADOR " & lbl(-1 + X).Caption)
  26.        End If
  27.    Next
  28.    'DIAGONALES
  29.    If lbl(0).Caption = lbl(4).Caption And lbl(4).Caption = lbl(8).Caption Then
  30.        GANO = MsgBox("GANADOR " & lbl(0).Caption)
  31.    ElseIf lbl(2).Caption = lbl(4).Caption And lbl(4).Caption = lbl(6).Caption Then
  32.        GANO = MsgBox("GANADOR " & lbl(6).Caption)
  33.    End If
  34.    If GANO = True Then Call BORRAR_LBL
  35. End Sub
  36.  
  37. Private Sub BORRAR_LBL()
  38.    For X = 0 To 8
  39.        lbl(X).Caption = X + 1
  40.        lbl(X).ForeColor = lbl(X).BackColor
  41.    Next
  42.    CT = 0
  43. End Sub
  44.  
  45.  

GRACIAS POR LEER!!!
« Última modificación: 4 Noviembre 2010, 18:09 pm por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: tres en raya sencillito en vb
« Respuesta #19 en: 3 Noviembre 2010, 19:34 pm »

Esta bueno el code pero te diria q uses Option Explicit siempre ya q si lo pusieras ya te daria un error porq no has declarado la variable X cuando la usas por primera vez en el form load, asique la podrias declarar mejor donde declaraste la variable CT.

Despues lo de usar el bucle para sacar si ganaste horizontal o vertical o cruzado nunca lo habia pensado asi xD asique es buena ayuda para Daklon q esta haciendolo
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
juego tres en raya
Java
bengy 2 14,632 Último mensaje 31 Octubre 2011, 08:17 am
por Debci
Juego de Tres en raya C#
.NET (C#, VB.NET, ASP)
AlexPro 4 16,271 Último mensaje 4 Julio 2012, 17:31 pm
por AlexPro
Juego tres en raya
Programación C/C++
carl221 6 3,622 Último mensaje 18 Mayo 2014, 22:21 pm
por MeCraniDOS
tres en raya
Scripting
jalbtercero 1 2,408 Último mensaje 11 Marzo 2016, 23:46 pm
por engel lex
Ayuda con código de Tres en Raya Java en Processing
Java
IO4 3 4,257 Último mensaje 17 Abril 2019, 15:59 pm
por CalgaryCorpus
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines