Вам нужно каждый раз пересчитывать значение кубика в вашем цикле, например:
import sys
import random
import time
greeting = "Welcome to my Dice Game!"
roll = "Lets roll this die!"
print(greeting)
time.sleep(2)
answer = input("Want to play?")
while answer == "yes" or answer == "y":
print(roll)
time.sleep(2)
die = random.randint(0, 6) # recompute it here instead
print(die)
answer = input("Want to play again?")
print("Thanks for playing!")
После того как Вы настроили индексный массив, можно отсортировать его с помощью пользовательского Comparison<T>
это сравнивает значения в соответствующих объектах в массиве данных:
Array.Sort<int>(index, (a,b) => anylist[a].CompareTo(anylist[b]));
Следующий код achievs индексируемый вид. Обратите внимание, что ToArray () звонят для клонирования массива данных. Если опущено, массив данных становится отсортированным, также.
static void Main(String[] args)
{
Int32[] data = new Int32[] { -6, 6, 5, 4, 1, 2, 3, 0, -1, -2, -3, -4, -5 };
Int32[] indices = Enumerable.Range(0, data.Length).ToArray();
Array.Sort(data.ToArray(), indices);
foreach (Int32 index in indices)
{
Console.Write(String.Format("{0} ", data[index]));
}
Console.ReadLine();
}
Вывод как exspected.
-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6