Skip to content

Instantly share code, notes, and snippets.

@olegrewko
Created May 9, 2020 13:56
Show Gist options
  • Select an option

  • Save olegrewko/0800d6879b747cf6557b63ad2084b2cb to your computer and use it in GitHub Desktop.

Select an option

Save olegrewko/0800d6879b747cf6557b63ad2084b2cb to your computer and use it in GitHub Desktop.
Ипподром
package IgorDolgov.ippodrom;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class Totalizator {
//Метод сортировки массива от max к min
private static int[] sortMaxMin (int[] array) {
for (int i = 0; i < array.length - 1; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i] < array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
return array;
}
//Метод randomArrayGenerator(n, m); выводит n-ое кол-во случайных чисел от 0 до m
//Метод генерации (int arrayLength) - случайных чисел от 0 до (int upperBound)
private static int[] randomArrayGenerator (int arrayLength, int upperBound) {
int[] array = new int[arrayLength];
Random random = new Random();
for (int i = 0; i < array.length; i++) {
array[i] = random.nextInt(upperBound);
}
return array;
}
public static void main (String[] args) {
System.out.println("Тусклая жизнь нормального, среднего человека хуже, чем смерть.Ч.Буковски");
System.out.println("Виды игр на тотализаторе Чарлзу Буковски посвящаю эту программу");
System.out.println("Лошади и номера участвующие в 13 забегах на 5 фарлонгов(1942г Лос-Анжелес ипподром Голливуд Парк");
ArrayList<String> horses = new ArrayList<>();
horses.add("[0]Быстрый");
horses.add("[1]Умный");
horses.add("[2]Серый");
horses.add("[3]Круг");
horses.add("[4]Сухой");
System.out.println(horses);
System.out.println("#1 Одинар 3 Необходимо указать победителя в трех заездах подряд");
System.out.println("#2 Дважды-два Необходимо указать по две лошади первую и вторую в двух заездах подряд");
System.out.println("#3 Парный Необходимо указать две первые лошади в одном заезде независимо от их последовательности прихода к финишу");
System.out.println("#4 Экспресс-4 Необходимо указать победителя, второго, третьего и четвертого призеров обязательно по порядку прихода к финишу");
System.out.println("#5 5-Побед Необходимо указать победителя в пяти заездах подряд");
System.out.println();
System.out.println("Выберите вид игры: введите от одной до пяти цифр [1-5]через пробел");
Scanner scanner = new Scanner(System.in);
String userInput = scanner.nextLine();
String[] bloksInput = userInput.split(" ");
System.out.println(Arrays.toString(bloksInput));
for (int i = 0; i < bloksInput.length; i++) {
switch (bloksInput[i]) {
case "1":
System.out.println("#1 Одинар 3: Необходимо указать победителя в трех заездах подряд");
System.out.println("#1 Одинар 3: Введите порядковый номер лошади [0-4]");
int odinar3 = scanner.nextInt();
System.out.println(odinar3);
break;
case "2":
System.out.println("#2 Дважды-два: Введите два порядковых номера призеров в двух заездах подряд через пробел [0-4] [0-4] [0-4] [0-4]");
int[] a = new int[4];
a[0] = scanner.nextInt();
a[1] = scanner.nextInt();
a[2] = scanner.nextInt();
a[3] = scanner.nextInt();
System.out.println(Arrays.toString(a));
break;
case "3":
System.out.println("#3 Парный: Укажите две первые лошади в одном заезде независимо от их последовательности прихода к финишу [0-4] [0-4]");
int[] p = new int[2];
p[0] = scanner.nextInt();
p[1] = scanner.nextInt();
System.out.println(Arrays.toString(p));
break;
case "4":
System.out.println("#4 Экспресс-4 Необходимо указать победителя, второго, третьего и четвертого призеров" +
" обязательно по порядку прихода к финишу в одном заезде [0-4] [0-4] [0-4] [0-4]");
int[] exp4 = new int[4];
exp4[0] = scanner.nextInt();
exp4[1] = scanner.nextInt();
exp4[2] = scanner.nextInt();
exp4[3] = scanner.nextInt();
System.out.println(Arrays.toString(exp4));
break;
case "5":
System.out.println("#5 5-Побед Необходимо указать победителя в пяти заездах подряд [0-4]");
int victory5 = scanner.nextInt();
System.out.println(victory5);
break;
}
}
IppodromPlay();
}
public static void IppodromPlay () {
//racetrack - кол-во заездов на ипподроме
int racetrack = 14;
int numOfHorses = 5;//Кол-во лошадей в забеге фиксированная величина для увеличения добавить переменные a, b и hint_a
for (int n = 0; n < racetrack; n++) {
int[] array01 = randomArrayGenerator(numOfHorses, 1750);
// System.out.println(Arrays.toString(array01));
ArrayList<Integer> arrayL1 = new ArrayList<>();
for (int i = 0; i < numOfHorses; i++) {
arrayL1.add(array01[i]);
}
// System.out.println(arrayL1);
int[] sortedArray01 = sortMaxMin(array01);
// System.out.println(Arrays.toString(sortedArray01));
ArrayList<Integer> arrayLsorted01 = new ArrayList<>();
for (int i = 0; i < 5; i++) {
arrayLsorted01.add(sortedArray01[i]);
}
// System.out.println(arrayLsorted01);
int a = arrayLsorted01.get(0);
int b = arrayLsorted01.get(1);
int c = arrayLsorted01.get(2);
int d = arrayLsorted01.get(3);
int e = arrayLsorted01.get(4);
int hint_a = arrayL1.indexOf(a);
int hint_b = arrayL1.indexOf(b);
int hint_c = arrayL1.indexOf(c);
int hint_d = arrayL1.indexOf(d);
int hint_e = arrayL1.indexOf(e);
int[] hintArray = new int[]{hint_a, hint_b, hint_c, hint_d, hint_e};
System.out.println(Arrays.toString(hintArray) + " --------- Результат " + n + " заезда");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment