void ServerHundredConversion() { //根據根據伺服器給的資料轉換近百局與開獎記錄 RecentHundredbyte = new byte[RecentHundredUnit.Length]; //初始化陣列 LotteryRecord.RecordData = new List <SicBoRecordData>(); //初始化開獎記錄資料 for (int i = 0; i < RecentHundredbyte.Length; i++) { RecentHundredbyte[i] = 0; //byte = 0 } for (int i = 0; i < HundredData.Count; i++) { if (HundredData[i].Dice1 != 0 && HundredData[i] != null) { if (HundredData[i].Dice1 == HundredData[i].Dice2 && HundredData[i].Dice1 == HundredData[i].Dice3 && HundredData[i].Dice1 == HundredData[i].Dice4) { //四豹 1111 = 111 四枚 圍骰 RecentHundredbyte[HundredData[i].Dice1 + 1]++; //圍骰 1~6 + 1 = 2 ~ 7 RecentHundredbyte[8]++; //任意圍骰 RecentHundredbyte[HundredData[i].Dice1 + 8]++; //四枚 1~6 + 8 = 9 ~ 14 RecentHundredbyte[15]++; //任意四枚 RecentHundredbyte[HundredData[i].Dice1 + 29] += 4; //Number 1~6 + 29 = 30 ~ 35 if (HundredData[i].Dice1 != 1 && HundredData[i].Dice1 != 6) { RecentHundredbyte[12 + HundredData[i].Dice1 * 3]++; //Total 12 + Dice*3 = 18 21 24 27 } //開獎記錄資料 SicBoRecordData tmpData = new SicBoRecordData(); tmpData.RecordDice[0] = HundredData[i].Dice1; //骰子1 tmpData.RecordDice[1] = HundredData[i].Dice2; //骰子2 tmpData.RecordDice[2] = HundredData[i].Dice3; //骰子3 tmpData.RecordDice[3] = HundredData[i].Dice4; //骰子4 tmpData.RecordPoint = 0; //骰子總和 - 四枚不用顯示 tmpData.RecordType = 4; //開獎類型 - 四枚 LotteryRecord.RecordData.Add(tmpData); //將資料加入List } else if (HundredData[i].Dice1 == HundredData[i].Dice2 && HundredData[i].Dice1 == HundredData[i].Dice3 && HundredData[i].Dice1 != HundredData[i].Dice4 && HundredData[i].Dice4 != 0) { //破骰 1112 = 111 & 112 RecentHundredbyte[HundredData[i].Dice1 + 1]++; //圍骰 1~6 + 1 = 2 ~ 7 RecentHundredbyte[8]++; //任意圍骰 RecentHundredbyte[HundredData[i].Dice1 + 29] += 3; //Number 1~6 + 29 = 30 ~ 35 RecentHundredbyte[HundredData[i].Dice4 + 29] += 1; //Number 1~6 + 29 = 30 ~ 35 byte tmpTotal = (byte)(HundredData[i].Dice1 + HundredData[i].Dice2 + HundredData[i].Dice3); if (tmpTotal >= 4 && tmpTotal <= 17) //Total 1 { RecentHundredbyte[12 + tmpTotal]++; } tmpTotal = (byte)(HundredData[i].Dice1 + HundredData[i].Dice2 + HundredData[i].Dice4); if (tmpTotal >= 4 && tmpTotal <= 17) //Total 2 { RecentHundredbyte[12 + tmpTotal]++; } if (tmpTotal >= 4 && tmpTotal <= 10) //小 { RecentHundredbyte[0]++; } else if (tmpTotal >= 11 && tmpTotal <= 17) //大 { RecentHundredbyte[1]++; } //開獎記錄資料 破骰時 先放 111 SicBoRecordData tmpData = new SicBoRecordData(); tmpData.RecordDice[0] = HundredData[i].Dice1; //骰子1 tmpData.RecordDice[1] = HundredData[i].Dice2; //骰子2 tmpData.RecordDice[2] = HundredData[i].Dice3; //骰子3 tmpData.RecordDice[3] = HundredData[i].Dice4; //骰子4 tmpData.RecordPoint = 0; //骰子總和 圍骰不用顯示 tmpData.RecordType = 7; //開獎類型 - 破骰(圍骰) LotteryRecord.RecordData.Add(tmpData); //將資料加入List //再放 112 tmpData = new SicBoRecordData(); tmpData.RecordDice[0] = HundredData[i].Dice1; //骰子1 tmpData.RecordDice[1] = HundredData[i].Dice2; //骰子2 tmpData.RecordDice[2] = HundredData[i].Dice3; //骰子3 tmpData.RecordDice[3] = HundredData[i].Dice4; //骰子4 tmpData.RecordPoint = (byte)(HundredData[i].Dice1 + HundredData[i].Dice2 + HundredData[i].Dice4); //骰子總和 if (tmpData.RecordPoint >= 4 && tmpData.RecordPoint <= 10) { tmpData.RecordType = 5; //開獎類型 - 破骰(小) } else if (tmpData.RecordPoint >= 11 && tmpData.RecordPoint <= 17) { tmpData.RecordType = 6; //開獎類型 - 破骰(大) } LotteryRecord.RecordData.Add(tmpData); //將資料加入List } else if (HundredData[i].Dice1 == HundredData[i].Dice2 && HundredData[i].Dice1 == HundredData[i].Dice3 && HundredData[i].Dice4 == 0) { //普豹 RecentHundredbyte[HundredData[i].Dice1 + 1]++; //圍骰 1~6 + 1 = 2 ~ 7 RecentHundredbyte[8]++; //任意圍骰 RecentHundredbyte[HundredData[i].Dice1 + 29] += 3; //Number 1~6 + 29 = 30 ~ 35 if (HundredData[i].Dice1 != 1 && HundredData[i].Dice1 != 6) { RecentHundredbyte[12 + HundredData[i].Dice1 * 3]++; //Total 12 + Dice*3 = 18 21 24 27 } //開獎記錄資料 SicBoRecordData tmpData = new SicBoRecordData(); tmpData.RecordDice[0] = HundredData[i].Dice1; //骰子1 tmpData.RecordDice[1] = HundredData[i].Dice2; //骰子2 tmpData.RecordDice[2] = HundredData[i].Dice3; //骰子3 tmpData.RecordDice[3] = HundredData[i].Dice4; //骰子4 tmpData.RecordPoint = 0; //骰子總和 圍骰不用顯示 tmpData.RecordType = 3; //開獎類型 - 圍骰 LotteryRecord.RecordData.Add(tmpData); //將資料加入List } else { //其他 RecentHundredbyte[HundredData[i].Dice1 + 29] += 3; //Number 1~6 + 29 = 30 ~ 35 RecentHundredbyte[HundredData[i].Dice2 + 29] += 3; //Number 1~6 + 29 = 30 ~ 35 RecentHundredbyte[HundredData[i].Dice3 + 29] += 3; //Number 1~6 + 29 = 30 ~ 35 byte tmpTotal = (byte)(HundredData[i].Dice1 + HundredData[i].Dice2 + HundredData[i].Dice3); if (tmpTotal >= 4 && tmpTotal <= 17) //Total { RecentHundredbyte[12 + tmpTotal]++; } if (tmpTotal >= 4 && tmpTotal <= 10) //小 { RecentHundredbyte[0]++; } else if (tmpTotal >= 11 && tmpTotal <= 17) //大 { RecentHundredbyte[1]++; } //開獎記錄資料 SicBoRecordData tmpData = new SicBoRecordData(); tmpData.RecordDice[0] = HundredData[i].Dice1; //骰子1 tmpData.RecordDice[1] = HundredData[i].Dice2; //骰子2 tmpData.RecordDice[2] = HundredData[i].Dice3; //骰子3 tmpData.RecordDice[3] = HundredData[i].Dice4; //骰子4 tmpData.RecordPoint = (byte)(HundredData[i].Dice1 + HundredData[i].Dice2 + HundredData[i].Dice3); //骰子總和 if (tmpData.RecordPoint >= 4 && tmpData.RecordPoint <= 10) { tmpData.RecordType = 1; //開獎類型 - 小 } else if (tmpData.RecordPoint >= 11 && tmpData.RecordPoint <= 17) { tmpData.RecordType = 2; //開獎類型 - 大 } LotteryRecord.RecordData.Add(tmpData); //將資料加入List } } } //計算最大頁數 LotteryRecord.InitMaxPage(); }
public void UpdateLotteryRecord(byte dice1, byte dice2, byte dice3, byte dice4) { if (RecordData.Count == 100) //如果資料筆數 = 100 先刪除最後一筆 { RecordData.RemoveAt(99); } else if (RecordData.Count > 100) //如果資料筆數 > 100 { //且最後兩筆 都為破骰 if (RecordData[RecordData.Count - 1].RecordType > 4 && RecordData[RecordData.Count - 2].RecordType > 4) { //刪除最後兩筆 RecordData.RemoveAt(RecordData.Count - 1); RecordData.RemoveAt(RecordData.Count - 2); } else //否則只刪除一筆 { RecordData.RemoveAt(RecordData.Count - 1); } } //加入新資料 SicBoRecordData tmpData = new SicBoRecordData(); if (dice1 == dice2 && dice1 == dice3 && dice1 == dice4) { //四豹 1111 = 111 四枚 圍骰 tmpData.RecordDice[0] = dice1; //骰子1 tmpData.RecordDice[1] = dice2; //骰子2 tmpData.RecordDice[2] = dice3; //骰子3 tmpData.RecordDice[3] = dice4; //骰子4 tmpData.RecordPoint = 0; //骰子總和 - 四枚不用顯示 tmpData.RecordType = 4; //開獎類型 - 四枚 RecordData.Insert(0, tmpData); //加入資料 } else if (dice1 == dice2 && dice1 == dice3 && dice1 != dice4 && dice4 != 0) { //破骰 1112 = 111 & 112 //先放 112 tmpData.RecordDice[0] = dice1; //骰子1 tmpData.RecordDice[1] = dice2; //骰子2 tmpData.RecordDice[2] = dice3; //骰子3 tmpData.RecordDice[3] = dice4; //骰子4 tmpData.RecordPoint = (byte)(dice1 + dice2 + dice4); //骰子總和 if (tmpData.RecordPoint >= 4 && tmpData.RecordPoint <= 10) { tmpData.RecordType = 5; //開獎類型 - 破骰(小) } else if (tmpData.RecordPoint >= 11 && tmpData.RecordPoint <= 17) { tmpData.RecordType = 6; //開獎類型 - 破骰(大) } RecordData.Insert(0, tmpData); //加入資料 //再放 111 tmpData = new SicBoRecordData(); tmpData.RecordDice[0] = dice1; //骰子1 tmpData.RecordDice[1] = dice2; //骰子2 tmpData.RecordDice[2] = dice3; //骰子3 tmpData.RecordDice[3] = dice4; //骰子4 tmpData.RecordPoint = 0; //骰子總和 圍骰不用顯示 tmpData.RecordType = 7; //開獎類型 - 破骰(圍骰) RecordData.Insert(0, tmpData); //加入資料 } else if (dice1 == dice2 && dice1 == dice3 && dice4 == 0) { //普豹 tmpData.RecordDice[0] = dice1; //骰子1 tmpData.RecordDice[1] = dice2; //骰子2 tmpData.RecordDice[2] = dice3; //骰子3 tmpData.RecordDice[3] = dice4; //骰子4 tmpData.RecordPoint = 0; //骰子總和 圍骰不用顯示 tmpData.RecordType = 3; //開獎類型 - 圍骰 RecordData.Insert(0, tmpData); //加入資料 } else { //其他 tmpData.RecordDice[0] = dice1; //骰子1 tmpData.RecordDice[1] = dice2; //骰子2 tmpData.RecordDice[2] = dice3; //骰子3 tmpData.RecordDice[3] = dice4; //骰子4 tmpData.RecordPoint = (byte)(dice1 + dice2 + dice3); //骰子總和 if (tmpData.RecordPoint >= 4 && tmpData.RecordPoint <= 10) { tmpData.RecordType = 1; //開獎類型 - 小 } else if (tmpData.RecordPoint >= 11 && tmpData.RecordPoint <= 17) { tmpData.RecordType = 2; //開獎類型 - 大 } RecordData.Insert(0, tmpData); //加入資料 } //計算最大頁數 MaxPage = (RecordData.Count % 10 == 0) ? (byte)(RecordData.Count / 10) : (byte)(RecordData.Count / 10 + 1); }