public void Go(GameTypeFlag flags) { StartNewReplay(); _indexInBlock += 2; _stream.WriteByte((byte)Node.Go); _stream.WriteByte((byte)flags); Debug.Assert(_indexInBlock == _stream.Length % 1024); }
public void Go(GameTypeFlag flags) { if ((flags & GameTypeFlag.Sanma) != 0) { _current = _sanma; } else { _current = _yonma; } _current.Go(flags); }
public void GameType(GameTypeFlag flags) { _sb.AppendLine($"GameType {flags}"); }
void InitGameHole(GameModeFlag gameMode, GameTypeFlag gameType, bool IsRepeted = false, GameMapFlag Map = GameMapFlag.Blue_Lagoon) { byte WP; byte WD; byte P; int x; int[] H; int[] M; if (Map == GameMapFlag.Unknown) { Map = (GameMapFlag)GameTools.GetMap(); } if (gameType == GameTypeFlag.HOLE_REPEAT && IsRepeted) { for (x = 0; x <= 17; x++) { WP = (byte)rnd.Next(0, 8); WD = (byte)rnd.Next(255); P = (byte)rnd.Next(1, 3); this[x].Hole = (byte)(x + 1); this[x].Weather = (byte)rnd.Next(0, 3); this[x].WindPower = WP; this[x].WindDirection = WD; this[x].Map = Map; this[x].Pos = P; } // leave return; } switch (gameMode) { case GameModeFlag.GAME_MODE_FRONT: for (x = 0; x <= 17; x++) { this[x].Hole = (byte)(x + 1); this[x].Weather = (byte)rnd.Next(0, 3); this[x].WindPower = (byte)rnd.Next(0, 8); this[x].WindDirection = (byte)rnd.Next(255); this[x].Map = Map; this[x].Pos = (byte)rnd.Next(1, 3); } break; case GameModeFlag.GAME_MODE_BACK: for (x = 0; x <= 17; x++) { this[x].Hole = (byte)(18 - x); this[x].Weather = (byte)rnd.Next(0, 3); this[x].WindPower = (byte)rnd.Next(0, 8); this[x].WindDirection = (byte)rnd.Next(255); this[x].Pos = (byte)rnd.Next(1, 3); } break; case GameModeFlag.GAME_MODE_SHUFFLE: case GameModeFlag.GAME_MODE_RANDOM: H = GameTools.RandomHole(); for (x = 0; x <= 17; x++) { this[x].Hole = (byte)H[x]; this[x].Weather = (byte)rnd.Next(0, 3); this[x].WindPower = (byte)rnd.Next(0, 8); this[x].WindDirection = (byte)rnd.Next(255); this[x].Map = Map; this[x].Pos = (byte)rnd.Next(1, 3); } break; case GameModeFlag.GAME_MODE_SSC: H = GameTools.RandomHole(); M = GameTools.RandomMap(); for (x = 0; x <= 17; x++) { this[x].Hole = (byte)H[x]; this[x].Weather = (byte)rnd.Next(0, 3); this[x].WindPower = (byte)rnd.Next(0, 8); this[x].WindDirection = (byte)rnd.Next(255); this[x].Map = (GameMapFlag)M[x]; this[x].Pos = (byte)rnd.Next(1, 3); } this.Last().Hole = (byte)(rnd.Next(0, 2) + 1); this.Last().Map = GameMapFlag.Special_Flag; break; default: for (x = 0; x <= 17; x++) { this[x].Hole = (byte)(x + 1); this[x].Weather = (byte)rnd.Next(0, 3); this[x].WindPower = (byte)rnd.Next(0, 8); this[x].WindDirection = (byte)rnd.Next(255); this[x].Map = Map; this[x].Pos = (byte)rnd.Next(1, 3); } break; } }
public void Init(GameModeFlag Mode, GameTypeFlag Type, bool Repeted, GameMapFlag Map, byte holeCount) { m_holeCount = holeCount; InitGameHole(Mode, Type, Repeted, Map); }
public static byte GetEXP(GameTypeFlag GameType, byte Map, byte Rank, byte SumPlayer, byte SumHole) { byte[] exp_3h; byte[] exp_6h; byte[] exp_9h; byte[] exp_18h; switch (GameType) { case GameTypeFlag.VERSUS_STROKE: // Default exp_3h = new byte[] { 0, 0, 0, 0 }; exp_6h = new byte[] { 0, 0, 0, 0 }; exp_9h = new byte[] { 0, 0, 0, 0 }; exp_18h = new byte[] { 0, 0, 0, 0 }; switch (GetDifficulty(Map)) { case 1: // Declare Versus Mode Exp Table switch (SumPlayer) { case 2: exp_3h = new byte[] { 7, 6, 0, 0 }; exp_6h = new byte[] { 14, 10, 0, 0 }; exp_9h = new byte[] { 20, 15, 0, 0 }; exp_18h = new byte[] { 40, 29, 0, 0 }; break; case 3: exp_3h = new byte[] { 9, 8, 7, 0 }; exp_6h = new byte[] { 17, 15, 13, 0 }; exp_9h = new byte[] { 25, 22, 18, 0 }; exp_18h = new byte[] { 50, 43, 36, 0 }; break; case 4: exp_3h = new byte[] { 11, 10, 9, 8 }; exp_6h = new byte[] { 21, 19, 17, 15 }; exp_9h = new byte[] { 31, 29, 25, 22 }; exp_18h = new byte[] { 62, 56, 49, 42 }; break; } break; case 2: switch (SumPlayer) { case 2: exp_3h = new byte[] { 8, 6, 0, 0 }; exp_6h = new byte[] { 14, 11, 0, 0 }; exp_9h = new byte[] { 21, 16, 0, 0 }; exp_18h = new byte[] { 41, 30, 0, 0 }; break; case 3: exp_3h = new byte[] { 9, 8, 7, 0 }; exp_6h = new byte[] { 18, 16, 13, 0 }; exp_9h = new byte[] { 26, 23, 19, 0 }; exp_18h = new byte[] { 52, 45, 38, 0 }; break; case 4: exp_3h = new byte[] { 12, 11, 9, 8 }; exp_6h = new byte[] { 22, 20, 18, 16 }; exp_9h = new byte[] { 33, 30, 26, 23 }; exp_18h = new byte[] { 65, 59, 52, 45 }; break; } break; case 3: switch (SumPlayer) { case 2: exp_3h = new byte[] { 8, 6, 0, 0 }; exp_6h = new byte[] { 15, 11, 0, 0 }; exp_9h = new byte[] { 22, 16, 0, 0 }; exp_18h = new byte[] { 43, 32, 0, 0 }; break; case 3: exp_3h = new byte[] { 10, 9, 7, 0 }; exp_6h = new byte[] { 19, 16, 14, 0 }; exp_9h = new byte[] { 27, 24, 20, 0 }; exp_18h = new byte[] { 54, 47, 40, 0 }; break; case 4: exp_3h = new byte[] { 12, 11, 10, 9 }; exp_6h = new byte[] { 23, 21, 19, 16 }; exp_9h = new byte[] { 34, 31, 28, 24 }; exp_18h = new byte[] { 67, 62, 55, 47 }; break; } break; case 4: switch (SumPlayer) { case 2: exp_3h = new byte[] { 8, 7, 0, 0 }; exp_6h = new byte[] { 16, 12, 0, 0 }; exp_9h = new byte[] { 23, 18, 0, 0 }; exp_18h = new byte[] { 45, 35, 0, 0 }; break; case 3: exp_3h = new byte[] { 11, 9, 8, 0 }; exp_6h = new byte[] { 20, 18, 15, 0 }; exp_9h = new byte[] { 30, 26, 22, 0 }; exp_18h = new byte[] { 58, 51, 44, 0 }; break; case 4: exp_3h = new byte[] { 13, 12, 11, 10 }; exp_6h = new byte[] { 25, 23, 21, 18 }; exp_9h = new byte[] { 37, 34, 30, 27 }; exp_18h = new byte[] { 72, 67, 60, 53 }; break; } break; case 5: switch (SumPlayer) { case 2: exp_3h = new byte[] { 9, 7, 0, 0 }; exp_6h = new byte[] { 17, 14, 0, 0 }; exp_9h = new byte[] { 25, 20, 0, 0 }; exp_18h = new byte[] { 49, 39, 0, 0 }; break; case 3: exp_3h = new byte[] { 12, 10, 9, 0 }; exp_6h = new byte[] { 22, 20, 17, 0 }; exp_9h = new byte[] { 33, 29, 25, 0 }; exp_18h = new byte[] { 64, 57, 50, 0 }; break; case 4: exp_3h = new byte[] { 14, 13, 12, 11 }; exp_6h = new byte[] { 27, 26, 23, 21 }; exp_9h = new byte[] { 41, 38, 34, 31 }; exp_18h = new byte[] { 80, 75, 68, 61 }; break; } break; } switch (SumHole) { case 3: { return(exp_3h[Rank - 1]); } case 6: { return(exp_6h[Rank - 1]); } case 9: { return(exp_9h[Rank - 1]); } case 18: { return(exp_18h[Rank - 1]); } default: { return(0); } } case GameTypeFlag.VERSUS_MATCH: break; case GameTypeFlag.CHAT_ROOM: break; case GameTypeFlag.TOURNEY: break; case GameTypeFlag.TOURNEY_TEAM: break; case GameTypeFlag.TOURNEY_GUILD: break; case GameTypeFlag.PANG_BATTLE: break; case GameTypeFlag.CHIP_IN_PRACTICE: break; case GameTypeFlag.SSC: break; case GameTypeFlag.HOLE_REPEAT: { if (SumHole > 18) { return(0); } return(SumHole); } case GameTypeFlag.GRANDPRIX: break; } return(0); }