Châssis

La section Mécaniques de jeu du manuel détaille la formule interne utilisée dans les calculs du jeu. Cette section du manuel utilise du pseudo-code et peut ne pas être identique à 100 % au code du jeu.

La partie Mécaniques de jeu du manuel est principalement conçue pour servir de référence à la question fréquemment posée : « Pourquoi est-ce que j'obtiens cette note lorsque je fais X, Y, Z ?! » Habituellement, cette réponse implique de nombreuses variables différentes, comme le démontre cette section du manuel.

## Variables

Il s'agit d'un tableau des variables et de leurs descriptions utilisées dans les formules.

## Spécifications

### Longueur du châssis

Longueur du châssis en cm.

```
Chassis_Length  =   (  145   +  Global_Lengths  *   (  2,3  *  Slider_FD_Length  )  )   -   (  (  Global_Lengths  *   0,5  )  /  5  )

```

### Largeur du châssis

Largeur du châssis en cm.

```
Chassis_Width  =   (  100   +  Global_Width  *  Slider_FD_Width  +   20   *  Slider_FD_Length  )

```

### Poids du châssis

Largeur du châssis en kg.

```
Chassis_Weight  =   40   +   (  (  Global_Weight  )   *   (  1,25  *  Slider_FD_Weight  +  0,1  )   +
	 (  (  Global_Weight  *  .5  )  *  (  6  *  Slider_FD_Length  +  0,1  )  )   +
	 (  (  Global_Weight  /  15  )  *  (  3,3  *  Slider_FD_Width  +  0,1  )  )   +
	 (  (  Global_Weight  /  20  )  *  (  2  *  Slider_FD_Height  +  0,1  )  )   +
	 (  (  Global_Weight  /  5  )  *  (  5  *  SubComponent_Frame_Weight  +  0,1  )  )   +
	 (  (  Global_Weight  /  10  )  *  (  3  *  SubComponent_Drive_Weight  +  0,1  )  )   -
	 (  (  Global_Weight  /  5  )  *  (  Slider_TECH_Materials  )  )   -
	 (  (  Global_Weight  /  8  )  *  (  Slider_DE_Performance  )  )   -
	 (  (  Global_Weight  /  11  )  *  (  Slider_TECH_Techniques  )  si  ) )

 l'  année est inférieure à  1981  )
	  Chassis_Weight  /  =   (  2.0   *  ex_0d9962p_year99  )
 sinon
	  Poids_châssis  /  =   (  1.469262941607760500229789005264   )

```

### Longueur maximale du moteur

Longueur maximale du moteur en pouces.

```
Max_Engine_Length  =   (  8   +   (  (  (  (  Global_Lengths  *  2,25  )   /   24  )   *
	 (  (  Slider_FD_Length  +  .1  )  *  2,5  )  )   +   (  (  Global_Lengths  *  2,25  )   /   24  )    *
	 (  Slider_FD_ENG_Length  +  .1  )  )  )  *  SubComponent_Drivetain_Engine_Length

```

### Largeur maximale du moteur

Largeur maximale du moteur en pouces.

```
Max_Engine_Width  =   (  8   +   (  (  12    *   (  (  Slider_FD_Width  +  0.1  )  )  *  2.5  )   +   13   *
            (  1.25  *  Slider_FD_ENG_Width  +   0.1  )  )  *  SubComponent_Drivetain_Engine_Width  )

```

## Notes

### Cote de confort

Valeur limitée entre 0 et 100.

```
Comfort_Rating  =   (  (  Slider_DE_Control  )   +   (  SubComponent_Drive_rideSteering  )   +
	 (  Slider_FD_Weight  )   +   (  SubComponent_FrSus_Braking  +
	  SubComponent_RrSus_Braking  +  Slider_SUS_Braking  *   4.5  )   +
         (  SubComponent_FrSus_Comfort  +  SubComponent_RrSus_Comfort  +
          Slider_SUS_Comfort  *   6   )   +   (  SubComponent_FrSus_Steering  +
          SubComponent_RrSus_Steering  +  Slider_SUS_Stability  *   4.5  )   +
         (  (  Slider_TECH_Compoenents  +  Slider_TECH_Materials  +
          Slider_TECH_Tech  +  Slider_TECH_Techniques  )  /  2  )  )

  Confort_Rating  /  =    2,6

  Confort_Rating  *  =   10

  Comfort_Rating  +  =   (  10   *   (  Marq_DesignChassisSkill  /  100.0  )  )

 si  Comfort_Rating est supérieur à  100
      Confort_Rating  =   100

```

