void runCreateDeck() { GameMenuButtonData.service.ClearPullTabDeck(GameMenuButtonData.gameSystemID, 0); int c = 0; for (int deal = 0; deal < 250; deal++) { SetControlPropertyThreadSafe(lblStatus, "Text", "Creating Deal " + deal.ToString() + " of 250"); List <WEBService.PullTab> tabs = new List <WEBService.PullTab>(); for (int tabID = 0; tabID < 4000; tabID++) { WEBService.PullTab tab = new WEBService.PullTab(); tab.TabID = c++; tab.DealID = deal; tab.TabData = createRandomTab(); tabs.Add(tab); } GameMenuButtonData.service.CreatePullTabs(tabs.ToArray()); } SetControlPropertyThreadSafe(lblStatus, "Text", "Creating Deal 250 of 250\r\nDone!"); }
public static decimal getGameInfo(ref int[,] ReadTabIcons, ref decimal[] FINALlineAmountWonDecimal, ref int[] FINALnumberOfIconsOnLine, ref int FINALfreeTabs) { StateMain.singleton.playBonusWon = 0; StateMain.singleton.playFreeTabsWon = 0; System.Console.WriteLine("----------- Get Info -----------"); decimal totalWin = 0; WEBService.PullTab tab = Bingo.singleton.service.GetPullTab(Bingo.gameSystemID, 0); StateMain.singleton.lblTabNo.Text = tab.DealID.ToString("000") + "-" + tab.TabID.ToString("0000"); for (int i = 0; i < 9; i++) { ReadTabIcons[i % Definitions.reelWidth, i / Definitions.reelWidth] = tab.TabData[i]; } for (int i = 0; i < Definitions.TotalPaylines; i++) // current payline { int repCount = 0; int firstIcon = -1; bool cut = false; for (int j = 0; j < Definitions.reelWidth; j++) //current col { for (int k = 0; k < Definitions.iconsViewRows; k++) //current row { bool payIcon = (Definitions.PAYLINES[(i * 3) + k, j] > 0); int icon = ReadTabIcons[j, k]; if (payIcon) { if (firstIcon == -1) { repCount = 1; firstIcon = icon; } else if (icon == firstIcon && !cut) { repCount++; } else { cut = true; } } } } if (firstIcon >= 0) { decimal amount = Definitions.PAYTABLE[firstIcon, repCount - 1] * (StateMain.singleton.TabPrices[StateMain.singleton.tabPricesIdx] / 10); System.Console.WriteLine("payline: " + i + " Icon=" + firstIcon + " reps=" + repCount + " amt: " + amount.ToString("C")); FINALnumberOfIconsOnLine[i] = repCount; FINALlineAmountWonDecimal[i] = amount; totalWin += amount; } else { System.Console.WriteLine("Icon=X"); } } int[] sym = analyzeTab(ReadTabIcons); int AnySymNo = 0, CherryNo = sym[Definitions.iconIndexMax - 1]; for (int i = 0; i < (Definitions.iconIndexMax - 1); i++) { if (AnySymNo < sym[i]) { AnySymNo = sym[i]; } } //find best bonus... FINALfreeTabs = 0; for (int i = (Definitions.freeTabsPayTable.Length - 1); i >= 0; i--) { if (Definitions.freeTabsPayTable[i].isCherry) { if (CherryNo >= Definitions.freeTabsPayTable[i].repeatitions && FINALfreeTabs < Definitions.freeTabsPayTable[i].FreeTabs) { FINALfreeTabs = Definitions.freeTabsPayTable[i].FreeTabs; } StateMain.singleton.playFreeTabsWon = FINALfreeTabs; } else { if (AnySymNo >= Definitions.freeTabsPayTable[i].repeatitions && StateMain.singleton.playBonusWon == 0) { //FINALfreeTabs = Definitions.freeTabsPayTable[i].FreeTabs; decimal amt = Definitions.freeTabsPayTable[i].FreeTabs * (StateMain.singleton.TabPrices[StateMain.singleton.tabPricesIdx] / 10); totalWin += amt; StateMain.singleton.playBonusWon = amt; } } } StateMain.singleton.totalWon = totalWin; return(totalWin); }