public async Task <object> Reveal([Bind("ID")] int id) { var riddle = await _context.Riddle.FindAsync(id); if (riddle == null) { return(NotFound()); } var status = GetSolvingStatusObject(id); if (status == null) { status = new SolvingStatus() { User = CurrentUser, Riddle = riddle, Status = UserRiddleStatus.Surrendered }; await _context.SolvingStatuses.AddAsync(status); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details), new { id })); } if (status.Status == UserRiddleStatus.None) { status.Status = UserRiddleStatus.Surrendered; await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details), new { id })); } return("Not eligible for a reveal!"); }
public async Task <object> Solve([Bind("ID")] int id, [Bind("Answer")] string answer) { if (!RiddleExists(id)) { return(NotFound()); } if (GetStatusOfRiddle(id) != UserRiddleStatus.None) { return("Not eligible for solving!"); } var riddle = await _context.Riddle.FindAsync(id); bool result = riddle.Answer == answer; var newStatus = result ? UserRiddleStatus.Solved : UserRiddleStatus.None; var status = GetSolvingStatusObject(id); if (status == null) { status = new SolvingStatus() { User = CurrentUser, Riddle = riddle, Status = newStatus }; await _context.SolvingStatuses.AddAsync(status); } status.Status = newStatus; await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <object> Create([Bind("ID,Question,Answer,ComplimentForWinning,InsultForLosing")] Riddle riddle) { riddle.Author = CurrentUser; //riddle.AuthorID = riddle.Author.Id; ModelState.Remove("Author"); if (ModelState.IsValid) { _context.Add(riddle); var authorStatus = new SolvingStatus() { Riddle = riddle, User = CurrentUser, Status = UserRiddleStatus.Created }; _context.Add(authorStatus); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(riddle); }
public void solveSudoku_() { if (this.solveSudokuInternal() == true) { if (SudokuBoard.currentSolvingStatus != SolvingStatus.ABORTED) { /* Prepare event to notify a result was found */ SudokuBoard.currentSolvingStatus = SolvingStatus.SOLVED; } } else { if (SudokuBoard.currentSolvingStatus != SolvingStatus.ABORTED) { /* Prepare event to notify No Solving result was found */ SudokuBoard.currentSolvingStatus = SolvingStatus.SOLUTION_NOT_FOUND; } } /* Notify suscribers that a solving has Ended */ if (ProcessFinished_Evnt != null) { ProcessFinished_Evnt(this); } }
public BehaviorGraph() { _nodes = new List <BehaviorGraphNode>(); _solvingCache = new Dictionary <BehaviorGraphNode, bool>(); CurrentSolvingStatus = SolvingStatus.None; }
public BehaviorGraph() { _nodes = new List<BehaviorGraphNode>(); _solvingCache = new Dictionary<BehaviorGraphNode, bool>(); CurrentSolvingStatus = SolvingStatus.None; }