Answer:
An abstraction is about removing unnecessary pieces of information. Here the dice roll will just give the result of the "roll" without any of the actual dice information.
Step-by-step explanation:
In a real situation you pick up a dice, roll it to then see it rolling around as the number changes until it stops and you get a final result. We remove the middle part and leave only the output.
Also on a side note the previous answer gives a strange description of why a game is made up of sub tasks.
You make a game, and many programs, out of sub tasks as it provides easy decomposition (breaking down a task into small parts). It has nothing at all to do with the end user but rather it is a way of making the program easier to create, debug and maintain. It is easier to do this because you avoid repeating code, it is easier to find errors as you probably know roughly where the error is and it also allow easy changes to sections as the are in their own sub programs.