### Évaluation des performances

Valeur limitée entre 0 et 100.

```
Performance_Rating  =  Slider_SUS_Braking  *  2   +  (  Slider_DE_Performance  )   -
	 (  Slider_FD_Weight  *  2  )  +   (  Slider_SUS_Performance  *  4  )  +
	 (  SubComponent_FrSus_Steering  )  +  (  SubComponent_RrSus_Steering  )  +
	 (  (  Slider_TECH_Compoenents  +  Slider_TECH_Materials  *  2  +
	  Slider_TECH_Tech  +  Slider_TECH_Techniques  )  /  2.0  )  +
          SubComponent_FrSus_Performance  +  SubComponent_RrSus_Performance  +
          SubComponent_Frame_Performance  +  SubComponent_Drive_carPerformance  *  2   -
         (  Slider_FD_Length  +  Slider_FD_Width  )  +  (  1.0  -  Slider_SUS_Stability  )

  Performance_Rating  /  =   2,0

  Performance_Rating  *  =   10

  Performance_Rating  +  =   (  10   *   (  Marq_DesignChassisSkill  /  100.0  )  )

 si  Performance_Rating est supérieur à  100
      Performance_Rating  =   100

```

### Indice de résistance

Valeur limitée entre 0 et 100.

```
Strength_Rating  =   (  (  (  SubComponent_Drive_Weight  +  SubComponent_Frame_Weight  )  /  4  )   +
          Slider_FD_Weight  *  2   +   (  (  SubComponent_Drive_Duriblity  +  SubComponent_Frame_Durability  +
          SubComponent_RrSus_Durability  +  SubComponent_FrSus_Durability  )  /  6  )   +
          Slider_FD_Height  *   5   +  SubComponent_Frame_Str  *  8   +  Slider_DE_Str  +
         (  (  Slider_TECH_Compoenents  *  2   +  Slider_TECH_Materials  *  2   +
          Slider_TECH_Tech  *  2   +  Slider_TECH_Techniques  *  2  )  /  2  )  +  (  Slider_FD_Length  )  )

  Force_Rating  /  =    2,6

  Force_Rating  *  =   10

  Strength_Rating  +  =   (  10   *   (  Marq_DesignChassisSkill  /  100.0  )  )

 si  Strength_Rating est supérieur à  100
      Force_Rating  =   100

```

### Cote de durabilité

Valeur limitée entre 0 et 100.

```
Durability_Rating  =  Slider_DE_Depend  *  0,5   +  SubComponent_Drive_Duriblity  *  1,5   +
          SubComponent_Frame_Durability  *  1,5   +   (  (  SubComponent_FrSus_Durability  +
          SubComponent_RrSus_Durability  )  /  2  )   +  Slider_SUS_Durability  *  2,5   +
         (  (  Slider_TECH_Compoenents  +  Slider_TECH_Materials  +
          Slider_TECH_Techniques  -  Slider_TECH_Tech  )  )

  Durabilité_Rating  *  =   10

  Durability_Rating  +  =   (  10   *   (  Marq_DesignChassisSkill  /  100.0  )  )

 si  Durability_Rating est supérieur à  100
      Durabilité_Rating  =   100

```

### Note globale

Valeur limitée entre 0 et 100.

```
Note_globale  =   (  Note_confort  +  Note_performance  +
	  Strength_Rating  +  Durability_Rating  +  Marq_DesignChassisSkill  )  /  5

  Global_Rating  +  =    (  5  *  PreResearchChassisAmountEffect  )

 si  Global_Rating est supérieur à  100
      Note_globale  =   100

```

### Exigences de conception

Valeur limitée entre 0 et 100.

