Beispiel #1
0
    //reaction to receiving delivery
    public void GetDelivery()
    {
        if (MainPlayer.instance.MyCovertIntention == CovertIntention.Deliver && GameManager.instance.MyGameState == Game_State.SelectWhom)
        {
            Briefcase      brf       = MainPlayer.instance.MyBriefCaseSelect;
            Briefcase_Type brf_color = brf.myBriefCaseType;
            MainPlayer.instance.DeliverWhom = this;
            transform.FindChild("brf_inPossession").gameObject.SetActive(true);
            switch (brf_color)
            {
            case Briefcase_Type.GREY:
                transform.FindChild("brf_inPossession").gameObject.GetComponent <Image>().color = Color.grey;
                break;

            case Briefcase_Type.YELLOW:
                transform.FindChild("brf_inPossession").gameObject.GetComponent <Image>().color = Color.yellow;
                break;

            case Briefcase_Type.RED:
                transform.FindChild("brf_inPossession").gameObject.GetComponent <Image>().color = Color.red;
                break;

            default:
                break;
            }
            TurnOffMyReticle();
        }
    }
        public void RandomizeBriefcaseValues__ShouldNotHaveRepeatingValues()
        {
            Game             game = new Game();
            BriefcaseService briefcaseProcessor = new BriefcaseService(game);
            List <Briefcase> briefcases         = briefcaseProcessor.RandomizeBriefcaseValues();

            Briefcase firstBriefcase     = briefcases.First();
            double    amount             = firstBriefcase.Amount;
            bool      isAmountDuplicated = CheckAmountForDuplicates(briefcases, firstBriefcase);

            Assert.False(isAmountDuplicated);
        }
Beispiel #3
0
        /// <summary>
        /// 刷新指纹信息
        /// </summary>
        /// <param name="kkno">开课编号</param>
        /// <param name="ClassBriefcase">该节课的Briefcase</param>
        public void RefreshStudentInformation(long kkno, Briefcase ClassBriefcase)
        {
            IQueryable <XKTABLE_VIEWRO> xktableView1s =
                from c in
                remoteDataAdapter.GetTable <XKTABLE_VIEWRO>()
                where c.KKNO == kkno
                select c;

            ClassBriefcase.AddTable(
                OfflineHelper.TableListToDataTable(
                    xktableView1s.ToList(), "XKTABLE_VIEW1")); // 获取指纹信息并添加到Birefcase

            ClassBriefcase.WriteBriefcase();                   //保存更改
        }
Beispiel #4
0
    //this method signature means deliver
    public void PerformMyDecision(Briefcase brf, Individual deliverTo)
    {
        brf.NoMas();
        if ((brf.myBriefCaseType == Briefcase_Type.YELLOW && deliverTo.I_AM_YELLOW) || (brf.myBriefCaseType == Briefcase_Type.RED && deliverTo.I_AM_RED) || (brf.myBriefCaseType == Briefcase_Type.GREY && deliverTo.I_AM_GREY))
        {
            deliverTo.IHaveMySpecialBriefcase = true;

            //Debug.Log ("My name is : "+deliverTo.Index+" and I have my mask ");
            if (CheckIfEveryOneHasTheirSpecialBrief())
            {
                PlayerPrefs.SetInt("money", PlayerPrefs.GetInt("money") + 40003);
                GameManager.instance.MyGameState = Game_State.Win;
                GameManager.instance.Win_GUI.SetActive(true);
            }
        }
    }
        private bool CheckAmountForDuplicates(List <Briefcase> briefcases, Briefcase firstBriefcase)
        {
            foreach (Briefcase briefcase in briefcases)
            {
                if (briefcase == firstBriefcase)
                {
                    continue;
                }
                if (briefcase.Amount == firstBriefcase.Amount)
                {
                    return(true);
                }
            }

            return(false);
        }
