'
' Erstellt mit SharpDevelop.
' Benutzer: Tobi
' Datum: 05.03.2018
' Zeit: 10:33
' 
' Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > Standardheader ändern.
'
Public Partial Class MainForm
	Dim zufall As New System.Random()
	
	Dim zufallszahl As Integer
	Dim zaehler As Integer
	Dim zahl As Integer
	Dim gesamtanzahl As Integer
	Dim anfangsposition As Integer
	Dim LinkesStreichholz As Integer
	Dim RechtesStreichholz As Integer
	Dim nimmAnzahl As Integer
	Dim rest As Integer
	Dim modRest As Double
	Dim computeranzahl As Integer
	
	Public Sub New()
		' The Me.InitializeComponent call is required for Windows Forms designer support.
		Me.InitializeComponent()
		
		'
		' TODO : Add constructor code after InitializeComponents
		'
	End Sub
	
	
	
	Sub MainFormLoad(sender As Object, e As EventArgs)
		NeuesSpielVorbereiten
		
	End Sub
	
	
	Sub BtNeuesSpielClick(sender As Object, e As EventArgs)
		NeuesSpielVorbereiten
		
		
	End Sub
	
	Sub NeuesSpielVorbereiten()
		lblSpieler.Text = "Spieler"
		lblComputer.Text = "Computer"
		btNimm1.Enabled = False
		btNimm2.Enabled = False
		btNimm3.Enabled = False
		btSpielBeginnZufall.Enabled = True
		btSpielBeginnComputer.Enabled = True
		btSpielBeginnSpieler.Enabled = True
		btSpielBeginnComputer.ForeColor = Color.Black
		btSpielBeginnSpieler.ForeColor = Color.Black
		For zaehler = 1 To 25
			Me.Controls("pb" & zaehler).Visible = False
		Next
		If tfGesamtanzahl.Text.Length = 0 then
			zufallszahl = zufall.Next(15,26)
			gesamtanzahl = zufallszahl
			tfGesamtanzahl.Text = gesamtanzahl
				Else
			gesamtanzahl = tfGesamtanzahl.Text
		End If
		rest = gesamtanzahl
			lblRest.Text = rest
		anfangsposition = 550 - (gesamtanzahl / 2 * 30) - 30
		LinkesStreichholz = 1
		For zaehler = 1 To gesamtanzahl
			Me.Controls("pb" & zaehler).Left = anfangsposition + zaehler * 30
			Me.Controls("pb" & zaehler).Top = 270
			Me.Controls("pb" & zaehler).Visible = True
		Next
		RechtesStreichholz = zaehler - 1
		tfGesamtanzahl.Text = ""
	End Sub
	
	
	
	Sub BtSpielBeginnSpielerClick(sender As Object, e As EventArgs)
		btSpielBeginnZufall.Enabled = False
		btSpielBeginnComputer.Enabled = False
		btSpielBeginnSpieler.ForeColor = Color.Red
		btSpielBeginnSpieler.Font = New Font("Sans Serif", 12,  FontStyle.Bold)
		btNimm1.Enabled = True
		btNimm2.Enabled = True
		btNimm3.Enabled = True
		btNeuesSpiel.Enabled = False
	End Sub
	
	Sub BtSpielBeginnComputerClick(sender As Object, e As EventArgs)
		btSpielBeginnZufall.Enabled = False
		btSpielBeginnSpieler.Enabled = False
		btSpielBeginnComputer.ForeColor = Color.Red		
		btSpielBeginnComputer.Font = New Font("Sans Serif", 12,  FontStyle.Bold)
		Computerstrategie
		btSpielBeginnComputer.Enabled = False
		btNimm1.Enabled = True
		btNimm2.Enabled = True
		btNimm3.Enabled = True
			btNeuesSpiel.Enabled =False
	End Sub
	
	
	
	Sub BtSpielBeginnZufallClick(sender As Object, e As EventArgs)
		zufallszahl = zufall.Next(1,3)
		If zufallszahl = 1 Then
			BtSpielBeginnSpieler.PerformClick
		Else
			BtSpielBeginnComputer.PerformClick
		End If 
		
		
		
	End Sub
	
	Sub BtNimm1Click(sender As Object, e As EventArgs)
		For zaehler = 0 To 160
			Me.Controls("pb" & LinkesStreichholz).Left = Me.Controls("pb" & LinkesStreichholz).Left - 1
			Me.Controls("pb" & LinkesStreichholz).Top = Me.Controls("pb" & LinkesStreichholz).Top + 2
			System.Threading.Thread.Sleep(1)
		Next
		LinkesStreichholz = LinkesStreichholz + 1
		rest = rest - 1
		lblRest.Text = rest
		If rest = 1 Then
			lblSpieler.Text = "Spieler hat gewonnen"
			btNimm1.Enabled = False
		btNimm2.Enabled = False
		btNimm3.Enabled = False
		btNeuesSpiel.Enabled = True
		Else
		Computerstrategie	
		End If
		
	End Sub
	
	Sub BtNimm2Click(sender As Object, e As EventArgs)
		For zaehler = 0 To 160
			Me.Controls("pb" & LinkesStreichholz).Left = Me.Controls("pb" & LinkesStreichholz).Left - 1
			Me.Controls("pb" & LinkesStreichholz + 1).Left = Me.Controls("pb" & LinkesStreichholz + 1).Left - 1
			Me.Controls("pb" & LinkesStreichholz).Top = Me.Controls("pb" & LinkesStreichholz).Top + 2
			Me.Controls("pb" & LinkesStreichholz + 1).Top = Me.Controls("pb" & LinkesStreichholz + 1).Top + 2
			System.Threading.Thread.Sleep(1)
		Next
		LinkesStreichholz = LinkesStreichholz + 2
		rest = rest - 2
		lblRest.Text = rest
		If rest = 1 Then
			lblSpieler.Text = "Spieler hat gewonnen"
			btNimm1.Enabled = False
		btNimm2.Enabled = False
		btNimm3.Enabled = False
		btNeuesSpiel.Enabled = True
		Else
		Computerstrategie	
		End If
	End Sub
	
	Sub BtNimm3Click(sender As Object, e As EventArgs)
		For zaehler = 0 To 160
			Me.Controls("pb" & LinkesStreichholz).Left = Me.Controls("pb" & LinkesStreichholz).Left - 1
			Me.Controls("pb" & LinkesStreichholz + 1).Left = Me.Controls("pb" & LinkesStreichholz + 1).Left - 1
			Me.Controls("pb" & LinkesStreichholz + 2).Left = Me.Controls("pb" & LinkesStreichholz + 2).Left - 1
			Me.Controls("pb" & LinkesStreichholz).Top = Me.Controls("pb" & LinkesStreichholz).Top + 2
			Me.Controls("pb" & LinkesStreichholz + 1).Top = Me.Controls("pb" & LinkesStreichholz + 1).Top + 2
			Me.Controls("pb" & LinkesStreichholz + 2).Top = Me.Controls("pb" & LinkesStreichholz + 2).Top + 2
			System.Threading.Thread.Sleep(1)
		Next
		LinkesStreichholz = LinkesStreichholz + 3
		rest = rest - 3
		lblRest.Text = rest
		If rest = 1 Then
			lblSpieler.Text = "Spieler hat gewonnen"
			btNimm1.Enabled = False
		btNimm2.Enabled = False
		btNimm3.Enabled = False
		btNeuesSpiel.Enabled = True
		Else
		Computerstrategie	
		End If
	End Sub
	
	Sub Computerstrategie
		modRest = rest Mod 4 
		If modRest = 0 Then
			computeranzahl = 3
		End If
		If modRest = 1 Then
			computeranzahl = zufall.Next(1,4)
		End If
		If modRest = 2 Then
			computeranzahl = 1
		End If
		If modRest = 3 Then
			computeranzahl = 2
		End If
		If computeranzahl = 1 Then
			For zaehler = 0 To 160
				Me.Controls("pb" & RechtesStreichholz).Left = Me.Controls("pb" & RechtesStreichholz).Left + 1
				Me.Controls("pb" & RechtesStreichholz).Top = Me.Controls("pb" & RechtesStreichholz).Top + 2
				System.Threading.Thread.Sleep(1)
			Next
			RechtesStreichholz = RechtesStreichholz - 1
			rest = rest - 1
			lblRest.Text = rest
		End If
		If computeranzahl = 2 Then
			For zaehler = 0 To 160
				Me.Controls("pb" & RechtesStreichholz).Left = Me.Controls("pb" & RechtesStreichholz).Left + 1
				Me.Controls("pb" & RechtesStreichholz - 1).Left = Me.Controls("pb" & RechtesStreichholz - 1).Left + 1
				Me.Controls("pb" & RechtesStreichholz).Top = Me.Controls("pb" & RechtesStreichholz).Top + 2
				Me.Controls("pb" & RechtesStreichholz - 1).Top = Me.Controls("pb" & RechtesStreichholz - 1).Top + 2
				System.Threading.Thread.Sleep(1)
			Next
			RechtesStreichholz = RechtesStreichholz - 2
			rest = rest - 2
			lblRest.Text = rest
		End If
		If computeranzahl = 3 Then
			For zaehler = 0 To 160
				Me.Controls("pb" & RechtesStreichholz).Left = Me.Controls("pb" & RechtesStreichholz).Left + 1
				Me.Controls("pb" & RechtesStreichholz - 1).Left = Me.Controls("pb" & RechtesStreichholz - 1).Left + 1
				Me.Controls("pb" & RechtesStreichholz - 2).Left = Me.Controls("pb" & RechtesStreichholz - 2).Left + 1
				Me.Controls("pb" & RechtesStreichholz).Top = Me.Controls("pb" & RechtesStreichholz).Top + 2
				Me.Controls("pb" & RechtesStreichholz - 1).Top = Me.Controls("pb" & RechtesStreichholz - 1).Top + 2
				Me.Controls("pb" & RechtesStreichholz - 2).Top = Me.Controls("pb" & RechtesStreichholz - 2).Top + 2
				System.Threading.Thread.Sleep(1)
			Next
			RechtesStreichholz = RechtesStreichholz - 3
			rest = rest - 3
			lblRest.Text = rest
		End If
		If rest = 1 Then
			lblComputer.Text = "Computer hat gewonnen"
			btNimm1.Enabled = False
		btNimm2.Enabled = False
		btNimm3.Enabled = False
		btNeuesSpiel.Enabled = True
		End If
	End Sub
	
	
	
End Class