```
Design_Req  =   (  Slider_DE_Control  +  Slider_DE_Depend  +  Slider_DE_Performance
              +  Slider_DE_Str  +  SubComponent_Drive_Design  +  SubComponent_Frame_Design
              +  SubComponent_FrSus_Design  +  SubComponent_RrSus_Design  )

  Design_Req  +  =   (  (  Slider_FD_ENG_Length  +  Slider_FD_ENG_Width  +   (  1  -  Slider_FD_Weight  )
                         +  Slider_SUS_Braking  +  Slider_SUS_Comfort  +  Slider_SUS_Durability
                          +  Slider_SUS_Performance  +  Slider_TECH_Tech  )  /  4  )

  Design_Req  =   (  Design_Req  -  Slider_TECH_Techniques  )   *   10

```

### Exigences de fabrication

```
Manufacturing_Req  =   (  (  SubComponent_Frame_Weight  /  2  )   +  Slider_SUS_Durability  +  Slider_DE_Depend
          +  Slider_TECH_Compoenents  +  Slider_TECH_Matériaux  +  Slider_TECH_Tech
          +   (  Slider_TECH_Techniques  *   1.5  )   +  SubComponent_Frame_Manu  +  SubComponent_Drive_Manu
          +  SubComponent_FrSus_Manu  +  SubComponent_RrSus_Manu  )  ;

  Fabrication_Req  =  Fabrication_Req  *   10   +   0,01  ;

```

## Divers

### Employés requis

```
si  année avant  2021
      Engineers_Required  =  Design_Req  *   (  0,08833  *  (  année  -  1899  )  +  0,275  )  ;
  autre
      Engineers_Required  =  Design_Req  *   (  0,08833  *  (  121  )  +  0,275  )  ;

  Engineers_Required  =  Engineers_Required  /  5   +   (  (  Engineers_Required  /  1.2  )  *  Slider_DesignPace  )   +   2  ;

```

### Coûts de fabrication

```
Costs_Dimension_Sliders  =   (  Slider_FD_Height  *  Slider_FD_Height  )    +
         (  Slider_FD_Length  *  Slider_FD_Length  *  1.2  )    +
         (  Slider_FD_Width  *  Slider_FD_Width  )   +    (  (  1  -  Slider_FD_Weight  )   *
         (  1  -  Slider_FD_Weight  )  )   +
         (  Slider_FD_ENG_Length  *  Slider_FD_ENG_Length  *  0,8  )   +
         (  Slider_FD_ENG_Width  *  Slider_FD_ENG_Width  *  0,8  )

  Costs_Frame  =   (  (  Costs_Dimension_Sliders  *   (  25  *  ex_1d015p_year99  )   *
          SubComponent_Drive_Cost  )
         *  SubComponent_Frame_Cost  )   *  ex_1d015p_year99  *   (  carPriceRate  )

  Costs_Frame  =   15    *  ex_1d02p_year99  +  Costs_Frame  +   1   +   (  .04   *  Costs_Frame  )   +
         (  15   *  ex_1d015p_year99  *  SubComponent_Drive_Cost  )   +
         (  15   *  ex_1d015p_year99  *  SubComponent_Frame_Cost  )

  Costs_Suspensions_Sliders  =   (  Slider_SUS_Braking  *  Slider_SUS_Braking  *   0,75  )   +
         (  Slider_SUS_Comfort  *  Slider_SUS_Comfort  *  1,25   )   +
         (  Slider_SUS_Performance  *  Slider_SUS_Performance  *  1,2   )  +
         (  Slider_SUS_Durability  *  Slider_SUS_Durability  *  1,35   )   +
         (  Slider_SUS_Stability  *  Slider_SUS_Stability  )

  Coûts_Suspension  =   (  (  Coûts_Suspensions_Sliders  *   (  20   *  ex_1d02p_year99  )   *
          SubComponent_FrSus_Cost )   *  SubComponent_RrSus_Cost  )   *
          ex_1d015p_year99  *   (  carPriceRate  )

  Costs_Suspension  =   15   *  ex_1d02p_year99  +  Costs_Suspension  +
         1   +   (  .04   *  Costs_Suspension  )   +
         (  15   *  ex_1d015p_year99  *  SubComponent_FrSus_Cost  )   +
         (  15   *  ex_1d015p_year99  *  SubComponent_RrSus_Cost  )

  Costs_Tech_Sliders  =   (  Slider_TECH_Compoenents  *  Slider_TECH_Compoenents  *   1,15  )   +
         (  Slider_TECH_Materials  *  Slider_TECH_Materials  *   1,25  )   +
         (  Slider_TECH_Tech  *  Slider_TECH_Tech  *   1,25  )   +
         (  Slider_TECH_Techniques  *  Slider_TECH_Techniques  *   0,75  )

  Costs_Tech  =  Costs_Tech_Sliders  *   (  30   *  ex_1d015p_year99  )    *   (  carPriceRate  )

  Costs_Tech  =   15   *  ex_1d015p_year99  +  Costs_Tech  +   1   +   (  .04   *  Costs_Tech  )

  Costs_Hyper_Sliders  =   (  (  Slider_DE_Control  +  Slider_DE_Depend  +
      Slider_DE_Performance  +  Slider_DE_Str  )   +
     (  Slider_FD_Length  +  Slider_FD_Width  +  Slider_FD_Height  +
     (  1  -  Slider_FD_Weight  )  +  Slider_FD_ENG_Width  +  Slider_FD_ENG_Length  )   +
     (  Slider_SUS_Stability  +  Slider_SUS_Comfort  +  Slider_SUS_Performance  +
      Slider_SUS_Braking  +  Slider_SUS_Durability  )   +
     (  Slider_TECH_Matériaux  + Slider_TECH_Compoents  +
      Slider_TECH_Techniques  +  Slider_TECH_Tech  )  )  /  19.0

  Costs_Hyper  =   450   *  ex_1d045p_year99  *   (  Costs_Hyper_Sliders  ^  4  )

  Manufacturing_Costs  =   (  (  Costs_Frame  +  Costs_Suspension  +  Costs_Tech  )   *
                     (  carPriceRate  )  )   *  designRandomVal

  Manufacturing_Costs  +  =  Manufacturing_Costs  -  (  (  Manufacturing_Costs  /  10.0  )
                     *   (  Marq_DesignChassisSkill  /  100.0  )  )

```