Beispiel #6
0
        public List <Briefcase> RandomizeBriefcaseValues()
        {
            briefcases = new List <Briefcase>();
            int briefcaseValuesCount = briefcaseValues.Count;

            for (int i = 0; i < briefcaseValuesCount; i++)
            {
                Briefcase briefcase = new Briefcase()
                {
                    Number = i + 1,
                    Amount = GetRandomAmountFromBriefcaseValues()
                };

                briefcases.Add(briefcase);
            }

            return(briefcases);
        }
        private DataTable backupDisplayTable; //显示表用于显示的datatable的备份

        public ManualRollCall(Briefcase _classBriefcase, long _jieci, DataTable dmTable, DateTime RollcallTime)
        {
            InitializeComponent();
            ///////////////////////////////////////
            this.classBriefcase = _classBriefcase; //本门课的briefcase(通过该窗口的构造函数传进来)

            this.jieci = _jieci;                   //节次编号

            _dmTable = dmTable;

            _rollCallTime = RollcallTime;
            //以上语句在为成员赋值 不要管啦////////////////////
            Briefcase propertieBriefcase =
                new FileBriefcase
                    (Properties.Settings.Default.PropertiesBriefcaseFolder, true); //打开propertiesBriefcase,用于获取班级表

            bjTable = propertieBriefcase.FindTable("ClassNameTable");              //班级表

            xkTable = classBriefcase.FindTable("XKTABLE_VIEW1");                   //拉出选课表 获取学生信息
        }
        /// <summary>
        ///     Populates the Briefcases.
        ///     Precondition: None
        ///     Post-condition: this.Briefcases.briefcase.DollarAmount == this.ChosenGameAmounts.ElementAt(Random.Next())
        /// </summary>
        /// <param name="gameType">Type of the game.</param>
        /// <returns>The list populated with specified amounts based on game type.</returns>
        public void PopulateBriefcases(string gameType)
        {
            var       random          = new Random();
            const int totalBriefcases = 26;
            var       outputCases     = new List <Briefcase>();

            this.setGameTypeAmounts(gameType);

            var amounts = this.ChosenGameTypeAmounts.ToList();

            for (var i = 1; i <= totalBriefcases; i++)
            {
                var randomNumber     = random.Next(0, amounts.Count);
                var currentBriefcase = new Briefcase(i - 1, amounts.ElementAt(randomNumber));
                outputCases.Add(currentBriefcase);
                amounts.RemoveAt(randomNumber);
            }

            this.Briefcases = outputCases;
        }
Beispiel #9
0
        public Game PlayRound(int roundNumber, int briefcaseToOpenCount)
        {
            Console.WriteLine($"Round {roundNumber}");

            for (int i = 1; i <= briefcaseToOpenCount; i++)
            {
                int       briefcaseNumber = GetBriefcaseNumber();
                Briefcase briefcase       = _briefcaseService.LoadBriefcase(briefcaseNumber);
                DisplayBriefcase(briefcase);
                _game = _game.RemoveBriefcaseFromList(briefcase);
            }

            double bankerOffer = _bankerOfferService.CalculateOffer(_game.RemainingBriefcases, roundNumber);

            Console.WriteLine($"The banker's offer is: {bankerOffer.Format()}");
            _game.BankerOffers.Add(bankerOffer);

            _game.GameState    = GetContestantsDecision();
            _game.WinCondition = GetContestantsWinCondition(roundNumber);

            return(_game);
        }
Beispiel #10
0
        public void AddBriefcases()
        {
            Briefcase briefcase = new Briefcase();

            using (var cn = new SqlConnection())
            {
                cn.ConnectionString = ConfigurationManager
                                      .ConnectionStrings[CONNECTION_NAME]
                                      .ConnectionString;
                // this is a stored procedure, making note to change later....
                return(cn.Query <Briefcase>("AddBriefcases",
                                            commandType: CommandType.StoredProcedure));
            }


            //using (var context = new ShowContext(CONNECTION_NAME))
            //{
            //    briefcase.Amount = 0.01M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 1M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 5M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 10M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 25M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 50M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 75M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 100M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 200M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 300M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 400M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 500M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 750M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 1000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 5000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 10000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 25000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 50000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 75000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 100000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 200000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 300000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 400000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 500000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();

            //    briefcase.Amount = 750000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();
            //    briefcase.Amount = 1000000M;
            //    context.Briefcases.Add(briefcase);
            //    context.SaveChanges();
            //}
        }
Beispiel #11
0
 public static Game RemoveBriefcaseFromList(this Game game, Briefcase briefcase)
 {
     game.RemainingBriefcases.Remove(briefcase);
     game.RemovedBriefcases.Add(briefcase);
     return(game);
 }
Beispiel #12
0
  //this method signature means deliver
  public void PerformMyDecision (Briefcase brf, Individual deliverTo)
  {
    brf.NoMas ();
    if ((brf.myBriefCaseType == Briefcase_Type.YELLOW && deliverTo.I_AM_YELLOW) || (brf.myBriefCaseType == Briefcase_Type.RED && deliverTo.I_AM_RED) ||  (brf.myBriefCaseType == Briefcase_Type.GREY && deliverTo.I_AM_GREY )) {
      deliverTo.IHaveMySpecialBriefcase = true;

      //Debug.Log ("My name is : "+deliverTo.Index+" and I have my mask ");
      if(CheckIfEveryOneHasTheirSpecialBrief()){
        PlayerPrefs.SetInt ("money", PlayerPrefs.GetInt ("money") + 40003);
        GameManager.instance.MyGameState = Game_State.Win;
        GameManager.instance.Win_GUI.SetActive(true);
      }
    } 
  }
