Пример #1
0
        public Feedbacks Get(string imageName, Judgements judgement)
        {
            var expectedJudgement = imageName.Contains('N') ? Judgements.New : Judgements.Old;
            var result            = judgement == expectedJudgement ? Feedbacks.Correct : Feedbacks.Incorrect;

            return(result);
        }
Пример #2
0
        public void ReadStreamData(BinaryReader reader)
        {
            Reset();

            Time = reader.ReadSingle();

            IsSkipped = reader.ReadBoolean();

            int inputCount = reader.ReadInt32();

            for (int i = 0; i < inputCount; i++)
            {
                var input = replayInputRecycler.GetNext();
                input.ReadStreamData(reader);
                Inputs.Add(input);
            }

            int holdFlagCount = reader.ReadInt32();

            for (int i = 0; i < holdFlagCount; i++)
            {
                DraggerHoldFlags.Add(new KeyValuePair <int, bool>(reader.ReadInt32(), reader.ReadBoolean()));
            }

            int judgementCount = reader.ReadInt32();

            for (int i = 0; i < judgementCount; i++)
            {
                var judgement = replayJudgementRecycler.GetNext();
                judgement.ReadStreamData(reader);
                Judgements.Add(judgement);
            }
        }
        /// <summary>
        /// Converts list of Judgements to runjudgings
        /// </summary>
        public List <RunJudging> GetRunJudgings(Tournament tournament)
        {
            var criteria    = tournament.JudgingCriteria.OrderBy(p => p.Id).ToList();
            var runJudgings = Judgements.SelectMany(p => p.GetAsRunJudgings(criteria)).ToList();

            return(runJudgings);
        }
Пример #4
0
 public void ResetStats()
 {
     for (int x = 0; x < Judgements.Count(); x++)
     {
         Judgements[x] = 0;
     }
     Score              = 0;
     Hits               = 0;
     MaxHits            = 0;
     TotalHits          = 0;
     Streak             = 0;
     MaxStreak          = 0;
     Momentum           = GetStartingMomentum();
     GrooveMomentum     = 1.0;
     PeakGrooveMomentum = 1.0;
     Life               = this.GetMaxLife() / 2;
     KO        = false;
     IsBlazing = false;
     PlayTime  = 0;
     _lifeHistory.Clear();
     _scoreHistory.Clear();
     _levelHistory.Clear();
     _gmHistory.Clear();
     NextCPUJudgement = BeatlineNoteJudgement.Count;
 }
Пример #5
0
        public ActionResult AllocatePrisoner(int?id)
        {
            var model = new AllocationViewModel();

            if (id != null)
            {
                model.Prisoner_Id = id.Value;

                Prisoners prisoner = _db.Prisoners.FirstOrDefault(x => x.Prisoner_Id == id);

                model.Sex = prisoner.Sex;

                Judgements judgement = _db.Judgements.FirstOrDefault(x => x.FK_Judgements_Prisoners_Id == id);
                model.CategoryOfCrime_Id = judgement.FK_Judgements_CategoriesOfCrimes_Id;

                model.Cells = from c in _db.Cells
                              join o in _db.Branches
                              on c.FK_Cells_Branch equals o.Branch_id
                              join x in _db.BranchesSex
                              on o.Branch_id equals x.FK_BranchesSex_Branches_Id
                              where x.FK_BranchesSex_CategoriesOfCrimes_Id == judgement.FK_Judgements_CategoriesOfCrimes_Id && c.IsEmpty &&
                              x.Sex == prisoner.Sex && c.Cell_Id != ReleasePrisonerClass.Placeholder
                              select c;

                ViewBag.CelList = new SelectList(model.Cells, "Cell_Id", "Cell_Id");
                return(View(model));
            }
            return(HttpNotFound());
        }