### Coûts de conception

```
DesignCosts_FrameSliders  =   (  Slider_FD_ENG_Length  *  Slider_FD_ENG_Length  )   +
                         (  Slider_FD_ENG_Width  *  Slider_FD_ENG_Width  )   +
                         (  Slider_FD_Height  *  Slider_FD_Height  )   +
                         (  Slider_FD_Length  *  Slider_FD_Length  *   1.2  )   +
                         (  Slider_FD_Width  *  Slider_FD_Weight  *   0,8  )   +
                         (  1  -  (  Slider_FD_Weight  *  Slider_FD_Width  *   0.8  )  )

  DesignCosts_Frame  =  DesignCosts_FrameSliders  *   (  7000   *  ex_1d028p_year99  )

  ConceptionCosts_Frame  =   (  ConceptionCosts_Frame  +   5000   )   *
                      SubComponent_Frame_Design  *  SubComponent_Drive_Design  ;

  DesignCosts_SuspensionSliders  =   (  Slider_SUS_Braking  *  Slider_SUS_Braking  *   0,8   )   +
                     (  Slider_SUS_Comfort  *  Slider_SUS_Comfort  *   1,2  )   +
                     (  Slider_SUS_Durability  *  Slider_SUS_Durability  *   1,25  )   +
                     (  Slider_SUS_Performance  *  Slider_SUS_Performance  *   1,15   )   +
                     (  Slider_SUS_Stability  *  Slider_SUS_Stability  *   1.05  )

  DesignCost_Suspension  =  DesignCosts_SuspensionSliders  *    (  9000   *  ex_1d028p_year99  )

  ConceptionCost_Suspension  =   (  ConceptionCost_Suspension  +   2500  )   *
                          SubComponent_FrSus_Design  *  SubComponent_RrSus_Design

  DesignCosts_DesignSliders =   (  Slider_DE_Control  *  Slider_DE_Control  *  10  )   +
                             (  Slider_DE_Depend  *  Slider_DE_Depend  *  10  )   +
                             (  Slider_DE_Performance  *  Slider_DE_Performance  *  10  )   +
                             (  Slider_DE_Str  *  Slider_DE_Str  *  10  )

  DesignCosts_Design  =  DesignCosts_DesignSliders  *   (  14000   *  ex_1d028p_year99  )

  DesignCosts_Design  =   (  DesignCosts_Design  +   12000   )   *  SubComponent_Frame_Design  *
                      SubComponent_Drive_Design  *  SubComponent_FrSus_Design  *
                      SubComponent_RrSus_Design

  DesignCosts_TechSliders  =   (  Slider_TECH_Compoenents  *  Slider_TECH_Compoenents  )   +
                         (  Slider_TECH_Materials  *  Slider_TECH_Materials  )   +
                         (  Slider_TECH_Tech  *  Slider_TECH_Tech  )   +
                         (  Slider_TECH_Techniques  *  Slider_TECH_Techniques  )

  DesignCosts_Tech  =  DesignCosts_TechSliders  *    (  9500   *  ex_1d028p_year99  )

  DesignCosts_Tech  =   (  DesignCosts_Tech  +   15000  )

 //Voir les coûts de fabrication pour les calculs.
  Costs_Hyper_Sliders  =  Costs_Hyper_Sliders  *   (  100  *  ex_1d025p_year99  )  ;

  DesignCosts  =   (  DesignCosts_Frame  +  DesignCost_Suspension  +  DesignCosts_Design  +
              DesignCosts_Tech  +  Costs_Hyper_Sliders )   *  ex_1d032p_année99

  DesignCosts  =   (  DesignCosts  /  5  )  +  (  DesignCosts  *  (  Slider_DesignPace  *  Slider_DesignPace  *  4.5  )  )

```