Beispiel #13
0
 private void DisplayBriefcase(Briefcase briefcase)
 {
     Console.WriteLine($"Briefcase number {briefcase.Number} contains...");
     Console.WriteLine(briefcase.Amount.Format());
 }
Beispiel #14
0
        /// <summary>
        /// 下载课程的过程中比较费时的操作都在这个函数里面
        /// </summary>
        /// <param name="kkno">开课编号</param>
        /// <param name="courseBriefcase">该堂课要存的briefcase</param>
        private static void DownloadData(long kkno, Briefcase courseBriefcase)
        {
            Thread.Sleep(1000);//等待进度条窗口建立完毕

            _waitform.Invoke(new MethodInvoker(() => _waitform.SetInfo("下载学生信息 \n 该过程可能会比较耗时")));

            var fDataModule = new DataModule();                     // 再新建一个datamodule..  好浪费资源的说 反正C#会自己做内存回收...

            var xktable = from c in fDataModule.GetxktableViewros() // 将选课表(学生信息)拿出来
                          where c.KKNO == kkno
                          select c;

            _waitform.Invoke(new MethodInvoker(() => _waitform.SetInfo("下载学生信息 \n 该过程会耗时30秒左右")));  // 更改等待窗口的文字

            var xkDatatable = EnumerableExtension.ListToDataTable(xktable.ToList(), "XKTABLE");     // 下载选课表

            _waitform.Invoke(new MethodInvoker(() => _waitform.SetValue(20)));                      // 设置进度条 20

            courseBriefcase.AddTable(xkDatatable);                                                  // 将选课表加到briefcase中

            courseBriefcase.WriteBriefcase();                                                       // 写入硬盘

            var sktable = from c in fDataModule.GetSktable07Viewro() where c.KKNO == kkno select c; // 拉取上课表

            var dmtable = from c in fDataModule.GetdmTable() where c.KKNO == kkno select c;         //拉取选课表

            _waitform.Invoke(new MethodInvoker(() => _waitform.SetInfo("下载课程信息 \n 该过程不会消耗太长时间")));

            _waitform.Invoke(new MethodInvoker(() => _waitform.SetValue(50)));

            var sktableList = sktable.ToList();                                            // 下载上课表

            var skdatatable = EnumerableExtension.ListToDataTable(sktableList, "SKTABLE"); //将上课表转换成datatable

            courseBriefcase.AddTable(skdatatable);                                         // 将datatable写入briefcase中

            courseBriefcase.WriteBriefcase();                                              // 写入硬盘

            _waitform.Invoke(new MethodInvoker(() => _waitform.SetInfo("下载考勤信息 \n 该过程不会消耗太长时间")));

            var dmtableList = dmtable.ToList(); // 下载点名表

            foreach (var sktable07Viewro in sktable)
            {
                var viewro = sktable07Viewro; // resharper说一定要这么写

                var dmtablesinglelist = from c in dmtableList where c.SKNO == viewro.SKNO select c;

                var dmtableSingleDatatable = EnumerableExtension.ListToDataTable(dmtablesinglelist.ToList(),
                                                                                 sktable07Viewro.SKNO.ToString(CultureInfo.InvariantCulture)); // 将list转换成datatable

                courseBriefcase.AddTable(dmtableSingleDatatable);

                _waitform.Invoke(new MethodInvoker(() => _waitform.Increase(1)));    // 每次下载都在进度条上加1
            }

            courseBriefcase.WriteBriefcase(); // 保存将对briefcase的更改写入硬盘

            var classInfoTable = courseBriefcase.FindTable("ClassInfo");

            //以下注释的代码作为参考用.
            //courseInfoTable.Columns.Add ("上课编号", typeof (string));

            //courseInfoTable.Columns.Add ("上课日期", typeof (string));

            //courseInfoTable.Columns.Add ("上课状态", typeof (string));

            foreach (var sktable07Viewro in sktableList)
            {
                var viewro = sktable07Viewro;                                              //resharper说要这么写

                var classInfoRow = classInfoTable.NewRow();                                //新建一行

                classInfoRow["上课编号"] = viewro.SKNO.ToString(CultureInfo.InvariantCulture); //指定这一行的上课编号

                classInfoRow["上课日期"] = viewro.YDSKDATE.ToString();                         //指定这一行的上课日期

                if (viewro.SKZT == 0)                                                      //将上课状态转换成文字

                {
                    classInfoRow["上课状态"] = "未签到";
                }
                else
                {
                    classInfoRow["上课状态"] = "已签到";
                }

                classInfoTable.Rows.Add(classInfoRow);//将这一行加到datatable里
            }

            courseBriefcase.AddTable(classInfoTable);//将datatable加到briefcase里

            courseBriefcase.WriteBriefcase();

            _waitform.Invoke(new MethodInvoker(() => _waitform.Close()));   //关闭进度窗口
        }