■ Java による作成例
import java.io.*;
import java.util.*;
class Program02
{
static private Random RandObj = new Random();
static int ThrowDices(int n)
{
int sum = 0;
for (int i = 0; i < n; i++)
sum += RandObj.nextInt(3) + 1;
return sum;
}
static void ShowBoard(int pos)
{
for (int i = 0; i < pos; i++)
System.out.print("_ ");
System.out.print("▲");
for (int i = pos + 1; i < 30; i++)
System.out.print("_ ");
System.out.print("|上がり!\n");
}
public static void main(String[] args) throws IOException
{
System.out.print("▲すごろく▼\n");
System.out.print("30マス先にゴールがあります。\n");
System.out.print("1,2,3の3つの目を持つ特別なサイコロ10個を、好きな数だけ振って駒を進めます。\n");
System.out.print("ぴったり上がりに止まれば終わりです。目の数が多ければ、余った目の数だけ戻ります。\n");
System.out.print("----------------------------------------------\n");
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
int reply;
do
{
int position = 0;
ShowBoard(position);
for (int turn = 1; ; turn++)
{
int n;
while (true)
{
System.out.print("残り" + ( 30 - position )
+ "マスです。サイコロの数は?");
n = Integer.parseInt(br.readLine());
if (n <= 10)
break;
else
System.out.print("サイコロは10個までです。");
}
int me = ThrowDices(n);
System.out.print("出た目の合計 " + me + "\n");
position += me;
if (position == 30)
{
System.out.print("おめでとう!! " + turn
+ "回目で上がりです\n");
break;
}
if (position > 30)
position = 30 - (position - 30);
ShowBoard(position);
}
System.out.print("もう一度やりますか?(Yes:1 No:0)");
reply = Integer.parseInt(br.readLine());
} while (reply != 0);
}
}