Пример #6
0
        public ActionResult ReallocatePrisoner(int?id)
        {
            if (id != null)
            {
                Prisoners  prisoner  = _db.Prisoners.FirstOrDefault(x => x.Prisoner_Id == id.Value);
                Judgements judgement = _db.Judgements.FirstOrDefault(x => x.FK_Judgements_Prisoners_Id == id);

                var model = new AllocationViewModel()
                {
                    Prisoner_Id        = id.Value,
                    CategoryOfCrime_Id = judgement.FK_Judgements_CategoriesOfCrimes_Id,
                    Sex = prisoner.PrisonerSurname
                };



                model.Cells = from c in _db.Cells
                              join branch in _db.Branches
                              on c.FK_Cells_Branch equals branch.Branch_id
                              join branchSex in _db.BranchesSex
                              on branch.Branch_id equals branchSex.FK_BranchesSex_Branches_Id
                              where branchSex.FK_BranchesSex_CategoriesOfCrimes_Id == judgement.FK_Judgements_CategoriesOfCrimes_Id && c.IsEmpty &&
                              branchSex.Sex == prisoner.Sex && c.Cell_Id != ReleasePrisonerClass.Placeholder
                              select c;

                if (model.Cells.Any() == false)
                {
                    TempData["alertMessage"] = "Brak dostępnych cel";
                    return(RedirectToAction("GetPrisoners", "Prisoners"));
                }
                ViewBag.CelList = new SelectList(model.Cells, "Cell_Id", "Cell_Id");
                return(View(model));
            }
            return(HttpNotFound());
        }
        public JudgementListViewModel(Tournament tournament, int roundNo) : this()
        {
            var round = tournament.GetRoundNoGuarded(roundNo);

            RoundNo          = roundNo;
            TournamentName   = tournament.Name;
            TournamentId     = tournament.Id;
            RoundTitle       = round.Title;
            HasNextRound     = RoundNo < tournament.Rounds.Count;
            HasPreviousRound = RoundNo > 1;
            Criteria         = tournament.JudgingCriteria.OrderBy(p => p.Id).ToList();
            // Todo: Profile and Optimize. This generates X number of selects on RoundContestant and Y number of selects on Contestant table.
            var allRunJudgings     = round.ContestantEntries.SelectMany(p => p.RunJudgings).OrderBy(p => p.JudgeId).ToList();
            var roundContestantIds = round.ContestantEntries.Select(p => p.Id).Distinct().ToList();
            var judgeIds           = tournament.Judges.Select(p => p.Id).ToList();

            foreach (var judgeId in judgeIds)
            {
                var judge = tournament.Judges.FirstOrDefault(p => p.Id == judgeId);
                foreach (var rcId in roundContestantIds)
                {
                    var rc = round.ContestantEntries.FirstOrDefault(p => p.Id == rcId);
                    for (int runNo = 1; runNo <= round.RunsPerContestant; runNo++)
                    {
                        var scoreList = allRunJudgings.Where(p => p.RunNo == runNo && p.JudgeId == judgeId && p.RoundContestantId == rcId).OrderBy(p => p.CriterionId).ToList();
                        var modelLine = new RunJudgementViewModel(scoreList, judge, rc, runNo);
                        Judgements.Add(modelLine);
                    }
                }
            }
        }
Пример #8
0
        /// <summary>
        /// Adds a new replayable judgement result data to the frame and returns it.
        /// </summary>
        public ReplayableJudgement AddJudgement(Action <ReplayableJudgement> initializer)
        {
            var judgement = replayJudgementRecycler.GetNext();

            initializer.Invoke(judgement);
            Judgements.Add(judgement);
            return(judgement);
        }
Пример #9
0
 /// <summary>
 /// Clears the state of the frame.
 /// </summary>
 public void Reset()
 {
     Time      = 0;
     IsSkipped = false;
     Inputs.Clear();
     DraggerHoldFlags.Clear();
     Judgements.Clear();
 }
Пример #10
0
 public void OnComplete()
 {
     foreach (NoteGrade grade in Enum.GetValues(typeof(NoteGrade)))
     {
         if (grade == NoteGrade.None)
         {
             continue;
         }
         gradeCounts[grade] = Judgements.Count(it => it.Value.Grade == grade);
     }
 }
Пример #11
0
        protected sealed override void UpdateState(ArmedState state)
        {
            FinishTransforms();

            using (BeginAbsoluteSequence(HitObject.StartTime - TIME_PREEMPT, true))
            {
                UpdateInitialState();

                UpdatePreemptState();

                using (BeginDelayedSequence(TIME_PREEMPT + (Judgements.FirstOrDefault()?.TimeOffset ?? 0), true))
                    UpdateCurrentState(state);
            }
        }
Пример #12
0
        protected sealed override void UpdateState(ArmedState state)
        {
            double transformTime = HitObject.StartTime - HitObject.TimePreempt;

            base.ApplyTransformsAt(transformTime, true);
            base.ClearTransformsAfter(transformTime, true);

            using (BeginAbsoluteSequence(transformTime, true))
            {
                UpdatePreemptState();

                using (BeginDelayedSequence(HitObject.TimePreempt + (Judgements.FirstOrDefault()?.TimeOffset ?? 0), true))
                    UpdateCurrentState(state);
            }
        }
Пример #13
0
 public void UpdateToProfile()
 {
     if (Profile == null)
     {
         return;
     }
     for (int x = 0; x < Judgements.Count(); x++)
     {
         Profile.JudgementCounts[x] += Judgements[x];
     }
     Profile.TotalHits     += TotalHits;
     Profile.TotalPlayTime += PlayTime;
     Profile.MostHitsEver   = Math.Max(Profile.MostHitsEver, (int)MaxHits);
     Profile.MostStreakEver = Math.Max(Profile.MostStreakEver, MaxStreak);
     Profile.EXP           += AwardXP();
 }
Пример #14
0
            public override bool OnPressed(ManiaAction action)
            {
                if (!base.OnPressed(action))
                {
                    return(false);
                }

                // If the key has been released too early, the user should not receive full score for the release
                if (Judgements.Any(j => j.Result == HitResult.Miss))
                {
                    holdNote.hasBroken = true;
                }

                // The head note also handles early hits before the body, but we want accurate early hits to count as the body being held
                // The body doesn't handle these early early hits, so we have to explicitly set the holding state here
                holdNote.holdStartTime = Time.Current;

                return(true);
            }
