private static void LoadExerciseIntoMatrix(string name, string description, Image image, TrainingInfo trainingInfo) { //Inputs all the exercise information into a "courseExercise" object. CourseExercise courseExercise = new CourseExercise(); courseExercise.name = name; courseExercise.trainingInfo.category = trainingInfo.category; courseExercise.trainingInfo.splitKind = trainingInfo.splitKind; courseExercise.trainingInfo.description = "Difficulty: " + trainingInfo.difficulty + Environment.NewLine + description; courseExercise.image = image; courseExercise.trainingInfo.reps = trainingInfo.reps; courseExercise.trainingInfo.sets = trainingInfo.sets; courseExercise.trainingInfo.notes = trainingInfo.notes; courseExercise.trainingInfo.difficulty = trainingInfo.difficulty; courseExercise.trainingInfo.isCompound = trainingInfo.isCompound; courseExercise.ID = $"{trainingInfo.splitKind},{trainingInfo.category},{name},{trainingInfo.sets},{trainingInfo.reps}"; courseExercise.trainingInfo.mustSwitchSides = trainingInfo.mustSwitchSides; courseExercise.trainingInfo.mustSwitchDirection = trainingInfo.mustSwitchDirection; //Put this exercise object into the global matrix that holds all the exercises in the course. if (exercisesMatrix[(int)trainingInfo.splitKind, (int)trainingInfo.category] == null) { exercisesMatrix[(int)trainingInfo.splitKind, (int)trainingInfo.category] = new List <CourseExercise>(); } exercisesMatrix[(int)trainingInfo.splitKind, (int)trainingInfo.category].Add(courseExercise); numberOfExercises++; }
private int[] AddExercisesToRound(int round, SplitKind chosenSplit, Category category, int howmanyIneed, bool isCompound = false) { CourseExercise courseExercise = new CourseExercise(); if (exercisesList[round] == null) { exercisesList[round] = new List <CourseExercise>(); } List <CourseExercise> ListToPickFrom = new List <CourseExercise>(); ListToPickFrom = ExercisesLoader.SelectExercisesFromMatrix(chosenSplit, category, difficulty, includeZejax, isCompound); int howmanyArethere = ListToPickFrom.Count; //int howmanyArethere = exercisesMatrix[(int)chosenSplit, (int)category].Count; int[] randomNumbers = RandomExerciseIndexes(howmanyIneed, howmanyArethere); for (int i = 0; i < howmanyIneed; i++) { //courseExercise = exercisesMatrix[(int)chosenSplit, (int)category][randomNumbers[i]]; courseExercise = ListToPickFrom[randomNumbers[i]]; exercisesList[round].Add(courseExercise); } return(randomNumbers); }
public static void SaveRoutinePlannerFileFormat(LessonPlanRoutine lessonPlan) { string fileName = lessonPlanOptions.routineName + GlobalVar.ProgramExtension; StreamWriter stream = new StreamWriter(fileName); const int categories = 5; List <CourseExercise>[] exerciseLists = new List <CourseExercise> [categories]; exerciseLists[0] = lessonPlan.Warmup; exerciseLists[1] = lessonPlan.Round1; exerciseLists[2] = lessonPlan.Round2; exerciseLists[3] = lessonPlan.Round3; exerciseLists[4] = lessonPlan.CoolDown; for (int i = 0; i < categories; i++) { int count; if (exerciseLists[i] != null) { count = exerciseLists[i].Count; } else { count = 0; } for (int j = 0; j < count; j++) { CourseExercise ce = exerciseLists[i][j]; string ID = $"{(int)ce.trainingInfo.splitKind},{(int)ce.trainingInfo.category},{ce.name},{(int)ce.trainingInfo.sets},{(int)ce.trainingInfo.reps}"; stream.WriteLine(ID); } } stream.Close(); }
private void AddWarmupExercises(SplitKind split, Difficulty difficulty) { //Add joint rotations. CourseExercise jointRotations = new CourseExercise(); jointRotations = exercisesMatrix[(int)SplitKind.All, (int)Category.Mobility][GlobalVar.jointRotationsIndex]; exercisesList[(int)Category.WarmUp] = new List <CourseExercise>(); exercisesList[(int)Category.WarmUp].Add(jointRotations); Indexes.Warmup = new List <int>(); //routineIndexes.Warmup.Add(GlobalVar.jointRotationsIndex); //Add conditioning exercises. bool isCompound = true; int[] warmupIndexes1 = AddExercisesToRound(GlobalVar.Warmup, SplitKind.All, Category.WarmUp, 1 + GlobalVar.r.Next(0, 3), isCompound); Indexes.Warmup.AddRange(warmupIndexes1); int[] warmupIndexes2 = AddExercisesToRound(GlobalVar.Warmup, SplitKind.All, Category.WarmUp, 1 + GlobalVar.r.Next(0, 3), !isCompound); Indexes.Warmup.AddRange(warmupIndexes2); //Add warmup circles. Circles c = new Circles(split, difficulty); var warmupCircles = c.PickedCircles; exercisesList[(int)Category.WarmUp].AddRange(warmupCircles); Indexes.Circles = new List <int>(); Indexes.Circles = c.indexes; }
private static void WriteHtmlExercise(string fileName, CourseExercise exercise) { string pictureName = exercise.name + ".jpg"; //string picturePath = "Splits Routine"; //TODO: Add error handling here. exercise.image.Save(pictureName); string[] exerciseInfo = new string[] { "<tr>" + Environment.NewLine, "<td><img src = \"" + pictureName + "\"" + " height = \"130\"></td>" + Environment.NewLine, "<td>" + Environment.NewLine, "<p>" + exercise.name + "</p>" + Environment.NewLine, "<p>" + exercise.trainingInfo.description + "</p>" + Environment.NewLine, "<p>" + "Sets: " + exercise.trainingInfo.sets + " - Reps: " + exercise.trainingInfo.reps + "</p>" + Environment.NewLine, "<p>" + exercise.trainingInfo.notes + "</p>" + Environment.NewLine, "</td>" + Environment.NewLine, "</tr>" + Environment.NewLine, }; for (int i = 0; i < exerciseInfo.Length; i++) { File.AppendAllText(fileName, exerciseInfo[i]); } }