Предпочитать структуры данных над кодом.
final private static String text[] = {
"passage goes straight for 10 feet.", // 1, 2
"passage ends in door to a chamber.", // 3, 4, 5
"door to right (main passage continues straight for 10 ft)", // 6, 7
"door to left (main passage continues straight for 10 ft)", // 8, 9
"passage turns to left and continues for 10 ft", // 10, 11
"passage turns to right and continues for 10 ft", // 12, 13
"passage ends in door to chamber", // 14, 15, 16
"Stairs, (passage continues straight for 10 ft)", // 17
"Dead end", // 18, 19
"Wandering Monster (passage continues straight for 10 ft)" // 20
}
final private static int index[] = {
0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 8, 8, 9
}
public String generatePassageSection() {
return text[index[roll()-1]];
}
Построенный вручную индексный массив имеет неявные предположения о порядке и содержимом текстового массива. Я считаю это разумным с учетом обстоятельств и масштабов этой рутины;Я не рекомендую это в качестве общей практики.
Это неявно предполагает, что roll (), как известно, надежно возвращает результат в диапазоне от 1 до 20 включительно;если вы не можете доверять этому, следует добавить проверку ошибок.