Leagues
From WikiManual
Code/Debugging/Fixes/Changes for Leagues
see also: DeBugging and Bug_Reports
this is a Work In Progress
- Holy crap!!!
- League code is all over the place!
- Will just keep stashing it here as i find it.
General Declarations Public Type datispecie Skin(13) As Integer path As String Name As String Stnrg As Integer Veg As Boolean Fixed As Boolean color As Long Colind As Integer Postp As Single Poslf As Single Posdn As Single Posrg As Single qty As Integer Comment As String Leaguefilecomment As String Mutables As mutationprobs CantSee As Boolean ' Flag indicating eyes should be turned off for this species DisableDNA As Boolean ' Flag indicating DNA should not execute for this species DisableMovementSysvars As Boolean ' Flag indicating movement sysvars should be disabled for this species CantReproduce As Boolean ' Flag indicating whether reproduction has been disabled for this species. End Type
General Declarations 'For League mode: (runs a series of F1 contests, 1 on 1) Public LeagueMode As Boolean Public Leaguename As String Public Leaguererun As Boolean Public LeagueEntrants(30) As datispecie 'all those already in the league Public numLeagueEntrants As Integer Public LeagueChallengers(31) As datispecie 'all those challenging (31 instead of 30 for some loop functions) Public Defender As Integer 'couple used to determine which bots are facing which in League mode Public Attacker As Integer Private eye11 As Integer 'for eye fudging. Search 'fudge' to see what I mean
General Startsim If LeagueMode Then LeagueForm.Show SimOpts.TotRunCycle = -1 End If
General StartSimul 'Restart 'Leaguemode handles restarts differently so only restart here if not in leaguemode If totnvegs = 0 And RestartMode And Not LeagueMode Then ' totnvegs = 1 ' Contests = Contests + 1 ReStarts = ReStarts + 1 ' Form1.StartSimul StartAnotherRound = True End If End Sub
General FindSpecies If TotSpecies = 1 Then ' If Not LeagueMode Then ContestMode = False MDIForm1.F1Piccy.Visible = False Contest_Form.Visible = False t = MsgBox("You have only selected one species for combat. Formula 1 mode disabled", vbOKOnly) Exit Sub ' End If End If
MDIForm1 (Code) Private Sub Leagues_Click() optionsform.SSTab1.Tab = 4 NetEvent.Timer1.Enabled = False NetEvent.Hide optionsform.Show vbModal End Sub
RerunCheck Private Sub RerunCheck_Click() Leaguererun = CBool(RerunCheck.value) End Sub
LeagueCheck Private Sub LeagueCheck_Click() If LeagueCheck.value = 1 Then If F1Check.value <> 1 Then F1Check.value = 1 F1check_Click End If LeagueMode = True TmpOpts.League = True If Leaguetype(0).value = False Then Leaguetype(0).value = True End If Else TmpOpts.League = False LeagueMode = False 'Leaguetype(0).value = False End If End Sub Private Sub LeagueAutoCheck() If LeagueCheck.value <> 1 Then LeagueCheck.value = 1 LeagueCheck_Click End If End Sub Private Sub LeagueF1Option_Click() Leaguename.text = "F1" LeagueAutoCheck End Sub Private Sub LeagueF2Option_Click() Leaguename.text = "F2" LeagueAutoCheck End Sub Private Sub LeageSBOption_Click() Leaguename.text = "Shortbot" LeagueAutoCheck End Sub Private Sub LeagueMBOption_Click() Leaguename.text = "Multibot" LeagueAutoCheck End Sub Private Sub Leaguetype_Click(Index As Integer) 'If Leaguetype(Index).value = False Then '' Leaguetype(Index).value = True 'End If End Sub Private Sub LightText_lostfocus() Dim a As Single a = val(LightText.text) If a < LightUpDn.Min Then a = LightUpDn.Min If a > LightUpDn.Max Then a = LightUpDn.Max LightUpDn.value = a TmpOpts.LightIntensity = a End Sub
StartNew If LeagueMode = True Then LeagueForm.Visible = True ' EricL 3/20/2006 Have to bring up league form after Options dialog goes away 'Form1.Active = True 'this just tricks the program into thinking we have enough 'species for F1 mode. 'If TmpOpts.League = True And TmpOpts.SpeciesNum = 2 Then ' additem TmpOpts.Specie(1).Name ' TmpOpts.SpeciesNum = TmpOpts.SpeciesNum + 1 'End If SimOpts = TmpOpts If SimOpts.League = True Then LeagueMode = True 'should be anyway, but sometimes when 'restarting a league it screws up LeagueInputChallengers SetupLeague_Options ' SimOpts.F1 = True LeagueForm.F1ChallengeOption_Click End If If Form1.Active Then Form1.SecTimer.Enabled = True StartAnotherRound = True ' Set true for first simulation. Will get set true if running leagues or using auto-restart mode While StartAnotherRound StartAnotherRound = False Form1.StartSimul Wend End Sub