public static BingoDealer GetDealer( String range ) { foreach( BingoDealer dealer in dealers ) { if( dealer.RangeName == range ) return dealer; } return null; } public static BingoDealer GetDealer( DataRow dataRowCardsetRange ) { DataTable ranges = dataRowCardsetRange.Table; OpenSkieScheduler3.ScheduleDataSet schedule = ranges.DataSet as OpenSkieScheduler3.ScheduleDataSet; String RangeName = dataRowCardsetRange[CardsetRange.NameColumn] as String; DataRow cardset_row = dataRowCardsetRange.GetParentRow( CardsetRange.CardsetInfoRelationName ); String CardsetName = cardset_row[CardsetInfo.NameColumn] as String; DataRow dealer_row = dataRowCardsetRange.GetParentRow( CardsetRange.DealerRelationName ); if( dealer_row == null ) { MessageBox.Show( "Cardset range [" + RangeName + "] does not have a dealer" ); return null; } String DealerName = dealer_row[Dealer.NameColumn] as String; foreach( BingoDealer dealer in dealers ) {
//static List<int> cardset_deals_from; public static BingoDealer CreateSimpleDealer() { BingoDealer dealer; if( dealers.Count == 0 ) { dealers.Add( dealer = new BingoDealer( "Simple Dealer" ) ); return dealer; } else return dealers[0]; }
public BingoPack CreatePack(BingoDealer dealer, string Name, int cards, int face_size = 25) { BingoPack pack = pack_list.MakePack(Name, cards, face_size); if (!pack.dealers.Contains(dealer)) { pack.dealers.Add(dealer); } //pack._dealer = dealer; return(pack); }
public static BingoDealer CreateUpickDealer( int size ) { BingoDealer dealer; foreach( BingoDealer check_dealer in dealers ) { if( check_dealer.Name == "Upickem Dealer" && check_dealer.upick_size == size ) return check_dealer; } //if( dealers.Contains( ) ) dealers.Add( dealer = new BingoDealer( "Upickem Dealer", size ) ); return dealer; }
public BingoPack CreatePack(BingoDealer dealer, String packtype) { foreach (BingoPack pack in pack_skel) { if (String.Compare(pack.name, packtype, true) == 0) { //BingoData.pi.S BingoPack newpack = new BingoPack(pack); newpack.dealers.Add(dealer); //newpack.start_card = 0; this.Add(newpack); return(newpack); } } BingoPack a_newpack; a_newpack = GetPack(packtype, null); a_newpack.dealers.Add(dealer); pack_skel.Add(a_newpack); return(a_newpack); }
dealer.RangeName == RangeName && dealer.DealerName == DealerName ) return dealer; } //BingoCardset new_cardset = new BingoCardset(); BingoDealer new_dealer = new BingoDealer( dataRowCardsetRange ); dealers.Add( new_dealer ); return new_dealer; } public static BingoDealer GetDealer( CardMaster.CardData cards, int card_skip, int page_skip ) { return null; #if asdfadfs foreach( BingoCardset dealer in dealers ) { if( dealer.card_data == cards ) { foreach( BingoDealer d in dealer ) { if( d.card_skip == card_skip && d.game_skip == page_skip ) return d; } BingoDealer new_dealer; new_dealer = new BingoDealer( dealer, "Internal " + card_skip.ToString() + ":" + page_skip.ToString() ); //new_dealer.prize_level_id = null; new_dealer.card_offset = 0; new_dealer.card_skip = card_skip; new_dealer.game_skip = page_skip; dealer.Add( new_dealer ); return new_dealer; //new_dealer.min_range = } }
static BingoDealers( ) { #if use_legacy_config // 32 packs. ( this should come from an ini option... but I don't know what it is right now. cardset_deals_from = new List<int>(); xperdex.classes.INIFile mini_ini = xperdex.classes.INI.LegacyFile( "mini.ini" ); xperdex.classes.INIFile ftnsys = xperdex.classes.INI.Default;//"c:/ftn3000/working/sams/caller/ftnsys.ini" ); xperdex.classes.INIFile bingo = xperdex.classes.INI.File( xperdex.classes.INI.Default["DATA FILES"]["Cardset INI","c:/ftn3000/working/bingo.ini"] ); //int sets = Convert.ToInt32( bingo["CARDS"]["Max Ranges"] ); int pos_count = ftnsys["SYSTEM"]["POS Count","5"]; int card_game_skip = ftnsys["CARDS"]["Game Step"]; for( int pack = 1; pack <= 32; pack++ ) { cardset_deals_from[pack - 1] = ftnsys["CARDS"]["pack " + pack + " deals from cardset","0"]; //for( int set = 0; set < sets; set++ ) { //String line = bingo["CARDS"]["set" + set]; //String[] parts = line.Split( new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries ); //if( parts[4].Substring( 0, 1 ).ToUpper() == "E" ) { // expect a dealer set for this cardset... int cardset = cardset_deals_from[pack - 1]; if( cardset_deals_from[pack - 1] >= dealers.Count ) { int card_base = ftnsys["cardset " + cardset]["Card Base"]; int card_base_old = mini_ini["CARDS"]["Base"]; if( card_base_old != card_base && ( cardset_deals_from[pack-1] == 0 ) ) { xperdex.classes.Log.log( "Notice, configuration error has happeend between ftnsys cardset 0 and mini.ini base." ); //card_base = card_base_old; } int card_skip = ftnsys["cardset " + cardset]["Card Skip"]; // voted nastiest line this month. String line = bingo["CARDS"]["SET"+ftnsys["cardset "+cardset]["bingo.ini card set"]]; BingoCardset bingo_cardset; if( line != null ) { xperdex.classes.Log.log( "set = " + line ); String[] parts = line.Split( new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries ); xperdex.classes.Log.log( "set = " + line ); bingo_cardset = new BingoCardset( parts[1] ); } else bingo_cardset = new BingoCardset(); bingo_cardset.card_skip = card_skip; bingo_cardset.game_skip = card_game_skip; bingo_cardset.range_base = card_base; bingo_cardset.card_offset = ftnsys["cardset " + cardset]["Eltanin Card Offset (CV2)"]; dealers.Add( bingo_cardset ); for( int pos = 0; pos < pos_count; pos++ ) { String range = ftnsys["cardset " + cardset]["Range on POS " + (pos+1),"1,12000000"]; String[] ranges = range.Split( new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries ); Int32 min = Convert.ToInt32( ranges[0] ); Int32 max = Convert.ToInt32( ranges[1] ); BingoDealer dealer = new BingoDealer(); dealer.min_range = min; dealer.max_range = max; dealer.packs_db_base = card_base_old; dealer.group_wrap_games = false; dealer.cardset = bingo_cardset; bingo_cardset.Add( dealer ); } } } } } #endif /* [Cardset 1] Card Base=200000 bingo.ini card set=1
bool LoadGameInfoFromGrid() { if (!Loaded) { int game_number = 1; //int maxid = 0; OddsRunInfo.GameInfo prior_game = null; GameList = new BingoGameList(); foreach (DataRow row in GamePatternTable.Rows) { bool rate; if (!(rate = row["Rate Game"].Equals(DBNull.Value) ? false : Convert.ToBoolean(row["Rate Game"]))) { continue; } OddsRunInfo.GameInfo game = new OddsRunInfo.GameInfo(); game.patterns = new List <Pattern>(); int pattern_col = GamePatternTable.Columns.IndexOf("Pattern 1"); ori.flags.lastBall = row["Last Ball"].Equals(DBNull.Value) ? false : Convert.ToBoolean(row["Last Ball"]); game.starburst = row["Starburst"].Equals(DBNull.Value) ? false : Convert.ToBoolean(row["Starburst"]); if (game.starburst) { ori.flags.starburst = true; } game.rate = rate; //game.rate = row["Rate Game"].Equals( DBNull.Value ) ? false : Convert.ToBoolean( row["Rate Game"] ); game.ignore_b_balls = row["Ignore Bs"].Equals(DBNull.Value) ? false : Convert.ToBoolean(row["Ignore Bs"]); game.ignore_i_balls = row["Ignore Is"].Equals(DBNull.Value) ? false : Convert.ToBoolean(row["Ignore Is"]); game.ignore_n_balls = row["Ignore Ns"].Equals(DBNull.Value) ? false : Convert.ToBoolean(row["Ignore Ns"]); game.ignore_g_balls = row["Ignore Gs"].Equals(DBNull.Value) ? false : Convert.ToBoolean(row["Ignore Gs"]); game.ignore_o_balls = row["Ignore Os"].Equals(DBNull.Value) ? false : Convert.ToBoolean(row["Ignore Os"]); //if( !game.rate ) // continue; //game.hotball = row["Hotball"].Equals( DBNull.Value ) ? false : Convert.ToBoolean( row["Hotball"] ); game.cashballs = row["# Cash Ball"].Equals(DBNull.Value) ? 0 : Convert.ToInt32(row["# Cash Ball"]); game.progressive = row["Progressive"].Equals(DBNull.Value) ? false : Convert.ToBoolean(row["Progressive"]); //game.double_action = row["Double Action"].Equals( DBNull.Value ) ? false : Convert.ToBoolean( row["Double Action"] ); game.overlapped = row["Overlapped"].Equals(DBNull.Value) ? false : Convert.ToBoolean(row["Overlapped"]); game.extension = row["Extension"].Equals(DBNull.Value) ? false : Convert.ToBoolean(row["Extension"]); game.upick_size = row["Upick Count"].Equals(DBNull.Value) ? 0 : Convert.ToInt32(row["Upick Count"]); game.number_colored = row["Colored Ball Count"].Equals(DBNull.Value) ? 0 : Convert.ToInt32(row["Colored Ball Count"]); // extended games have a prior_game. if (game.extension) { if (prior_game == null) { game.extension = false; } game.prior_game = prior_game; } // if there is a prior game, then check that game to see if it was progressive or overlapped... if it is, then this has a prior. else if (prior_game != null && (prior_game.progressive || prior_game.overlapped)) { game.prior_game = prior_game; game.into = true; // set that we are the inot part of a progressive... } else { game.prior_game = null; } prior_game = game; // game group is 5... // okay pattern is found by name and added offset... good. if (game.cashballs == 1) { ori.flags.hotball = true; } if (game.cashballs == 5) { ori.flags._5cashball = true; } Patterns tmp = new Patterns(schedule); for (int i = 0; i < 1; i++) { object pattern_id = row[pattern_col + i]; if (pattern_id != DBNull.Value) { DataRow[] rows = schedule.patterns.Select("pattern_id='" + pattern_id + "'"); if (rows.Length > 0) { tmp.Add(new Pattern(rows[0], patterns)); } } } if (tmp.Count == 0) { // otherwise we don't need (or want) patterns if (game.upick_size == 0) { // no pattern, and not upick, drop the issue continue; // next game. } game.Name = "Upickem " + game.upick_size; } else { game.Name = tmp[0].Name; if (game.upick_size > 0) { // this is a conflict. } game.SetPatterns(tmp.ToArray()); } game.game_number = game_number; bool found_match = false; // this shouldn't have to be initialized to zero here. // there won't be any in the list // so it will end up being assigned before the // location that the compiler throws a stupid warning game.game_ID = 0; int game_pattern_count = game.patterns.Count; // gamelist as null is okay, and just bails the loop. foreach (OddsRunInfo.GameInfo checkgame in GameList) { int i = 0; if (checkgame.patterns.Count == game_pattern_count) { for ( ; i < game_pattern_count; i++) { if (!checkgame.patterns[i].ID.Equals(game.patterns[i].ID)) { break; } } } if (i == game_pattern_count) { found_match = true; game.game_ID = checkgame.game_ID; game.pattern_list = checkgame.pattern_list; game.stats = checkgame.stats; lock (game.stats) { game.stats.games++; } break; } } if (!found_match) // if it's still zero, didn't find one, so set one. { OddsRunInfo.GameTypeInfo stats = new OddsRunInfo.GameTypeInfo(); ///if( !ori.GameTypeList ) if (ori.GameTypeList == null) { ori.GameTypeList = new List <OddsRunInfo.GameTypeInfo>(); } stats.best_wins = new int[ori.bestwins.Length]; stats.aways = new int[5]; stats.games = 1; // one same game. stats.name = game.Name; stats.lastBalls = new int[90]; if (ori.colored_balls > 0) { stats.colored_ball_hit = new int[ori.colored_balls]; } ori.GameTypeList.Add(stats); game.stats = stats; game.game_ID = ori.GameTypeList.IndexOf(stats); } game.quickshot = ori.flags.quickshot; if ((game.patterns.Count > 0) || (game.upick_size > 0)) { GameList.Add(game); } else { game = null; // just make sure we auto destruct this... } game_number++; } //------------------------------------------------------------- // Check if user has selected a game/pattern //------------------------------------------------------------- if (GameList.Count <= 0) { MessageBox.Show("Please select a Pattern and Game to Rate from the Game Grid before pressing 'Go'", "Missing Pattern"); return(false); } ori.Games = GameList.Count; BingoGameGroup bgg = null; // new BingoGameGroup( Guid.NewGuid() ); BingoDealer dealer; if (ori.dealer != null) { dealer = ori.dealer; } else { dealer = BingoDealers.CreateSimpleDealer(); } foreach (BingoGame game in GameList) { if (bgg == null || !game.into) { bgg = new BingoGameGroup(Guid.NewGuid()); GameList.game_group_list.AddGameGroup(bgg); // add some packs to the game_group if (game.upick_size > 0) { BingoDealer upick_dealer = BingoDealers.CreateUpickDealer(game.upick_size); BingoPack upick_pack = GameList.CreatePack(upick_dealer, "Fictional UPick " + game.upick_size, ori.Cards); upick_pack.face_size = game.upick_size; upick_pack.flags.upickem = true; if (!upick_pack.game_groups.Contains(bgg)) { upick_pack.game_groups.Add(bgg); } bgg.packs.Add(upick_pack); } else { BingoPack pack = GameList.CreatePack(dealer, "Fictional Pack", ori.PackSize); pack.game_groups.Add(bgg); bgg.packs.Add(pack); } } bgg.Add(game); game.game_group = bgg; if (game.pack_card_counts.Count < 1) { game.pack_card_counts.Add(ori.Cards); } } ori.bingo_session = new BingoSession(GameList); ori.bingo_session.session_name = "Odds Run Info"; } return(true); }