Хочу проверить верный ли счет в теннисе.
В теннисе сет
заканчивается, когда один из игроков выигрывает 6 игр, а другой выигрывает меньше 5 или, если оба игрока выиграют как минимум 5 игр и пока один из игроков не выиграет 7 игр.
Надо определить попал ли в функцию правильный счет.
console.log(tennis(3, 6))//надо true
console.log(tennis(8, 5))//тут false
console.log(tennis(6, 5))//и тут false
function tennis(score1,score2){
if(score1 == 7 && score2 == 5|| score1 == 5 && score2 == 7){
return true;
}if(score1 == 7 &&score2 == 6 || score1== 6 && score2 == 7){
return true;
}
if(score1 == 6 && score2 < 5||score1 <5 && score2 == 6){
return true;}if(score1== 6&&score2 ==6){
return true;
}
return false;
}
По сути можно проверять выигрышный результат для 6 и 7 для одного из счетов и при этом проверять соответствует ли условию второй счет.
Вот так:
// если один из счетов равен 6(выигрышный счет),
// то проверить второй счет. В данном случае надо проверить на < 5
if (score1 == 6) return score2 < 5
if (score2 == 6) return score1 < 5
Но этот код должен быть под следующим кодом чтобы для счета 6 и 7 или 7 и 6 выдавало правильный результат.
Для 7 немного посложнее, надо проверить что другой счет больше 5 и меньше 7. Счета 7 и 7 не может быть, кто первый набрал 7, тот и выиграл.
if (score1 == 7) return score2 >= 5 && score2 < 7
if (score2 == 7) return score1 >= 5 && score1 < 7
Код if (score1== 6 && score2 == 6) {
вроде вообще не имеет смысла, Вы писали:
или если оба игрока выиграют как минимум 5 игр и пока один из игроков не выиграет 7 игр.
тот и тот набарали больше 5 но никто не набрал 7, поэтому надо false.
Вот полный код:
console.log(tennis(3, 6))//надо true
console.log(tennis(8, 5))//тут false
console.log(tennis(6, 5))//и тут false
function tennis (score1, score2) {
if (score1 == 7) return score2 >= 5 && score2 < 7
if (score2 == 7) return score1 >= 5 && score1 < 7
if (score1 == 6) return score2 < 5
if (score2 == 6) return score1 < 5
return false
}
Можно решить еще круче если использовать Math.min
и Math.max
чтобы определить меньший и больший счет, не нужно будет делать столько проверок:
console.log(tennis(3, 6))//надо true
console.log(tennis(8, 5))//тут false
console.log(tennis(6, 5))//и тут false
function tennis (a, b) {
const max = Math.max(a, b)
const min = Math.min(a, b)
return (max == 6 && min < 5) ||
(max == 7 && min != 7 && min >= 5)
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Проблему я собственно описал в заголовкеПосмотрел кучу видео, делаю все как там, почитал официальную документацию, насколько смог её понять...
Я разрабатываю сайтДоменное имя сайта knitting-master
Я пытаюсь сохранить информацию о пикселях в localStorage с помощью getImageDataСам объект вроде сохраняется, но как считать значения обратно?
Как организовать гравитацию на js , то есть объект прыгает и приземляется на землю