예제 #1
0
    // open muscle fully
    void ExtendMuscle(DogLeg leg, Muscles muscle, float amount = 1f)
    {
        float tempBonus = 0;

        if (leg.name.Contains("bl") || leg.name.Contains("br"))
        {
            tempBonus += backLegBonus;
        }
        else
        {
            tempBonus += frontLegBonus;
        }

        switch (muscle)
        {
        case Muscles.Biceps:
            DogLeg.Contract(leg.biceps, -(1 - leg.GetMuscleLength(leg.biceps)) * (bicepsFullContractForce + tempBonus) * amount);
            break;

        case Muscles.Triceps:

            DogLeg.Contract(leg.triceps, -(1 - leg.GetMuscleLength(leg.triceps)) * (tricepsFullContractForce + tempBonus) * amount);

            break;

        case Muscles.Chest:
            DogLeg.Contract(leg.chest, -(1 - leg.GetMuscleLength(leg.chest)) * (chestFullContractForce + tempBonus) * amount);
            break;
        }
    }
예제 #2
0
    // close muscle wherever it is
    // if amount is negative, use extend.
    void ContractMuscle(DogLeg leg, Muscles muscle, float amount = 1f)
    {
        float tempBonus = 0;
        if (leg.name.Contains("bl") || leg.name.Contains("br"))
            tempBonus += backLegBonus;
        else
            tempBonus += frontLegBonus;

        if (amount < 0) {
            ExtendMuscle(leg, muscle, -amount);
        } else {
            switch (muscle) {
            case Muscles.Biceps:
                DogLeg.Contract(leg.biceps, leg.GetMuscleLength(leg.biceps) * (bicepsFullContractForce + tempBonus) * amount);

                break;
            case Muscles.Triceps:
                DogLeg.Contract(leg.triceps, leg.GetMuscleLength(leg.triceps) * (tricepsFullContractForce + tempBonus) * amount);

                break;
            case Muscles.Chest:
                DogLeg.Contract(leg.chest, leg.GetMuscleLength(leg.chest) * (chestFullContractForce + tempBonus) * amount);

                break;

            }
        }
    }
예제 #3
0
 public AddExerciseItemViewModel()
 {
     Exercise             = new Exercise();
     Exercise.Name        = "Dumbbell Incline Curl";
     Exercise.Description = @"With elbows back to sides, raise one dumbbell and rotate forearm until forearm is vertical and palm faces shoulder.Lower to original position and repeat with opposite arm.Continue to alternate between sides.";
     for (int i = 0; i < 17; i++)
     {
         if (i == 1 || i == 3 || i == 6)
         {
             var m = new Muscles();
             m.Id      = i;
             m.IsFront = true;
             Exercise.MainMuscles.Add(m);
         }
         else
         {
             if (i == 11)
             {
                 var m = new Muscles();
                 m.Id      = i;
                 m.IsFront = false;
                 Exercise.MainMuscles.Add(m);
             }
             Exercise.MainMuscles.Add(null);
         }
     }
 }
예제 #4
0
        private void select_muscle_cb_SelectedIndexChanged(object sender, EventArgs e)
        {
            muscle_changed = true;
            var db = new Model1();
            var selected_muscle = new Muscles();

            selected_muscle = db.Muscles.Where(m => m.muscle_name == select_muscle_cb.Text).First();
            var ex_list = extract_from_database.exercises_names(selected_muscle);

            pick_ex_cbox.DataSource = ex_list;
            if (display_muscle_cbox.CheckState == CheckState.Checked)
            {
                display_muscle_cbox.CheckState = CheckState.Unchecked;
                charting.clear_series(result, previous_item);
            }
            if (all_muscles_cbox.CheckState == CheckState.Checked)
            {
                all_muscles_cbox.CheckState = CheckState.Unchecked;
                foreach (var item in db.Muscles)
                {
                    charting.clear_series(result, item.muscle_name);
                }
            }
            all_muscles_cbox.CheckState = CheckState.Unchecked;
            charting.clear_series(result, previous_item);
            display_muscle_cbox.CheckState = CheckState.Unchecked;
            customize_checkedlistbox.clear(pick_ex_cbox);
            customize_checkedlistbox.check_common_ellements(pick_ex_cbox, result);
            muscle_changed = false;
            previous_item  = select_muscle_cb.Text;
        }
예제 #5
0
        public static void delete_muscle(int muscle_id)
        {
            var db     = new Model1();
            var muscle = new Muscles();

            muscle = db.Muscles.Where(m => m.id == muscle_id).First();
            foreach (var ex in db.Exercises.Where(m => m.id_muscle == muscle.id))
            {
                foreach (var ex_train in db.Exercises_trainings.Where(m => m.id_exercise == ex.id))
                {
                    foreach (var set in db.Series.Where(m => m.Exercises_trainings.id == ex_train.id))
                    {
                        db.Series.Attach(set);
                        db.Series.Remove(set);
                    }
                    db.Exercises_trainings.Attach(ex_train);
                    db.Exercises_trainings.Remove(ex_train);
                }
                db.Exercises.Attach(ex);
                db.Exercises.Remove(ex);
            }
            db.Muscles.Attach(muscle);
            db.Muscles.Remove(muscle);
            db.SaveChanges();
        }
