Example #1
0
		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 )
			{
Example #2
0
		//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];
		}
Example #3
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);
        }
Example #4
0
		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;
		}
Example #5
0
        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);
        }
Example #6
0
					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 = 
                }
            }
Example #7
0
		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
Example #8
0
        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);
        }