private void MemoryPictureList_OnPictureLocationComfirmed(object sender, LocationMemoryPictureItem item) { try { _selectedLocationTestingPictureList.Add(item); //提示结果 var resultTipText = _memorizedPictureList.Any(i => i.PictureItem == item.PictureItem && i.Location == item.Location) ? "正确" : "错误"; SetResultTip(resultTipText); if (sender is MemoryPictureListControl memoryPictureListControl && _selectedLocationTestingPictureList.Count >= memoryPictureListControl.TrainingStageSetting.ClickMaxLimit) { TestingCompleted?.Invoke(this, EventArgs.Empty); } else { var memorizedPictureList = _memorizedPictureList; var random = new Random(); MemoryPictureItem visibileRandomPictureItem = null; while (visibileRandomPictureItem == null) { var visibileRandomIndex = random.Next(memorizedPictureList.Count); var randomPictureItem = memorizedPictureList[visibileRandomIndex].PictureItem; if (_selectedLocationTestingPictureList.All(i => i.PictureItem != randomPictureItem)) { visibileRandomPictureItem = randomPictureItem; } } visibileRandomPictureItem.IsPictureVisibile = true; } }
private void MemoryPictureList_OnPictureLocationComfirmed(object sender, LocationMemoryPictureItem item) { //TODO 记录 _selectedLocationTestingPictureList.Add(item); //提示结果 var resultTipText = _memorizedPictureList.Any(i => i.PictureItem == item.PictureItem && i.Location == item.Location) ? "正确" : "错误"; SetResultTip(resultTipText); if (sender is FamiliarMemoryListControl memoryPictureListControl && _selectedLocationTestingPictureList.Count >= memoryPictureListControl.TrainingStageSetting.ClickMaxLimit) { TestingCompleted?.Invoke(this, EventArgs.Empty); }
private void MemoryPictureList_OnPictureLocationComfirmed(object sender, LocationMemoryPictureItem checkedPictureItem) { try { //记录位置测试结果 var memorizedPictureList = GetLastThreeMemorizedPictures(); var memorizedMemoryPictureItem = memorizedPictureList.First(i => i.PictureItem == checkedPictureItem.PictureItem); var isRightLocation = checkedPictureItem.Location == memorizedMemoryPictureItem.Location; _currentTestRecordInfo.LocationTestingClickInfos.Add(new TestingClickInfo() { PictureName = Path.GetFileNameWithoutExtension(memorizedMemoryPictureItem.PictureItem.ImageUri), Location = checkedPictureItem.Location, IsMatchedByUserComfirmed = checkedPictureItem.IsMatchedByUserComfirmed, IsRight = isRightLocation ? checkedPictureItem.IsMatchedByUserComfirmed : !checkedPictureItem.IsMatchedByUserComfirmed }); _selectedLocationTestingPictureList.Add(checkedPictureItem); if (sender is MemoryPictureListControl memoryPictureListControl && _selectedLocationTestingPictureList.Count >= memoryPictureListControl.TrainingStageSetting.ClickMaxLimit) { ////完成一轮测试 _selectedLocationTestingPictureList.Clear(); CompleteOneRoundTest(); } else { var random = new Random(); MemoryPictureItem visibileRandomPictureItem = null; while (visibileRandomPictureItem == null) { //var visibileRandomIndex = random.Next(memorizedPictureList.Count); var randomPictureItem = memorizedPictureList[_selectedLocationTestingPictureList.Count].PictureItem; if (_selectedLocationTestingPictureList.All(i => i.PictureItem != randomPictureItem)) { visibileRandomPictureItem = randomPictureItem; } } visibileRandomPictureItem.IsPictureVisibile = true; } }
private void MemoryPictureList_OnPictureLocationComfirmed(object sender, LocationMemoryPictureItem checkedPictureItem) { //记录位置测试结果 var memorizedPictureList = GetLastThreeMemorizedPictures(); var memorizedMemoryPictureItem = memorizedPictureList.First(i => i.PictureItem == checkedPictureItem.PictureItem); var isRightLocation = checkedPictureItem.Location == memorizedMemoryPictureItem.Location; _currentTestRecordInfo.LocationTestingClickInfos.Add(new TestingClickInfo() { PictureName = Path.GetFileNameWithoutExtension(memorizedMemoryPictureItem.PictureItem.ImageUri), Location = checkedPictureItem.Location, IsMatchedByUserComfirmed = checkedPictureItem.IsMatchedByUserComfirmed, IsRight = isRightLocation ? checkedPictureItem.IsMatchedByUserComfirmed : !checkedPictureItem.IsMatchedByUserComfirmed }); _selectedLocationTestingPictureList.Add(checkedPictureItem); if (sender is TestMemoryListControl memoryPictureListControl && _selectedLocationTestingPictureList.Count >= memoryPictureListControl.TrainingStageSetting.ClickMaxLimit) { ////完成一轮测试 _selectedLocationTestingPictureList.Clear(); CompleteOneRoundTest(); }