Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ' Gambas class file
- Private PorteroDeEstados As New Caretaker 'undo y redo
- Public Sub _new()
- End
- Public Sub Form_Show()
- 'guardaEstadoDelMarcador: guarda el estado actual....
- guardaEstado()
- Me.Center()
- End
- Public Sub buttonMarcador1_Click()
- Dim nombre As String
- Dim hora As String
- nombre = InputBox("Nombre del jugador:")
- hora = InputBox("Minuto del gol (0-90):")
- ListBoxEquipo1.Add(nombre & " ( " & hora & "' )")
- If RadioButton1.Value = True Then
- LCDLabel1Equipo1.value += 1
- Else
- LCDLabel2Equipo1.value += 1
- Endif
- LCDLabelFinEquipo1.value += 1
- 'guardaEstadoDelMarcador: guarda el estado actual....
- guardaEstado()
- 'borrar lista de rehacer
- PorteroDeEstados.BorrarEstadosRedo()
- End
- Public Sub buttonMarcador2_Click()
- Dim nombre As String
- Dim hora As String
- nombre = InputBox("Nombre del jugador:")
- hora = InputBox("Minuto del gol (0-90):")
- ListBoxEquipo2.Add(nombre & " ( " & hora & "' )")
- If RadioButton1.Value = True Then
- LCDLabel1Equipo2.value += 1
- Else
- LCDLabel2Equipo2.value += 1
- Endif
- LCDLabelFinEquipo2.value += 1
- 'guardaEstadoDelMarcador: guarda el estado actual....
- guardaEstado()
- 'borrar lista de rehacer
- PorteroDeEstados.BorrarEstadosRedo()
- End
- '---------------------------------------------------------------------------------------
- '
- Public Function EstadoActual() As State
- Dim estado As New State
- estado.setjugadores1(ListBoxEquipo1)
- estado.setjugadores2(ListBoxEquipo2)
- estado.setmarcador(LCDLabel1Equipo1.value, LCDLabel2Equipo1.value, LCDLabelFinEquipo1.value, LCDLabel1Equipo2.value, LCDLabel2Equipo2.value, LCDLabelFinEquipo2.value)
- estado.settiempo(RadioButton1.value, RadioButton2.value)
- Return estado
- End
- Public Sub guardaEstado()
- PorteroDeEstados.addMementoUndo(EstadoActual())
- End
- Public Sub UndoEstado()
- Dim s As State
- Dim m As Integer[]
- Dim r As Boolean[]
- s = PorteroDeEstados.getMementoUndo()
- If IsNull(S) Then
- Message.Error("No hay nada que deshacer")
- Return
- Endif
- 'lista de jugadores que marcaron goles...
- s.getjugadores1(ListBoxEquipo1)
- s.getjugadores2(ListBoxEquipo2)
- m = s.getmarcador()
- 'goles
- LCDLabel1Equipo1.Value = m[0]
- LCDLabel2Equipo1.Value = m[1]
- LCDLabelFinEquipo1.Value = m[2]
- LCDLabel1Equipo2.Value = m[3]
- LCDLabel2Equipo2.Value = m[4]
- LCDLabelFinEquipo2.value = m[5]
- 'tiempo (1º o 2º parte)
- r = s.gettiempo()
- RadioButton1.Value = r[0]
- RadioButton2.Value = r[1]
- ToolButtonRehacer.enabled = True
- End
- Public Sub ToolButtonDeshacer_Click()
- UndoEstado() 'undo
- End
- Public Sub ToolButtonRehacer_Click()
- Dim s As State
- Dim m As Integer[]
- Dim r As Boolean[]
- s = PorteroDeEstados.getMementoRedo()
- If IsNull(S) Then
- Message.Error("No hay nada que rehacer")
- Return
- Endif
- 'lista de jugadores que marcaron goles...
- s.getjugadores1(ListBoxEquipo1)
- s.getjugadores2(ListBoxEquipo2)
- m = s.getmarcador()
- 'goles
- LCDLabel1Equipo1.Value = m[0]
- LCDLabel2Equipo1.Value = m[1]
- LCDLabelFinEquipo1.Value = m[2]
- LCDLabel1Equipo2.Value = m[3]
- LCDLabel2Equipo2.Value = m[4]
- LCDLabelFinEquipo2.value = m[5]
- 'tiempo (1º o 2º parte)
- r = s.gettiempo()
- RadioButton1.Value = r[0]
- RadioButton2.Value = r[1]
- End
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement