ソースコードの追記 |
サイコロを2回ふると、出目の合計は、2〜12までの数値になります。これを、曲の前半8回、後半8回について行うので、結局、2〜12までの乱数を16回、発生させれば良いことになります。ボタンを押すと、乱数を発生し、その結果を画面に表示する処理をソースコードに追加します。
下記のようにMainCanvas.javaを書き換えます。 |
import com.nttdocomo.ui.*;
import java.util.Random;
class MainCanvas extends Canvas
{
int dice[] = new
int[8*2];
Random rnd = new Random();
boolean init_flg = false;
public MainCanvas()
{
setSoftLabel(Frame.SOFT_KEY_1,"サイコロ");
setSoftLabel(Frame.SOFT_KEY_2,"終了");
}
public void paint( Graphics g )
{
if(init_flg == false)
{
init_flg =
true;
return;
}
g.clearRect(0,0,200,2*8*13+30);
int i;
for(i=0;i<8*2;i++)
{
g.drawString(Integer.toString(i+1)+"回目のサイコロ",0,i*13+30);
g.drawString(Integer.toString(dice[i]),100,i*13+30);
}
}
public void processEvent( int type, int param )
{
if( type == Display.KEY_PRESSED_EVENT
)
{
if( param == Display.KEY_SOFT1 )
{
int i;
for(i=0;i<8*2;i++)
{
dice[i] = rnd.nextInt(11)+2;
}
repaint();
}
else
if( param == Display.KEY_SOFT2 )
{
IApplication.getCurrentApp().terminate();
}
}
}
} |
赤い部分が、前の項目から書き足したり修正したりした部分です。 |
[起動]ボタンをクリックして、エミュレータ画面を呼び出します。下の図のようになります。 |
 |
|
|