import java.util.Random;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
System.out.println("угадай дверь, в диапозоне от 0 до 9 \nпочти все двери в случайном порядке\nкак минимум 1 дверь на своем месте\nугадай ее".toUpperCase());
Random rdm = new Random();
Scanner sca = new Scanner(System.in);
boolean logic = false;
int[] array = new int[10];
int count = 0;
int co = 0;
while (count < 10) {
int numb = rdm.nextInt(10);
array[count] = numb;
while (!logic) {
if (array[0] == 0 || array[1] == 1 || array[2] == 2 || array[3] == 3 || array[4] == 4 || array[5] == 5 || array[6] == 6 || array[7] == 7 || array[8] == 8 || array[9] == 9) {
logic = true;
}//if
else {
int a = rdm.nextInt(10);
array[a] = rdm.nextInt(10);
co++;
}// else
}//while logic
count++;
} //whilemain
for (int i = 0; i < 10; i++) {
System.out.print(i + " —>");
System.out.print("🚪" + " ");
}//for
System.out.println();
System.out.println("С " + co + " раза создали комнаты");
int life = 3;
while (life > 0) {
System.out.println(life + " попытки угадать дверь");
System.out.print("Выберите комнату :");
int player = sca.nextInt();
if (array[player] == player) {
System.out.println("угадали");
for (int i = 0; i < 10; i++) {
System.out.print(array[i] + " —>");
System.out.print("🚪" + " ");
life = 0;
}//for
} else if (life > 1) {
System.out.println("не верно,давай еще раз");
System.out.println();
} else {
System.out.println("Вы проиграли");
System.out.println("Вот карта дверей");
for (int i = 0; i < 10; i++) {
System.out.print(array[i] + " —>");
System.out.print("🚪" + " ");
life = 0;
}//for
}
life--;
}
}//main
}//class
Anonymous #3344282
9 уровень
Всем привет, подскажите , вроде сделал правильно, но иногда совпадений нет
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Денис Enterprise Java Developer
3 сентября 2023, 08:51
Я тут маленько причесал.
+2
Anonymous #3344282
3 сентября 2023, 10:46
ого, спасибо!
но, пока этот код, для меня не читабельный
буду учить разбирать!
0
Денис Enterprise Java Developer
3 сентября 2023, 12:13
Там ничего сложного нет, просто вынес куски логики в небольшие методы для большей читаемости, и заменил массив на список, чтобы удобнее это все перетасовать. Лень было писать алгоритм перетасовки для массива раз уже есть готовое решение. Можно было бы превратить готовый список обратно в массив конечно, но зачем ?)
Остальные изменения минимальны. Количество дверей и жизней вынес в переменные, так ты для игры можешь теперь это конфигурировать через конструктор. Ну и раз все равно появилось какое-то состояние, я отказался от статики почти полностью, теперь каждая игра это отдельный объект, создавай и запускай сколько хочешь :) Например если лень запускать код каждый раз можно сделать так
И играй до посинения. 0
Anonymous #3344282
3 сентября 2023, 17:57
а все таки ,почему в моем коде бывает после 28 итераций совпадений нет, и он выдает проигрышный вариант? в чем проблема хэх!!!!!
0
Денис Enterprise Java Developer
3 сентября 2023, 18:25
Понятия не имею, я его даже не читал. Не в обиду но это полный кошмар и ужас.
0
Anonymous #3344282
3 сентября 2023, 19:36
ну это понятное дело, на моем уровне!
но нашел проблему!
пока в моем случае логику правильно развивать, ну а прочие функции и классы и т д, выучим.
0