예제 #6
0
    ///////////////////////////
    // Инициализация мозгов
    public void BrainInit()
    {
        muscles = this.GetComponent <Muscles>();
        target  = GameObject.Find("Target");
        weights = new float[numOfLayers.Count][][];
        biases  = new float[numOfLayers.Count][][];

        int numOfConnections = numOfEyes + 1;

        for (int i = 0; i < numOfLayers.Count; i++)
        {
            weights[i] = new float[numOfLayers[i]][];
            biases[i]  = new float[numOfLayers[i]][];
            for (int j = 0; j < numOfLayers[i]; j++)
            {
                weights[i][j] = new float[numOfConnections];
                biases[i][j]  = new float[numOfConnections];
                for (int k = 0; k < numOfConnections; k++)
                {
                    weights[i][j][k] = Random.Range(minWeight, maxWeight);
                    biases[i][j][k]  = Random.Range(minBias, maxBias);
                }
            }
            if (numOfConnections > maxNeuronCnt)
            {
                maxNeuronCnt = numOfConnections;
            }
            if (i < numOfLayers.Count - 1)
            {
                numOfConnections = numOfLayers[i];
            }
        }
    }
예제 #7
0
        public static string rename_muscle_exercise(ListBox muscles_list, ListBox exercises_list, string muscle_newname, string exercise_newname)
        {
            string output;

            if (muscles_list.SelectedItems.Count < 1)
            {
                output = ("A muscle should be selected first!");
            }
            else
            {
                if (Regex.IsMatch(muscle_newname, @"^[a-zA-Z -]+$") == false)
                {
                    output = ("Only letters, space and hyphen characters are allowed!");
                }
                else
                {
                    var db              = new Model1();
                    var muscle          = new Muscles();
                    var selected_muscle = muscles_list.GetItemText(muscles_list.SelectedItem);
                    muscle             = db.Muscles.Where(m => m.muscle_name == selected_muscle).First();
                    muscle.muscle_name = muscle_newname;


                    if (exercises_list.SelectedItems.Count > 0)
                    {
                        if (Regex.IsMatch(exercise_newname, @"^[a-zA-Z ':-]+$") == false)
                        {
                            output = ("Only letters, space and hyphen characters are allowed!");
                        }
                        else
                        {
                            var exercise          = new Exercises();
                            var selected_exercise = exercises_list.GetItemText(exercises_list.SelectedItem);
                            exercise = db.Exercises.Where(m => m.exercise_name == selected_exercise).First();
                            exercise.exercise_name = exercise_newname;
                            db.SaveChanges();
                            exercises_list.Items[exercises_list.SelectedIndex] = exercise_newname;
                            muscles_list.Items[muscles_list.SelectedIndex]     = muscle_newname;
                            output = ("Item(s) succesfully updated!");
                        }
                    }
                    else
                    {
                        if (exercise_newname != "")
                        {
                            output = ("Can't modify exercise field if no exercise was selected!");
                        }
                        else
                        {
                            db.SaveChanges();
                            muscles_list.Items[muscles_list.SelectedIndex] = muscle_newname;
                            output = ("Item(s) succesfully updated!");
                        }
                    }
                }
            }

            return(output);
        }
예제 #8
0
        public static List <String> exercises_names(Muscles muscle)
        {
            var output = new List <String>();

            foreach (var item in muscle.Exercises)
            {
                output.Add(item.exercise_name);
            }
            return(output);
        }
예제 #9
0
        public static List <Exercises> exercises(Muscles muscle)
        {
            var output = new List <Exercises>();

            foreach (var item in muscle.Exercises)
            {
                output.Add(item);
            }
            return(output);
        }
예제 #10
0
        private void muscles_cb_SelectedIndexChanged(object sender, EventArgs e)
        {
            var db = new Model1();
            //exercises_cb.DataSource = null;
            //exercises_cb.Items.Clear();
            var selected = new Muscles();

            selected = db.Muscles.Where(m => m.muscle_name == muscles_cb.Text).FirstOrDefault();
            var ex_list = extract_from_database.exercises_names(selected);

            exercises_cb.DataSource = ex_list;
        }
예제 #11
0
 private static Exercise CreateExercise(string name, Level level = Level.Beginner, string synopsis = "", Muscles musclesWorked = Muscles.None, Details details = null)
 {
     return new Exercise
            {
                Id = _nextId++,
                CreatedOn = DateTime.UtcNow,
                UpdatedOn = DateTime.UtcNow,
                Name = name,
                Level = level,
                Synopsis = synopsis,
                MusclesWorked = musclesWorked,
                Details = details
            };
 }