Пример #15
0
        protected override void UpdateState(ArmedState state)
        {
            const float preempt             = 100;
            const float out_transition_time = 300;

            double untilStartTime = HitObject.StartTime - Time.Current;
            double untilJudgement = untilStartTime + (Judgements.FirstOrDefault()?.TimeOffset ?? 0) + HitObject.Duration;

            targetRing.Delay(untilStartTime - preempt).ScaleTo(target_ring_scale, preempt * 4, Easing.OutQuint);
            this.Delay(untilJudgement).FadeOut(out_transition_time, Easing.Out);

            switch (state)
            {
            case ArmedState.Hit:
                bodyContainer.Delay(untilJudgement).ScaleTo(1.4f, out_transition_time);
                break;
            }

            Expire();
        }
Пример #16
0
        protected override void UpdateState(ArmedState state)
        {
            FinishTransforms();

            //var relativeStartTime = (HitObject is IHasParentID) ? (HitObject as IHasParentID).RelativeToParentStartTime : HitObject.StartTime;

            //if ((HitObject is IHasParentID))
            //{
            //    int a = 0;
            //}

            using (BeginAbsoluteSequence(HitObject.StartTime - PreemptTime, true))
            {
                UpdateInitialState();

                UpdatePreemptState();

                using (BeginDelayedSequence(PreemptTime + (Judgements.FirstOrDefault()?.TimeOffset ?? 0), true))
                    UpdateCurrentState(state);
            }
        }
Пример #17
0
        public ActionResult AddPrisoner(PrisonerViewModel model)
        {
            var list = _db.CategoriesOfCrimes.ToList();

            ViewBag.KatList = new SelectList(list, "CategoryOfCrime_Id", "NameOfCategory");


            if (ModelState.IsValid)
            {
                var prisoner = new Prisoners
                {
                    PrisonerName    = model.PrisonerName,
                    PrisonerSurname = model.PrisonerSurname,
                    Pesel           = model.Pesel,
                    Sex             = model.Sex
                };


                var wyrok = new Judgements
                {
                    FK_Judgements_CategoriesOfCrimes_Id = model.CategoryOfCrime_Id,
                    FK_Judgements_Prisoners_Id          = prisoner.Prisoner_Id,
                    TimeOfJudgement = model.Time,
                    StartDate       = model.StartDate
                };


                _db.Prisoners.Add(prisoner);
                _db.Judgements.Add(wyrok);
                _db.SaveChanges();

                return(RedirectToAction("AllocatePrisoner", new { id = prisoner.Prisoner_Id }));
            }

            return(View(model));
        }
Пример #18
0
        protected sealed override void UpdateState(ArmedState state)
        {
            double transformTime = HitObject.StartTime - HitObject.TimePreempt;

            base.ApplyTransformsAt(transformTime, true);
            base.ClearTransformsAfter(transformTime, true);

            using (BeginAbsoluteSequence(transformTime, true))
            {
                UpdatePreemptState();

                var judgementOffset = Math.Min(HitObject.HitWindows.HalfWindowFor(HitResult.Miss), Judgements.FirstOrDefault()?.TimeOffset ?? 0);

                using (BeginDelayedSequence(HitObject.TimePreempt + judgementOffset, true))
                    UpdateCurrentState(state);
            }
        }
Пример #19
0
        public IActionResult ResponseData(string participantID, Guid sessionID, int progress, Judgements judgement, Confidences confidence, long reactionTime)
        {
            var phaseSets     = _phaseSetsGetter.Get(participantID);
            var seenTestName  = _testNameGetter.Get(phaseSets, progress);
            var seenViewModel = GetViewModel(phaseSets, progress);
            var congruency    = _imageCongruencyGetter.Get(seenViewModel.ImageToDisplay);
            var context       = _imageContextGetter.Get(seenViewModel.ImageToDisplay);
            var feedback      = _responseFeedbackGetter.Get(seenViewModel.ImageToDisplay, judgement);
            var imageResponse = new ResponseDbDataModel {
                ParticipantID = participantID, TestName = seenTestName, SessionID = sessionID, Image = seenViewModel.ImageToDisplay, Congruency = congruency, Context = context, Judgement = judgement, Confidence = confidence, ReactionTime = reactionTime, Feedback = feedback, WhenUtc = DateTime.UtcNow
            };

            _testResponsesRepository.Save(imageResponse);
            var nextProgress  = progress + 1;
            var nextTestName  = _testNameGetter.Get(phaseSets, nextProgress);
            var testHasEnded  = !string.Equals(seenTestName, nextTestName);
            var nextViewModel = testHasEnded ? null : GetViewModel(phaseSets, nextProgress);

            return(Json(new { TestEnded = testHasEnded, feedback = ((int)feedback), ViewModel = nextViewModel }));
        }
Пример #20
0
        public string Get(Judgements judgements)
        {
            var result = Enum.GetName(typeof(Judgements), judgements);

            return(result);
        }