### Heure de fin

```
FinishTime_Frame  =   (  (  Slider_FD_Height  +  Slider_FD_Length  +  Slider_FD_Width  +
             (  (  Slider_FD_ENG_Length  +  Slider_FD_ENG_Width  )  /  1.5  )  )  /
             (  Slider_FD_Weight  +   .25  )  )

  FinishTime_Suspension  =   (  (  Slider_SUS_Braking  *  0,5   +  Slider_SUS_Comfort  +
                          Slider_SUS_Durabilité  +  Slider_SUS_Performance  +
                          Slider_SUS_Stabilité  )  /  2  )

  FinishTime_Design  =   (  Slider_DE_Control  +  Slider_DE_Depend  +
                      Slider_DE_Performance  +  Slider_DE_Str  )   *   6

  FinishTime_Tech  =   (  (  Slider_TECH_Compoenents  +  Slider_TECH_Materials  +
                      Slider_TECH_Tech  )   /   1.25  )  ;

  FinishTime  =   4   +   (  (  FinishTime_Frame  +  FinishTime_Suspension  +
              FinishTime_Design  +  FinishTime_Tech  )  /  4,95  )   *
              ex_1d005p_year99  +   (  1,15  *  ex_1d003p_year99  *  hyperSliders  )

 si  l'année est inférieure à  2020
 {
     si  Slider_DesignPace  +  0,05  est supérieur à  0
          AdditionalTime  =   (  (  (  année  -  1840  )  /  15,0  )  *  (  (  0,5  /  (  Slider_DesignPace  +  0,05  )  )  -  0,45  )  )
     sinon
          Temps supplémentaire  =   (  (  (  année  -  1840  )  /  15,0  )  *  (  (  0,5  /  (  0,05  )  )  -  0,45  )  )
 }
 else
 {
    si  Slider_DesignPace  +  0,05  est supérieur à  0
          Temps supplémentaire  =   (  (  (  2020  -  1840  )  /  15,0  )  *  (  (  0,5  /  (  Slider_DesignPace  +  0,05  )  )  -  0,45  )  )
     autre
          AdditionalTime  =   (   (  (  2020  -  1840  )  /  15,0   )   *  (  (  0,5  /  (  0,05  )   )   -  0,45  )   )
 }

 si  Slider_DesignPace est inférieur à  0,5
 {
      FinishTime  =  FinishTime  +  AdditionalTime  ;
  }
 autre
 {
      TurnsOff  =   (  Slider_DesignPace  -   0,5  )  /  0,20  ;
      FinishTime  =  FinishTime  +    (  AdditionalTime  -  TurnsOff  )  ;
  }

 si  FinishTime est inférieur à  1
      Heure de fin  =   1  ;

```