Kod napisałem od "void practice". Potrzebuje wykropkowanych części w funkcji "void practice".
Przykładowe dane, które są błędne:
FAILEDPlayer( 90, 200, 137, 42, 77, 91 ); practice( 0, 136 ); practice( 1, 28 ); practice( 2, 143 ); { strength = 0, shootingSkill = 54, passingSkill = 79, defenceSkill = 93 };
FAILEDPlayer( 62, 178, 126, 20, 90, 75 ); practice( 0, 206 ); practice( 1, 214 ); practice( 2, 96 ); { strength = 9, shootingSkill = 32, passingSkill = 102, defenceSkill = 84 };
FAILEDPlayer( 73, 151, 105, 48, 50, 42 ); practice( 0, 52 ); practice( 1, 114 ); practice( 2, 112 ); { strength = 0, shootingSkill = 53, passingSkill = 55, defenceSkill = 42 };
FAILEDPlayer( 25, 211, 133, 25, 28, 5 ); practice( 0, 168 ); practice( 1, 197 ); practice( 2, 220 ); { strength = 16, shootingSkill = 37, passingSkill = 40, defenceSkill = 17 };
FAILEDPlayer( 55, 213, 139, 30, 66, 27 ); practice( 0, 99 ); practice( 1, 143 ); practice( 2, 199 ); { strength = 0, shootingSkill = 39, passingSkill = 75, defenceSkill = 27 };
FAILEDPlayer( 66, 207, 81, 98, 0, 83 ); practice( 0, 158 ); practice( 1, 91 ); practice( 2, 202 ); { strength = 15, shootingSkill = 110, passingSkill = 12, defenceSkill = 95 };
FAILEDPlayer( 5, 155, 108, 3, 54, 55 ); practice( 0, 235 ); practice( 1, 25 ); practice( 2, 213 ); { strength = 0, shootingSkill = 15, passingSkill = 56, defenceSkill = 57 };
FAILEDPlayer( 6, 229, 151, -7, 65, -2 ); practice( 0, 84 ); practice( 1, 9 ); practice( 2, 127 ); { strength = 0, shootingSkill = 8, passingSkill = 73, defenceSkill = 0 };
FAILEDPlayer( 4, 193, 133, 38, 13, 2 ); practice( 0, 27 ); practice( 1, 61 ); practice( 2, 12 ); { strength = 0, shootingSkill = 40, passingSkill = 15, defenceSkill = 2 };
FAILEDPlayer( 47, 158, 114, 55, 18, 79 ); practice( 0, 212 ); practice( 1, 142 ); practice( 2, 29 ); { strength = 2, shootingSkill = 67, passingSkill = 30, defenceSkill = 81 };
Polecenie:
w klasie Player uzupełnij metodę void practice ( int skill, int time ), symulującą trening zawodnika. Wartość przekazana przez parametr int skill określa rodzaj umiejętności, która jest trenowana:
0 - shootingSkill
1 - passingSkill
2 - defenceSkill
Wartość przekazana przez parametr int time określa czas treningu w minutach. Każde pełne 10 minut treningu powinno podnosić wartość pola określającego trenowaną umiejętność o 1 oraz obniżać wartość pola int strength o 1.
Przyjmij następujące zastrzeżenia:
1. zakres dozwolonych wartości pół int shootingSkill, int passingSkill, int defenceSkill, int strength: min. 0, max. 100.
2. trening daje efekt podnoszenia umiejętności tylko przez pierwsze 120 minut. Wartość pola int strength maleje przez cały czas trwania treningu (nie mniej niż do wartości 0).
class Player {
private int number;
private int height;
private int weight;
private int strength = 100;
private int shootingSkill;
private int passingSkill;
private int defenceSkill;
// constructor
Player ( int number, int height, int weight, int shootingSkill, int passingSkill, int defenceSkill ) {
if ( number < 0 ) this.number = 0;
else if (number > 99) this.number = 99;
else this.number = number;
if ( height < 150 ) this.height = 150;
else if (height > 230) this.height = 230;
else this.height = height;
if ( weight < 70 ) this.weight = 70;
else if (weight > 150) this.weight = 150;
else this.weight = weight;
if ( shootingSkill < 0 ) this.shootingSkill = 0;
else if (shootingSkill > 100) this.shootingSkill= 100;
else this.shootingSkill = shootingSkill;
if ( passingSkill< 0 ) this.passingSkill = 0;
else if (passingSkill> 100) this.passingSkill = 100;
else this.passingSkill = passingSkill;
if ( defenceSkill< 0 ) this.defenceSkill = 0;
else if (defenceSkill> 100) this.defenceSkill = 100;
else this.defenceSkill = defenceSkill;
}
// practice
void practice ( int skill, int time ) {
int timeS = time;
if ( timeS > 120 ){
timeS = 120;
}
...
switch (skill){
case 0: this.shootingSkill += (timeS / 10 ); break;
case 1: this.passingSkill += (timeS / 10 ); break;
case 2: this.defenceSkill += (timeS / 10 ); break;
}
if ( this.shootingSkill > 100 ){
this.shootingSkill = 100;
}
...
...
if ( this.strength < 0 ) {
this.strength = 0
}
}
}
}