예제 #12
0
        public static Exercise AddNewExercise(this IExerciseRepository exerciseRepository, string name = null, Level level = Level.Beginner, Muscles musclesWorked = Muscles.None)
        {
            var newExercise = new Exercise
                              {
                                  CreatedOn = DateTime.Now,
                                  UpdatedOn = DateTime.Now,
                                  Synopsis = GenerateUniqueString(),
                                  Level = level,
                                  Name = name ?? GenerateUniqueString(),
                                  Details = new Details(),
                                  MusclesWorked = musclesWorked
                              };

            exerciseRepository.Add(newExercise);

            return newExercise;
        }
        public string add_muscle() // ADD MUSCLE
        {
            string input = prompt.ShowDialog("Insert the name of the muscle group:", "Add Muscle");

            if (input != null)
            {
                var db = new Model1();
                if (db.Muscles.Where(m => m.muscle_name == input).Count() > 0)
                {
                    MessageBox.Show("There already is an item with this name.");
                    input = null;
                }
                else
                {
                    var muscle = new Muscles();
                    muscle.muscle_name = input;
                    db.Muscles.Add(muscle);
                    db.SaveChanges();
                }
            }
            return(input);
        }
예제 #14
0
        private void delete_muscle_btn_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("All saved data including users records will be removed for this muscle group. Do you want to continue?", "Delete Muscle", MessageBoxButtons.YesNo);

            if (result == DialogResult.Yes)
            {
                if (muscles_list.SelectedItems.Count < 1)
                {
                    MessageBox.Show("A muscle group should be selected in the list!");
                }
                else
                {
                    var db     = new Model1();
                    var muscle = new Muscles();
                    muscle.muscle_name = muscles_list.GetItemText(muscles_list.SelectedItem);
                    muscle.id          = db.Muscles.Where(m => m.muscle_name == muscle.muscle_name).First().id;
                    delete.delete_muscle(muscle.id);
                    muscles_list.Items.Remove(muscles_list.Items[muscles_list.SelectedIndex]);
                    exercises_list.Items.Clear();
                    muscles_cb.Items.Remove(muscle.muscle_name);
                }
            }
        }
예제 #15
0
        private async Task LoadData()
        {
            if (_isDataLoaded)
            {
                return;
            }
            ModelExercises.Clear();
            _isDataLoaded = true;

            var modelExercises = await _workoutStore.GetModelExercisesAsync();


            IEnumerable <Muscle> muscles = new List <Muscle>();

            if (SelectedMuscle != null)
            {
                var assosiatedExercises = await _workoutStore.GetMuscleExerciseAssosiations("Primary", SelectedMuscle.Id);

                foreach (var assosiation in assosiatedExercises)
                {
                    ModelExercises.Add(modelExercises.Where(e => e.Id == assosiation.ModelExerciseId).SingleOrDefault());
                }
            }
            else
            {
                muscles = await _workoutStore.GetMusclesAsync();

                foreach (var muscle in muscles)
                {
                    Muscles.Add(muscle);
                }
                foreach (var exercise in modelExercises)
                {
                    ModelExercises.Add(exercise);
                }
            }
        }
예제 #16
0
        public static void Total_weight_pertraining(Chart result, Users current_user, Muscles selected_muscle)
        {
            var              db         = new Model1();
            bool             trigger    = false;
            List <Trainings> train_list = new List <Trainings>();

            foreach (var training in db.Trainings.Where(m => m.id_users == current_user.id))
            {
                train_list.Add(training);
            }
            train_list = train_list.OrderBy(x => x.training_date).ToList();
            result.Series.Add(selected_muscle.muscle_name);
            var index = result.Series.IndexOf(selected_muscle.muscle_name);

            result.Series[index].ChartType = SeriesChartType.Line;
            foreach (var training in train_list)
            {
                double total_lifted = 0;
                foreach (var ex in db.Exercises.Where(m => m.id_muscle == selected_muscle.id))
                {
                    foreach (var ex_train in db.Exercises_trainings.Where(m => m.id_training == training.id).Where(m => m.id_exercise == ex.id))
                    {
                        foreach (var set in db.Series.Where(m => m.id_exercise_training == ex_train.id))
                        {
                            trigger       = true;
                            total_lifted += set.weight * set.reps;
                        }
                    }
                }
                if (trigger == true)
                {
                    //DateTime dt = DateTime.ParseExact(training.training_date.ToString("dd/MM/yyyy/hh/mm/ss"), "dd/MM/yyyy/hh/mm/ss", CultureInfo.InvariantCulture);
                    result.Series[selected_muscle.muscle_name].Points.AddXY(training.training_date.ToString("dd/MM/yyyy-hh:mm"), total_lifted);
                    trigger = false;
                }
            }
        }