課題は1000*1000ピクセルのサイズに収まるように作ってください.
日本語の表示をする場合,半角カタカナは使わないようにしてください.
再掲の問題に関して再提出した場合は,評価の良い方をその採点とする.
再掲の問題のプログラム名は変更されているので注意すること.
[R6-1](オプション,再掲)身近なロゴ(例えば,関学のMastery for Service,阪神タイガースのロゴ)を表示するプログラムlogo1.javaを作成しなさい.http://www.geocities.co.jp/Milano-Aoyama/3886/を参考にしてもよい.
[R6-2](オプション,再掲)NクイーンはN×Nのチェスの盤面において,N個のクイーンを互いに取られないような位置に配置する問題である.8クイーンの解の配置を表示するプログラムqueens1.javaを作りなさい.ただし,クイーンは上下左右斜めのコマを取ることができる.(将棋における飛車と角の両方の性質を持つ.)
[R6-3]](オプション,再掲)駅や空港で見かける乗り物の出発表示板を示すプログラムdeparture1.javaを作りなさい.表示板には「出発順序(先発/次発など)」,「出発時刻」,「種別(普通/快速など)」,「行き先」を最低表示すること.また現在時刻に合わせて表示すること.通学用のバスやJRのものを作りたい場合http://wwwksc.ksc.kwansei.ac.jp/campus/06_timetable2.htmlが参考になる.
[R6-4](オプション,再掲)オセロゲームのプログラムothello1.javaを作りなさい。ただし石の配置は先攻・後攻ともにマウスクリックにより行う(1人オセロ)。先攻・後攻それぞれの石の数も表示すること。
[R6-5](オプション,再掲)マウスが通過した点に選択された色が表示される簡単お絵かきプログラムpaint1.javaを作りなさい.色の選択はRGBの混合比率をバーでコントロールするカラーバーによって行うものとする。筆の太さを変えられるようにしなさい。
[R6-6](オプション,再掲)メッセージが上下左右に動くクリスマスカード xmascard1.javaを作りなさい。
[R6-7](オプション)4コマ漫画comic.javaを作りなさい.ただし,各コマは同時に表示せず,ボタンを押すごとに次のコマが表示されるようにすること.
[R6-8](オプション)複数の部品からなるイルミネーションillumination.javaを作りなさい.なお,それぞれの部品にはスイッチをつけ,そのON/OFFができるようにすること.以下のプログラムを参考にしてよい.
import java.applet.*;
import java.awt.*;
public class Illumination extends Applet {
Switch sw1,sw2;
int on1=0, on2=0;
public void init() {
setBackground(Color.black);
sw1=new Switch(this, 1000);
sw1.start();
sw2=new Switch(this, 2000);
sw2.start();
}
public void click(Switch sw) {
if(sw==sw1) {
if(on1 == 0) on1=1;
else on1=0;
};
if(sw==sw2) {
if(on2 == 0) on2=1;
else on2=0;
};
repaint();
}
public void paint(Graphics g) {
if(on1==1) g.setColor(Color.red);
else g.setColor(Color.black);
g.fillOval(100,90,20,20);
if(on2==1) g.setColor(Color.green);
else g.setColor(Color.black);
g.fillOval(200,90,20,20);
}
}
class Switch extends Thread {
int Interval;
Illumination ilum;
Switch(Illumination p1, int p2) {
ilum = p1;
Interval = p2;
}
public void run() {
int i;
for( i=0; i<10000; ++i) {
try {
Thread.sleep(Interval);
}
catch(InterruptedException e) {
}
ilum.click(this);
}
}
}