情報処理2z(Java version)
課題5:得点の表示と乱数の発生

基本課題
  1. 上の壁に当たった回数を右上に表示させるようにしてみよう。

  2. 上の壁の一部に色をつけて、 そこに当たった時のみ得点が入るようにしてみよう。

応用課題

  1. ランダムを使ってボールの跳ね返り方を乱反射にしてみよう。

難関応用課題

  1. ここまでのテクニックを使って面白いことをしてみよう。

参考資料



おまけ1

[*1] drawString の最初の引数は String という 文字列型の変数の型です。 この変数の型は C にはありません。 String 型では "+" で連結することができる他にも色々な事が可能です。

この他はマニュアルなどを参照して下さい。
おまけ2

この文字をプリントするフォントの種類がいくつかあります。 使えるフォントは環境によって様々ですが、 Dialog, Helvetica, TimesRoman, Courier, DialogInput, ZapfDingbats などが使用できます。 自分の環境で使えるフォントを確かめるには、 以下のソースファイルをダウンロードして実行してみて下さい。

font.java
(List 5.2) font.java
import java.awt.*;

public class font extends java.applet.Applet
{
    String font_names[];
    public void init(){
        // まず、使用可能なフォントを探す。
        font_names = Toolkit.getDefaultToolkit().getFontList();
        for(int i=0;i

このソースファイルをコンパイルし、 MS-DOS でアプレットビューアを使って実行すると MS-DOS の画面に使用可能なフォントの名前が出てきます。

例えば TimesRoman でプリントしたい場合はこの様にします。

(List 5.2) fontp.java
import java.awt.*;

public class fontp extends java.applet.Applet
{
  public void paint(Graphics g){
    Font f = new Font("TimesRoman", Font.PLAIN, 15); /* 15 はフォントサイズ */
    g.setFont(f);
    g.drawString("Hello, World", 50, 100); /* (50, 100) にプリント */
  }
}


今週の課題の提出先は、

To: report
cc: 自分のログイン名
Subject: 2z5

です。
Subjectを間違えないよう注意しましょう。