(Microsoft Word - java\221n\221\242\203\214\203|\201[\203g.doc)

Size: px
Start display at page:

Download "(Microsoft Word - java\221n\221\242\203\214\203|\201[\203g.doc)"

Transcription

1 創造プログラミング演習報告書 ( Java 言語 ) 3I 4 番大上雅史

2 1 プログラムの内容 カジノなどで有名な ブラックジャック のトランプゲームを作った チップを賭けたりする機能はなく 本当にゲームの基本的な部分しかないが そこそこ遊べるものになったと思う ブラックジャック のゲームの性質上 自分は自分の意志で自由にカードを処理できるが 相手は決められたルールに従ってカードを処理するので 相手の思考プログラムというのが必要ない分 プログラムは簡単なものになった 今回作ったプログラムに採用した ブラックジャック の基本ルールを以下に示す なおこのルールは 現在通用している一般的なルールと若干異なる ブラックジャック は 親( ディーラー ) との間で 1 対 1 の勝負を行う プレイヤーの目標は 手持ちのカードの値の合計を 21 に近づけ その数字が親より 21 に近づくことである カードの値は 2~10 ではその数字通りの値であり K,Q,J は 10 と数える A は 1 か 11 のどちらかを自由に選ぶことができる 親はカードを全員に 2 枚ずつ配る 親の 2 枚のカードのうちの 1 枚は見ることができ もう 1 枚のカードは伏せられている この時点でプレイヤーの手札が J と A の組み合わせならば 自動的にプレイヤーの勝ちとなる (BLACK JACK という ) 次にプレイヤーは hit( カードをもう 1 枚引く ) または stand( カードを引かずにその時点の値で勝負する ) の選択を行う プレイヤーは 21 を超えなければ 5 枚表になるまで hit することができる 21 を超えてしまうことを bust と呼び 直ちにプレイヤーの負けとなる プレイヤーが stand すると親は伏せてあったカードを開く ( この時点で親が BLACK JACK なら親の勝ち ) 親は値が 17 以上になるまで hit しなければならず 17 以上になったらその後は hit することはできない ただし 5 枚表になった時点で hit はできなくなる 親が hit できなくなった時点で 親とプレイヤーの値を比べ勝敗を決める また 親が 21 を超えた場合にはプレイヤーの勝ちとなり プレイヤーと親が同じ値の場合には引き分けとなる 参考 : フリー百科事典 Wikipedia 2 インターフェース設計 ここでは図を用いて説明する このアプレットは図 1 のような画面の上で操作が行われる 上下のカードのうち 上側 ( 裏面が赤 ) の方は親を示し 下側 ( 裏面が青 ) の方はプレイヤーを示す ユーザが操作する部分は hit と stand のボタン 2 つのみであり それぞれ状況に応じて押せなくなったり 名前が変わったりする ( 図 2 図 3) このボタンの下には 現在のカードの値の合計が表示されている また 勝敗が決定されると ダイアログボックスが表示される ( 図 4) ダイアログボックスに表示するテキストは 勝敗とその状況に応じて 7 種類用意されている - 1 -

3 図 1 アプレットの主な画面図 2 hit と stand のボタンの変化 (1) 図 3 hit と stand のボタンの変化 (2) 図 4 ダイアログボックスの表示 - 2 -

4 3 プログラムの処理概要 ( フローチャート ) start 各変数の初期化 勝敗を判定する 相手側に 1 枚, 自分側に 2 枚のカード を表で表示し 他を裏で表示する NewGame が押された BLACK JACK になった Yes Yes 初期化が必要な 変数の初期化 ボタンが押された Yes(stand) Yes(hit) 自分側のカードをさら に 1 枚表にする 21 を超えた Yes Yes 5 枚表になった 相手のカードを 1 枚 表にする 21 を超えた Yes 16 を超えた - 3 -

5 4 プログラムリスト // // プログラミング III 創造プログラミング演習 // ~ Black Jack (Java version) ~ // 3I 4 番大上雅史 // // 更新履歴 // ほぼ完成 // エースの処理を改良 // カードの gif 画像を変更 // import java.awt.*; import java.awt.event.*; import javax.swing.*; public class bj extends JApplet implements ActionListener{ int[] ply=new int[5]; // 自分のカード int[] com=new int[5]; // 相手のカード int ply_n=0; // 自分が開いたカード枚数 int com_n=0; // 相手が開いたカード枚数 int p_sum=0; // 自分の合計 int c_sum=0; // 相手の合計 int p_ace=0; // 自分の手札の A のうち 11 として数えている枚数 int c_ace=0; // 相手の手札の A のうち 11 として数えている枚数 int x; // 乱数取得の際の変数 int flg=0; // BLACK JACK になったときの使う変数 String fn; // ファイル名 JButton bt[]=new JButton[2]; // hit か stand のボタン JPanel pn[]=new JPanel[2]; // パネル Icon icb1; // カード裏 ( 相手 ) Icon icb2; // カード裏 ( 自分 ) Icon icc[]=new Icon[13]; // カード表 (A,1,2,,K) JLabel lb[]=new JLabel[10]; // 画像用ラベル JLabel ptxt,ctxt,msglb; // テキスト用ラベル Container c; // コンテナ public void init(){ // コンポーネントの設定 c=getcontentpane(); // コンテナの取得 bt[0]=new JButton("hit"); // hit ボタン bt[1]=new JButton("stand"); // stand ボタン pn[0]=new JPanel(); pn[1]=new JPanel(); ptxt=new JLabel(); ctxt=new JLabel(); msglb=new JLabel(); icb1=new ImageIcon(getImage(getDocumentBase(),"back1.gif")); // カード裏 ( 相手 ) icb2=new ImageIcon(getImage(getDocumentBase(),"back2.gif")); // カード裏 ( 自分 ) c.setlayout(new BorderLayout()); pn[0].setlayout(new GridLayout(2,5)); pn[1].setlayout(new GridLayout(2,2)); // ボーダーレイアウト // グリッドレイアウト 2 行 5 列 // グリッドレイアウト 2 行 2 列 for(int i=0;i<5;i++){ // 相手の表示範囲を初期化 lb[i]=new JLabel(); lb[i].seticon(icb1); // 相手のカード裏の画像をセット lb[i].sethorizontaltextposition(jlabel.center); lb[i].setverticaltextposition(jlabel.center); ply[i]=0; // ついでに初期化 com[i]=0; // ついでに初期化 for(int i=5;i<10;i++){ // 自分の表示範囲を初期化 - 4 -

6 lb[i]=new JLabel(); lb[i].seticon(icb2); // 自分のカード裏の画像をセット lb[i].sethorizontaltextposition(jlabel.center); lb[i].setverticaltextposition(jlabel.center); for(int i=0;i<13;i++){ // カード表の画像の準備 fn="card"+(i)+".gif"; icc[i]=new ImageIcon(getImage(getDocumentBase(),fn)); //0~12 が A~K に対応 // カードを引く処理 x=((int)(math.random()*52981))%13; // 0~12 までの乱数発生 (52981 は適当に選んだ大きめの数 ) lb[0].seticon(icc[x]); // 選ばれた数字の画像をセット com[0]=x; // 1 枚目に数字をセット // A を引いたとき c_sum+=11; // 11 とする c_ace++; // 11 としている A が 1 枚増えた else if(x>=10){ // J,Q,K を引いたとき c_sum+=10; // 10 とする else{ // それ以外を引いたとき c_sum+=(x+1); // そのまま if(c_ace>=1 && c_sum>21){ // 11 としている A が 1 枚以上あって 21 を超えていたら c_sum-=10; // その A を 1 と数える c_ace--; // 11 としている A が 1 枚減った com_n++; // 引いたカードが増えた // カードを引く処理 ( と同様なのでコメント省略 ) x=((int)(math.random()*52981))%13; lb[5].seticon(icc[x]); ply[0]=x; p_sum+=11; p_ace++; else if(x>=10){ p_sum+=10; else{ p_sum+=(x+1); if(p_ace>=1 && p_sum>21){ p_sum-=10; p_ace--; ply_n++; // カードを引く処理 ( と同様なのでコメント省略 ) x=((int)(math.random()*52981))%13; lb[6].seticon(icc[x]); ply[1]=x; p_sum+=11; p_ace++; else if(x>=10){ p_sum+=10; else{ p_sum+=(x+1); if(p_ace>=1 && p_sum>21){ p_sum-=10; p_ace--; ply_n++; - 5 -

7 for(int i=0;i<lb.length;i++){ pn[0].add(lb[i]); pn[1].add(bt[0]); pn[1].add(bt[1]); // パネルにラベル追加 // パネルにボタン追加 // パネルにボタン追加 ptxt.settext("player : "+(p_sum)); // 自分の合計表示 ctxt.settext("computer : "+(c_sum)); // 相手の合計表示 msglb.settext("~black Jack~\n"); // タイトル表示 msglb.setfont(new Font("Dialog",Font.BOLD,20)); // フォント設定 pn[1].add(ptxt); pn[1].add(ctxt); // パネルにラベル追加 // パネルにラベル追加 // コンテナに追加 c.add(msglb,"rth"); c.add(pn[0],"center"); c.add(pn[1],"south"); bt[0].addactionlistener(this); // リスナの登録 bt[1].addactionlistener(this); // リスナの登録 // 自分が BLACK JACK になったときの処理 if((ply[0]==0 && ply[1]==10) (ply[1]==0 && ply[0]==10)){ Dlg(6); else if(p_sum==21){ // ちょうど 21 なら bt[0].setenabled(false); // hit を押せなくする bt[1].settext("computer's cards open"); // stand ボタンのラベル変更 public void actionperformed(actionevent e){ String bname=e.getactioncommand(); // 押されたボタンのテキスト取得 if(bname=="hit"){ // hit で if(ply_n<5){ // 5 枚未満なら // カードを引く処理 ( と同様なのでコメント省略) x=(int)(math.random()*52981)%13; lb[ply_n+5].seticon(icc[x]); ply[ply_n]=x; p_sum+=11; p_ace++; else if(x>=10){ p_sum+=10; else{ p_sum+=(x+1); if(p_ace>=1 && p_sum>21){ p_sum-=10; p_ace--; ply_n++; ptxt.settext("player : "+(p_sum)); // 合計表示 if(ply_n==5){ // 5 枚に達したら bt[0].setenabled(false); // hit を押せなくする bt[1].settext("computer's cards open"); // stand ボタンのラベル変更 if(p_sum>21){ // 合計 22 以上なら Dlg(1); // ダイアログ表示 else if(p_sum==21){ // ちょうど 21 なら bt[0].setenabled(false); // hit を押せなくする bt[1].settext("computer's cards open"); //stand ボタンのラベル変更 VictoryOrDefeat(); // 勝敗判定 - 6 -

8 if(bname=="stand"){ bt[0].setenabled(false); bt[1].settext("computer's cards open"); VictoryOrDefeat(); // stand なら // hit を押せなくする // stand ボタンのラベル変更 // 勝敗判定 if(bname=="computer's cards open"){ if(com_n<5){ // 相手が 5 枚未満 // カードを引く処理 ( と同様なのでコメント省略) x=(int)(math.random()*52981)%13; lb[com_n].seticon(icc[x]); com[com_n]=x; com_n++; if(com_n==2){ // 相手の BLACK JACK の処理 if((com[0]==0 && com[1]==10) (com[1]==0 && com[0]==10)){ Dlg(7); // ダイアログ表示 flg=1; // 相手が BLACK JACK になったことをあらわす c_sum+=11; c_ace++; else if(x>=10){ c_sum+=10; else{ c_sum+=(x+1); if(c_ace>=1 && c_sum>21){ c_sum-=10; c_ace--; ctxt.settext("computer : "+(c_sum)); // 合計表示 if(c_sum>21){ // 相手が 22 以上なら Dlg(2); // ダイアログ表示 else if(flg==0){ // BLACK JACK 以外でちょうど 21 なら VictoryOrDefeat(); // 勝敗判定 if(bname=="newgame"){ NewGame(); // NewGame なら // 初期化処理 //---- 勝敗判定メソッド void VictoryOrDefeat(){ if(c_sum>16 com_n==5){ // 相手が 17 以上か 5 枚なら勝敗を決める if(c_sum>p_sum){ Dlg(3); else if(c_sum<p_sum){ Dlg(4); else if(c_sum==p_sum){ Dlg(5); //---- ダイアログ表示メソッド void Dlg(int cp){ - 7 -

9 int type=joptionpane.warning_message; c=getcontentpane(); if(cp==1){ JOptionPane.showMessageDialog(c,"BUST!! Player lost.","game Information",type); else if(cp==2){ JOptionPane.showMessageDialog(c,"Computer BUST. Player won!!","game Information",type); else if(cp==3){ JOptionPane.showMessageDialog(c,"Player lost.","game Information",type); else if(cp==4){ JOptionPane.showMessageDialog(c,"Player won!!","game Information",type); else if(cp==5){ JOptionPane.showMessageDialog(c,"Draw Game.","Game Information",type); else if(cp==6){ JOptionPane.showMessageDialog(c,"BLACK JACK!! Player won!!","game Information",type); else if(cp==7){ JOptionPane.showMessageDialog(c,"Computer is BLACK JACK.","Game Information",type); bt[0].setenabled(false); // hit を押せなくする bt[1].setenabled(true); // stand を押せるようにする bt[1].settext("newgame"); // stand を NewGame に変更 //---- 再初期化メソッド void NewGame(){ // 画像をカード裏にする for(int i=0;i<5;i++){ lb[i].seticon(icb1); lb[i].sethorizontaltextposition(jlabel.center); lb[i].setverticaltextposition(jlabel.center); ply[i]=0; // ついでに初期化 com[i]=0; // ついでに初期化 for(int i=5;i<10;i++){ lb[i].seticon(icb2); lb[i].sethorizontaltextposition(jlabel.center); lb[i].setverticaltextposition(jlabel.center); // 各変数の初期化 ply_n=0; com_n=0; p_sum=0; c_sum=0; p_ace=0; c_ace=0; flg=0; // カードを引く処理 ( と同様なのでコメント省略 ) x=((int)(math.random()*52981))%13; lb[0].seticon(icc[x]); com[0]=x; c_sum+=11; c_ace++; else if(x>=10){ c_sum+=10; else{ c_sum+=(x+1); if(c_ace>=1 && c_sum>21){ c_sum-=10; c_ace--; com_n++; - 8 -

10 // カードを引く処理 ( と同様なのでコメント省略 ) x=((int)(math.random()*52981))%13; lb[5].seticon(icc[x]); ply[0]=x; p_sum+=11; p_ace++; else if(x>=10){ p_sum+=10; else{ p_sum+=(x+1); if(p_ace>=1 && p_sum>21){ p_sum-=10; p_ace--; ply_n++; // カードを引く処理 ( と同様なのでコメント省略 ) x=((int)(math.random()*52981))%13; lb[6].seticon(icc[x]); ply[1]=x; p_sum+=11; p_ace++; else if(x>=10){ p_sum+=10; else{ p_sum+=(x+1); if(p_ace>=1 && p_sum>21){ p_sum-=10; p_ace--; ply_n++; // ボタンの初期化 bt[0].setenabled(true); bt[0].settext("hit"); bt[1].setenabled(true); bt[1].settext("stand"); // ボタンを押せるようにする // ボタン名を hit にする // ボタンを押せるようにする // ボタン名を stand にする // ラベルにテキストを表示 ptxt.settext("player : "+(p_sum)); ctxt.settext("computer : "+(c_sum)); // 自分の BLACK JACK の処理 if((ply[0]==0 && ply[1]==10) (ply[1]==0 && ply[0]==10)){ Dlg(6); else if(p_sum==21){ // ちょうど 21 なら bt[0].setenabled(false); // hit を押せなくする bt[1].settext("computer's cards open"); // stand ボタンのラベル変更 - 9 -

11 5 実行手順 ( 使い方 ) ゲームのルールは 1 で示したとおりである 1アプレットを実行すると 図 5 の画面が表示される この画面を初期状態とする この状態で hit もしくは stand のボタンを押すと 処理が進む ただし 初期状態で自分が 21 ならば hit は押せないようになっており stand は Computer s cards open というボタンになっている また 初期状態で BLACK JACK を成立させていたら 自分が勝ったときのメッセージを表示して NewGame(stand が変化したボタン ) のみ押せる状態になる ( 図 6) 図 5 初期状態 2hit を押すと 自分のカードが 1 枚表になる この時点で自分が 21 を超えてしまったら 自分が負けたときのメッセージを表示して図 6 のような状態になる 21 を超えなかったら 自分が 5 枚になるまで さらに hit を押すこともできる 3stand を押すと stand が Computer s cards open に変わり hit は押せなくなる Computer s cards open を押すと相手のカードが 1 枚表になる ( 図 7) この時点で 相手が BLACK JACK を成立させていたら 自分が負けたときのメッセージを表示して図 6 のような状態になる 相手が 16 を超えるか 5 枚になるまで Computer s cards open を押す度に相手のカードが 1 枚表になる 4 相手が 16 を超えるか 5 枚になったら その時点での両者の合計を比べて 21 に近い方を勝ちとし メッセージ ( 例 : 図 8) を表示して図 6 のような状態になる 5NewGame が押されると 図 5 の初期状態に戻る 図 6 NewGame ボタンのみが押せる状態 図 7 Computer s cards open を押したとき 図 8 メッセージ

12 6 感想 今回は Java の Swing を用いての創造プログラミングだったが GUI プログラムが簡単に書けることを改めて実感した 夏に C++ で書いたプログラムのソースの量を考えると ( プログラムの規模は全然違うが ) Java は簡単だなぁと思う しかし Java の GUI インターフェースは C++ よりいまいち自由度が低いように感じた これは 自分で Java のプログラミングの手法をもっと勉強すれば 解決できる問題だと思うが 自分の今の能力では 複雑なプログラムを書くなら C++ を選ぶなと思った BLACK JACK の Java アプレットを作っていて Appletviewer では表示されるが Internet Explorer ではアプレットが起動しないという状態に陥った しかし この原因はインターネット上の素材屋から借りた カードの gif 画像にあったようで 自分でデザインして作った gif 画像にすべて取り替えたら Internet Explorer でも表示されるようになった

< F2D825282CC947B909482CC A815B83682E6A>

< F2D825282CC947B909482CC A815B83682E6A> 3 の倍数のトランプカード 1. はじめに [Java アプレット ] [Java アプリケーション ] ここにトランプが 1 組あります ジョーカー 2 枚を除いて 52 枚を使います 3 の倍数は スペード クローバ ダイヤ ハートに それぞれ 3 と 6 と 9 と 12 の 4 枚ずつあるので 4 4=16 枚あります この 52 枚のトランプから 1 枚引いたとき そのカードが 3 の倍数である確率を考えます

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウを作成をしたい

More information

< F2D E E6A7464>

< F2D E E6A7464> ピタゴラス数 [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 2 三平方の定理 a +b =c を満たす3つの自然数の組 ( a, b, c) をピタゴラス数と言います ピタゴラス数の最も簡単な例として (3,4,5) がありますね このピタゴラス数を求めるには ピタゴラスの方法とプラトンの方法の2つの方法があります 2 2 ピタゴラス数 (a,b,c) に対して

More information

< F2D B825082CC96E291E82E6A7464>

< F2D B825082CC96E291E82E6A7464> 3x+1 の問題 [Java アプレット ] [Java アプリケーション ] 1. はじめに どんな自然数から始めても良いので その数が偶数ならば2で割り 奇数ならば3 倍して1を加えることを繰り返します そうすると どんな自然数から始めても必ず1になるというのはほんとうなのでしょうか 例えば 11から始めると 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 となります

More information

GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ

GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ 2-2 手書認識認識結果 ( 数式 ) を描画する ステップ 3 認識した数式を元に関数グラフを描画する

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下を入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

Microsoft PowerPoint - prog12.ppt

Microsoft PowerPoint - prog12.ppt プログラミング言語 3 第 12 回 (2007 年 12 月 17 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 12 月 17 日分と書いてある部分が 本日の教材です

More information

< F2D82B682E182F182AF82F12E6A7464>

< F2D82B682E182F182AF82F12E6A7464> 3 人のじゃんけん [Java アプレット ] [Java アプリケーション ] 1. はじめに A 君 B 君 C 君の 3 人でじゃんけんを 1 回するときの勝ち負けを考えてみましょう あいこの場合は A 君 B 君 C 君の順に グー グー グー チョキ チョキ チョキ パー パー パー グー チョキ パー グー パー チョキ チョキ グー パー チョキ パー グー パー グー チョキ パー

More information

< F2D F B834E2E6A7464>

< F2D F B834E2E6A7464> ランダムウォーク [Java アプレット ] [Java アプレリケーョン ] 1. はじめに 酔っぱらいは前後左右見境なくふらつきます 酔っぱらいは目的地にたどり着こうと歩き回っているうちに何度も同じところに戻って来てしまったりするものです 今 酔っぱらいが数直線上の原点にいるとします 原点を出発して30 回ふらつくとき 30 回目に酔っぱらいがいる位置は 出発点である原点からどれくらい離れてしまっているのでしょうか

More information

awt の主要なクラスを下記に示す クラス Component Container Button Label Panel Frame 説明画面にユーザインターフェイス要素として表示し, ユーザとのやり取りを行うコンポーネントを表すすべてのコンポーネントのスーパークラスになる ほかのコンポーネントを含

awt の主要なクラスを下記に示す クラス Component Container Button Label Panel Frame 説明画面にユーザインターフェイス要素として表示し, ユーザとのやり取りを行うコンポーネントを表すすべてのコンポーネントのスーパークラスになる ほかのコンポーネントを含 第 3 章 GUI による電卓の実装 GUI の基礎とイベント処理について理解し, 前章で作成した演算プログラムを組み込んで電卓を作成 ( 実装 ) する 3.1 インターフェイス 文字などのコマンドだけでやりとりするインターフェイスを CUI(Command User Interface) と呼び, マウスなどでウインドウを操作して行うインターフェイスを GUI(Graphical User Interface)

More information

< F2D B838A835882CC8CF68EAE2E6A7464>

< F2D B838A835882CC8CF68EAE2E6A7464> ウォーリスの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のウォーリスの公式を用いて π の近似値を求めてみましょう [ ウォーリスの公式 ] π=2{ 2 2 4 4 6 6 1 3 3 5 5 7 シミュレーションソフト ウォーリスの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください 2.Java アプレット (1) Javaプログラムリスト

More information

Java 2 - Lesson01

Java 2 - Lesson01 Java2 第 4 回 高度な GUI デザインの作成 キーポイント FocusListener の作成 Exercise 3 and 4 今まで学んだ機能を組み合わせて 高度なデザインの GUI を作成します レイアウトやイベントの作成については各自で考えて 工夫して下さい 作成する GUI の動作を確認したい場合は Java2 コースの Web ページ上にある jar ファイルをダウンロード 起動して動作を確認して下さい

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 14 回 第 12 章アプレット 28 8 アプレットとは アプレット : ウェブ上で HTML のソースコードから参照されるプログラム.Web サーバや Web ブラウザ ( アプレットビューア ) から動的にアプレットはダウンロードされる. 289 HelloAp.java アプレットの基本事項 public class HelloAp extends Applet{ public void

More information

< F2D92DE82E8914B82CC977088D32E6A7464>

< F2D92DE82E8914B82CC977088D32E6A7464> 釣り銭の用意の実験 [Java アプレット ] [Java アプリケーション ] 1. はじめに クラス会などの幹事を務めることはありませんか 幹事になったつもりで考えてみてください 仮に クラス会への参加者人数は 35 人で 会費は 3500 円であるとします また 参加者は 1000 円札 4 枚でお釣りを必要とする人と 1000 円札 3 枚と 500 円玉 1 個でお釣りの要らない人の 2

More information

< F2D834F838C A815B A CC>

< F2D834F838C A815B A CC> グレゴリー ライプニッツの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のグレゴリー ライプニッツの公式を用いて π の近似値を求めてみましょう [ グレゴリー ライプニッツの公式 ] π 4 =1-1 3 + 1 5-1 7 + 1 9-1 + 11 シミュレーションソフト グレゴリー ライプニッツの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください

More information

< F2D82518CC282CC D2E6A7464>

< F2D82518CC282CC D2E6A7464> 2 個のさいころ 1. はじめに [Java アプレット ] [Java アプリケーション ] 2 個のさいころを同時に投げたときの目の出方を考えてみましょう この 2 個のさいころをそれぞれ さいころ Ⅰ さいころ Ⅱ とすると その目の出方は順に 1 1 2 1 3 1 4 1 5 1 6 1 1 2 2 2 3 2 4 2 5 2 6 2 1 3 2 3 3 3 4 3 5 3 6 3 1 4

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 11 回ウインドウ型アプリケーション (2) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp メニュー (1) メニューを組み込むときには,MenuBar オブジェクトに Menu オブジェクトを登録し, その Menu オブジェクトに MenuItem オブジェクトを登録する 2 つの Menu オブジェクト File New

More information

< F2D89BA8EE882C E6A7464>

< F2D89BA8EE882C E6A7464> 下手な鉄砲も数撃ちゃ当たる!! [Java アプレット ] [Java アプリケーション ] 1. はじめに 鉄砲を10 回撃つと1 回当たる腕前の人が鉄砲を撃ちます 下枠の [ 自動 10 回 ] または [ 自動 50 回 ] または [ 自動 100 回 ] をクリックすると それぞれ10 回 50 回 100 回 実験を繰り返します ただし 1 回の実験につき20 発の鉄砲を発射します シミュレーションソフト

More information

自宅でJava言語の開発環境を作る方法

自宅でJava言語の開発環境を作る方法 ViralBanner の作成方法 2010 年 1 月 31 日更新 あいあいスクール代表 畠茂雄 ( はたけしげお ) もくじ 今回作成するツールの紹介... 3 ソースコードの作成... 5 (1)ViralBanner.html のソースコード... 6 (2)ViralBanner.java のソースコード... 7 (3) 参考 : レイアウトマネージャについて... 10-2 今回作成するツールの紹介

More information

< F2D A838B838D96402E6A7464>

< F2D A838B838D96402E6A7464> モンテカルロ法 [Java アプレット ] [Java アプリケーション ] 1. はじめに 一辺の長さが 2 の正方形とそれに内接する半径 1 の円が紙に書かれています この紙の上からたくさんのゴマをばらまきます 正方形の中に入ったゴマの数と そのうちで円の中に入ったゴマの数も数えます さあ このゴマの数からどうやって円周率 π を求めるのでしょうか 一辺の長さ2の正方形の面積は4で

More information

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464> 2 次関数のグラフの平行移動 [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 y=ax のグラフとy=a(x-b) +c のグラフは 位置は違うけれど 形も広がりも全く同じです 2 2 y=a(x-b) +c のグラフは y=ax のグラフをx 軸方向に ( 右方向に ) +b y 軸方向に ( 上方向に ) +c だけ平行移動したものです 2 シミュレーションソフト

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 10 回ウインドウ型アプリケーション (1) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 前回の課題 (1) ボーダーレイアウト, グリッドレイアウト, パネルを使用して, 電卓風のボタンを実現する BorderLayout で NORTH, CENTER, SOUTH に分割 NORTHにはテキストフィールドを設定 CENTERにはパネルを使って9つのボタンを設定

More information

< F2D A839382CC906A2E6A7464>

< F2D A839382CC906A2E6A7464> ビュホンの針 1. はじめに [Java アプレット ] [Java アプリケーション ] ビュホン ( Buffon 1707-1788) は 針を投げて円周率 πを求めることを考えました 平面上に 幅 2aの間隔で 平行線を無数に引いておきます この平面上に長さ2bの針を落とすと この針が平行線と交わる確立 pは p=(2b) (aπ) 1 となります ただし b

More information

PowerPoint Presentation

PowerPoint Presentation 上級プログラミング 2( 第 3 回 ) 工学部情報工学科 木村昌臣 今日のテーマ GUI プログラミング入門 AWT Java で GUI を作る方法 (API) AWT Abstract Window Toolkit GUIをつくるクラス群を提供 ( 基本!) OSによらない外観 Swing 逆にいえば OS ネイティブな look and feel ではない AWT をもとに JavaFX JDK1.8

More information

PowerPoint Presentation

PowerPoint Presentation ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:

More information

< F2D8EA CE909482CC92EA82852E6A7464>

< F2D8EA CE909482CC92EA82852E6A7464> 自然対数の底 e [Java アプレット ] [Java アプリケーション ] 1. はじめに 対数は 17 世紀にネイピアやビュルギといった数学者たちが生み出した関数である 円周率 πと自然対数の底 eとは密接な関係があり どちらも無理数で超越数 ( 整数係数の代数方程式の解にならない実数 ) である 1737 年 オイラーは eが無理数であることを示した 1873 年 フランスの数学者エルミートは

More information

ガイダンス

ガイダンス プログラムの 1 行目に自分の名前を入れること // vm12345 杉崎えり子 情報科学 B 第 14 回課題作成 3 情報科学 B Info2/3 info14 今日のフォルダー作成 情報科学 B 第 14 回課題作成 3 Report14_1.java 1 教科書 資料 過去のプログラムを見ながらで OK 課題 3( 提出 ) ボタンとアニメーション ( 第 13 回 ) を組み合わせて オリ

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C> 2 次関数のグラフの向きと広がり [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 y=ax のグラフについて x の係数 aが正のときと負のときでは グラフにどのような違いがあるでしょうか 2 2 y=ax のグラフについて x の係数 aが正のとき 係数 aの値が大きくなるにつれて グラフの広がりはどうなるでしょうか 2 2 y=ax のグラフについて x の係数

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下を入れること // vm12345 杉崎えり子 情報科学 B 第 14 回課題作成 3 情報科学 B Info2/3 info14 今日のフォルダー作成 情報科学 B 第 14 回課題作成 3 Report14_1.java 1 教科書 資料 過去のプログラムを見ながらで OK 課題 3( 提出 ) ボタンとアニメーション ( 第 13 回 ) を組み合わせて オリ ジナルのウィンドウを作成する

More information

public class Kadai _02 { public static void main(string[] args) { MyFrame frame = new MyFrame("Kadai _02"); (2) フレームのクラス名は MyFrame とし 以下

public class Kadai _02 { public static void main(string[] args) { MyFrame frame = new MyFrame(Kadai _02); (2) フレームのクラス名は MyFrame とし 以下 オブジェクト指向プログラミング演習課題 20071128 以下のような GUI 画面を表示するプログラムを完成させなさい 前回演習で作成したプログラムにイベント処理を追加します 注意 : ファイル名が同じものがあるので 課題毎にディレクトリーを分ける等してください 課題 20071128_01 講義資料内で紹介したイベント処理の例 2 を作成し 動作を確認せよ (1) コントロールクラス (main

More information

次の演習課題(1),(2)のプログラムを完成させよ

次の演習課題(1),(2)のプログラムを完成させよ 次の演習課題 (1),(2) のプログラムを作成せよ. 課題 (1) ボタン押下時の処理を追加し以下の実行結果となるようにプログラムを作成しなさい ( ボタン押下時の処理 ) import java.lang.*; class Figure extends JFrame implements ActionListener{ JPanel panel; JScrollPane scroll; JTextArea

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 8 回ウインドウ部品を用いる (1) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 前回の課題 (1) マウスを使って, 前回課題で作成した 6 4 のマスの図形で, \ をマウスクリックによって代わるようにしなさい 前回の課題 (2) import java.applet.applet; import java.awt.*;

More information

1 JAVA APPLET 実習 1. はじめに Java フォルダに applet フォルダを作成する 2. 実習問題の作成 J01.java public class J01 extends Applet{ public void paint(graphics kaku){ kaku.drawstring("hello World from Java!",60,70); j01.html

More information

目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i

目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i Java GUI 3 Java GUI 3 - サンプルプログラム (1) - 2011-09-25 Version 1.00 K. Yanai 目 次 Java GUI 3 1 概要...1 2 クラス構成...2 3 ソースコード例...3 4 課題...7 i 1 概要まずは簡単なサンプルプログラムをみながら Java GUI の基本的なことを学びましょう 本サンプルは 図に示すようなひとつのメイン画面を使用します

More information

text_12.dvi

text_12.dvi C 12 2000 7 2 12 Java(7) { Swing(, ), 1 12.1 12 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 12.2 Swing : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

More information

Microsoft PowerPoint - swing2.ppt

Microsoft PowerPoint - swing2.ppt Java/Swing について (2) 2005 年 10 月 11 日 海谷治彦 1 Adapterについて TextField TextArea Copy&Paste JList JComboBox JScrollPane レイアウトについて 目次 2 ソースコード 前回より抜粋 public class Listener1 { public static void main(string[]

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 3 回継承 オーバーライド インタフェース 前回までのお話 モジュール化 大きなプログラムは部品に分けて設計する オブジェクト指向 モノ中心に考える プログラムでは クラス ( モノの種類 ) を定義する ある特定のモノは インスタンスで表す クラスは型 インスタンスは値 プログラムを書くときも部品ごとに書く モノの部品であるモノはフィールドに書く 手順の部品である手順はメソッドに書く

More information

public class MyFrame { private JPanel panel1; private JPanel panel2; private JPanel panel3; private JPanel panel4; private JLabel label1; private JTex

public class MyFrame { private JPanel panel1; private JPanel panel2; private JPanel panel3; private JPanel panel4; private JLabel label1; private JTex ソフトウェア基礎演習課題 20061206 以下のような GUI 画面を表示するプログラムを完成させなさい 前回演習で作成したプログラムにイベント処理を追加します 注意 : ファイル名が同じものがあるので 課題毎にディレクトリーを分ける等してください ( 簡易レジスター ) 概略仕様 : 1. フレーム内にはパネルが4つあり レイアウトは GridLayout(4, 1)(4 行 1 列のレイアウト

More information

情報処理Ⅰ

情報処理Ⅰ Java フローチャート -1- フローチャート ( 流れ図 ) プログラムの処理手順 ( アルゴリズム ) を図示したもの 記号の種類は下記のとおり 端子記号 ( 開始 終了 ) 処理記号計算, 代入等 条件の判定 条件 No ループ処理 LOOP start Yes データの入力 出力 print など 定義済み処理処理名 end サンプルグログラム ( 大文字 小文字変換 ) 大文字を入力して下さい

More information

Java演習(9) -- クラスとメソッド --

Java演習(9)   -- クラスとメソッド -- Java (9) Java (9) Java (9) 3 (x, y) x 1 30 10 (0, 50) 1 2 10 10 (width - 10, 80) -2 3 50 10 (width / 2, 110) 2 width 3 (RectMove4-1.java) import javax.swing.japplet; import javax.swing.timer; import java.awt.graphics;

More information

<4D F736F F F696E74202D AC C8899E D834F E >

<4D F736F F F696E74202D AC C8899E D834F E > Java 簡単な応用プログラム ( その 2) Java は すでにある部品群を上手く使ってプログラムを組み立てます 前回と同様に Frame を使って ウインドウを表示するプログラムを作りましょう. Frameは ウインドウを作るための部品で フレーム ( 枠 ) とタイトルおよび, 決められた仕組みが入っています. java.awt パッケージは, ウインドウ関連の部品が多くあります. javax.swing

More information

GUIプログラムⅣ

GUIプログラムⅣ GUI プログラム Ⅳ 画像指定ウィンドウの生成 ファイル名 :awtimage.java import java.awt.*; import java.awt.event.*; public class awtimage extends Frame // コンポーネントクラスの宣言 Button btnbrowse; Label lblcaption7; TextField txtimage; //

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 5 回 第 3 章継承 91 継承 ( インヘリタンス ): ウインドウシステムを例に説明 図 3.1: ウインドウの中にラベル, ボタン, リストの部品 各部品の属性と操作共通の属性と操作 ウインドウ内の左上を原点として (x, y) で場所指定 : 属性 (width, height) でサイズ指定 : 属性 識別のための名前 (name): 属性 置く位置の指定 (setlocation,

More information

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog13.ppt プログラミング言語 3 第 13 回 (2008 年 01 月 07 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2008 年 01 月 07 日分と書いてある部分が 本日の教材です

More information

Microsoft PowerPoint - swing3.ppt

Microsoft PowerPoint - swing3.ppt Java/Swing について (3) 2005 年 10 月 19 日 海谷治彦 1 目次 メニューと AbstractAction ダイアログ ファイルダイヤログ Inner Class ( 内部クラス ) Anonymous Inner Class ( 無名内部クラス ) GUI でもちっとはクラス図を使おう. 実行可能アーカイブ (jar) の作り方 エクリプス無しでも実行したい. 2 メニューと

More information

I. (i) Foo public (A). javac Foo.java java Foo.class (C). javac Foo java Foo (ii)? (B). javac Foo.java java Foo (D). javac Foo java Foo.class (A). Jav

I. (i) Foo public (A). javac Foo.java java Foo.class (C). javac Foo java Foo (ii)? (B). javac Foo.java java Foo (D). javac Foo java Foo.class (A). Jav 2018 06 08 11:00 12:00 I. I III II. III. IV. ( a d) V. VI. 80 40 40 100 60 : A ActionListener aa addactionlistener AE ActionEvent K KeyListener ak addkeylistener KE KeyEvent M MouseListener am addmouselistener

More information

ÿþ˜u#u·0¹0Æ0à0

ÿþ˜u#u·0¹0Æ0à0 応用プログラミング - イベント処理 - イベント : プログラムへの働きかけ (GUI のボタンをクリックする, キーボードよりデータを入力するなど ) イベント処理 ( イベントハンドリング ): イベントに対する応答及びそのプログラム処理 イベントを処理するプログラムは イベントが発生した場合にのみ 呼び出される ( イベントドリブン ) GUI イベント イベント処理のプログラム イベント処理の仕組みと流れ

More information

B 10 : N ip2003f10.tex B : 9/12/ :02 p.1/71

B 10 : N ip2003f10.tex B : 9/12/ :02 p.1/71 B 10 : ks91@sfc.wide.ad.jp N206 2003 ip2003f10.tex B : 9/12/2003 10:02 p.1/71 : / ip2003f10.tex B : 9/12/2003 10:02 p.2/71 ip2003f10.tex B : 9/12/2003 10:02 p.3/71 1 http://java.sun.com/j2se/1.4.1/docs/api/

More information

2 static final int DO NOTHING ON CLOSE static final int HIDE ON CLOSE static final int DISPOSE ON CLOSE static final int EXIT ON CLOSE void setvisible

2 static final int DO NOTHING ON CLOSE static final int HIDE ON CLOSE static final int DISPOSE ON CLOSE static final int EXIT ON CLOSE void setvisible 12 2013 7 2 12.1 GUI........................... 12 1 12.2............................... 12 4 12.3..................................... 12 7 12.4....................................... 12 9 12.5 : FreeCellPanel.java............................

More information

氏名を姓と名に分けて入力し ボタンをクリックして敬称を選び 住所欄を入力し 必要に応じて電話番号などその他の情報 を入力し 完了 (F) ボタンをクリックし 確認のメッセージが表示され OK ボタンをクリックし 1 表面のレイアウトを変更する 操作手順 バーの 表面 入力した宛先が表示され デザイン

氏名を姓と名に分けて入力し ボタンをクリックして敬称を選び 住所欄を入力し 必要に応じて電話番号などその他の情報 を入力し 完了 (F) ボタンをクリックし 確認のメッセージが表示され OK ボタンをクリックし 1 表面のレイアウトを変更する 操作手順 バーの 表面 入力した宛先が表示され デザイン for Windows 表面を作成 印刷しよう 筆王ドットコム http://www.fudeoh.com/ 住所録を作成する 3 差出人の名前 住所を入力する 氏名を姓と名に分けて入力し 必要に応じて連名を入力し 次へ (N) ボタンをクリックし 郵便番号 住所を入力し 必要に応じて勤務先 部署名などを入力 し 次へ (N) ボタンをクリックし 筆王 Ver.16 以下 筆王 を使って表面 宛名面

More information

< F2D BCA82CC978E89BA82CC8EC08CB12E6A7464>

< F2D BCA82CC978E89BA82CC8EC08CB12E6A7464> パチンコ玉の落下の実験 [Java アプレット ] [Java アプリケーション ] 1. はじめに 1 個のパチンコ玉が釘に当たって左右に分かれながら落下するとき パチンコ玉はどこに落下するのでしょうか ただし パチンコ玉が釘に当たって左右に分かれるとき その分かれ方は左右半々であるとします パチンコ玉が落下し易い場所はあるのでしょうか それとも どこの場所も同じなのでしょうか シミュレーションソフト

More information

GUIプログラムⅤ

GUIプログラムⅤ GUI プログラム Ⅴ 前回課題の制作例 ファイル名 :awttest.java public class awttest public static void main(string arg[]) //=============================================== // ウィンドウ (Frame クラス ) のインスタンスを生成 //===============================================

More information

Assignment_.java /////////////////////////////////////////////////////////////////////// // 課題 星の画像がマウスカーソルを追従するコードを作成しなさい 次 ///////////////////

Assignment_.java /////////////////////////////////////////////////////////////////////// // 課題 星の画像がマウスカーソルを追従するコードを作成しなさい 次 /////////////////// Assignment_.java 0 0 0 0 0 /////////////////////////////////////////////////////////// // 課題 次のようにマウスのカーソルに同期しメッセージを /////////////////////////////////////////////////////////// class Assignment_ extends

More information

pp2018-pp4base

pp2018-pp4base プログラミング入門 Processing プログラミング第 4 回 九州産業大学理工学部情報科学科神屋郁子 ( pp@is.kyusan-u.ac.jp ) 時限 クラス 水 1 機械 ( クラス 3) 水 2 機械 ( クラス 1) 水 4 電気 (B1 B2) 後ろ 5 列は着席禁止 3 人掛けの中央は着席禁止 第 4 回の内容 前回の質問への回答 マウスの操作と図形の描画 : メソッド 小テスト

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

プログラミングA

プログラミングA プログラミング A 第 10 回 演習 2015 年 6 月 29 日 東邦大学金岡晃 本日の内容 中間テストの解説 演習 1 2015/6/29 プログラミング A 中間テスト解説 : 問 1 < 問 1> 下記の命令が実行された後の a の値を書きなさい ( 省略 ). int a=13; 答え : 13 2 中間テスト解説 : 問 2 < 問 2> 下記の命令が実行された後の a の値を書きなさい

More information

?

? -1- 目次 ブラックジャックとは 基本的なルール 遊び方 ブラックジャックの基本用語 攻略法 実際にブラックジャックで遊んでみよう -2- ブラックジャックとは ブラックジャックとは トランプを使ったゲームの一種で 簡単に説明すると ディーラーとプレイヤーとが2枚ずつのカードが配られるところか らスタートし カードの合計が21以下 21が一番強い で 21に近い方が勝ちという非常にシンプルで簡単なゲームです

More information

text_13.dvi

text_13.dvi C 13 2000 7 9 13 Java(8) { Swing(2)(, ) 1 13.1 13 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 13.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

More information

第1章 ビジュアルプログラミング入門

第1章 ビジュアルプログラミング入門 第 9 章アプレット 学習内容とねらい 本章では Java 言語で作ったプログラムを Web ブラウザ上で動作させる方法を学習します Java 言語には これまで作成してきた Windows アプリケーションの他に Web ブラウザ上で動作させる事のできるアプレットという形態があります このアプレットを利用すれば Web 上で Java プログラムを公開することもできます アプレットは Java 言語の普及当初は

More information

Java - Visual Editor

Java - Visual Editor Visual Editor で Swing アプリケーションを作成 Swing プログラミングに慣れて居ても ソースコード上丈で思い通りの GUI を作成するのは 可成り骨の折れる作業で有る Visual Editor を使用すれば 試行錯誤し乍ら 非常に簡単に GUI アプリケーションを作成する事が出来る 此処では JFrame を拡張して 簡単なアプリケーションを作成して観る事にする Java

More information

Prog2_12th

Prog2_12th 2018 年 12 月 13 日 ( 木 ) 実施クラスの継承オブジェクト指向プログラミングの基本的な属性として, 親クラスのメンバを再利用, 拡張, または変更する子クラスを定義することが出来る メンバの再利用を継承と呼び, 継承元となるクラスを基底クラスと呼ぶ また, 基底クラスのメンバを継承するクラスを, 派生クラスと呼ぶ なお, メンバの中でコンストラクタは継承されない C# 言語では,Java

More information

アジェンダ 1 グラフィカルなインタフェース GUI(Graphical User Interface) の基礎 2 Swing を利用する Swing の基礎知識 2

アジェンダ 1 グラフィカルなインタフェース GUI(Graphical User Interface) の基礎 2 Swing を利用する Swing の基礎知識 2 UML によるソフトウェア設計 Java プログラミング 2 1 アジェンダ 1 グラフィカルなインタフェース GUI(Graphical User Interface) の基礎 2 Swing を利用する Swing の基礎知識 2 1. グラフィカルなインタフェース ウィンドウの作成手順 1. ウィンドウ ( フレーム ) を作成する JFrame frame = new JFrame(); 2.

More information

Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog13.ppt プログラミング言語 3 第 13 回 (2008 年 01 月 07 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2008 年 01 月 07 日分と書いてある部分が 本日の教材です

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public

More information

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料 10/28 Java AWT の基本構造 (Frame クラスの継承 ) 演習課題資料以下のプログラムを完成せよ 共通課題 1.Frame を生成するプログラム // Frame クラスを継承して 終了ボタンのみを定義した クラスの定義 class WhiteWindow 1 { // Frame クラスの継承をする (Frame クラスの拡張 ) WhiteWindow (String title){

More information

表示の更新もそういた作業のひとつに当たる スレッドの使用アニメーション アニメーションやシミュレーションなどは画面の更新が一定のタイミングで行われていく この連続した画面の更新をスレッドを利用して行う しかし paint() メソッドを直接呼び出して表示を更新することはできない その理由

表示の更新もそういた作業のひとつに当たる スレッドの使用アニメーション アニメーションやシミュレーションなどは画面の更新が一定のタイミングで行われていく この連続した画面の更新をスレッドを利用して行う しかし paint() メソッドを直接呼び出して表示を更新することはできない その理由 Java 独習第 3 版 13.12 スレッドの使用 13.13 ダブルバッファリング 2006 年 7 月 12 日 ( 水 ) 南慶典 表示の更新もそういた作業のひとつに当たる 13.12 スレッドの使用アニメーション アニメーションやシミュレーションなどは画面の更新が一定のタイミングで行われていく この連続した画面の更新をスレッドを利用して行う しかし paint() メソッドを直接呼び出して表示を更新することはできない

More information

1

1 1 目次 基本的なルールと遊び方 ブラックジャックの基本用語 攻略法 実際にブラックジャックで遊んでみよう 更なる攻略法を無料プレゼント中! 2 ブラックジャックの基本的なルール 遊び方 ブラックジャックは プレイヤー ( あなた ) とディーラー ( 親 胴元 ハウスなどと呼ばれる ) との間で勝負を行うゲームです プレイヤーの勝利条件は 手持ちのカードの合計ポイントをディーラーより 21 に近づける事です

More information

5 p Point int Java p Point Point p; p = new Point(); Point instance, p Point int 2 Point Point p = new Point(); p.x = 1; p.y = 2;

5 p Point int Java p Point Point p; p = new Point(); Point instance, p Point int 2 Point Point p = new Point(); p.x = 1; p.y = 2; 5 p.1 5 JPanel (toy example) 5.1 2 extends : Object java.lang.object extends... extends Object Point.java 1 public class Point { // public int x; public int y; Point x y 5.1.1, 5 p.2 5 5.2 Point int Java

More information

19 3!! (+) (>) (++) (+=) for while 3.1!! (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics;

19 3!! (+) (>) (++) (+=) for while 3.1!! (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics; 19 3!!...... (+) (>) (++) (+=) for while 3.1!! 3.1.1 50 20 20 5 (20, 20) 3.1.1 (1)(Blocks1.java) public class Blocks1 extends JApplet { public void paint(graphics g){ 5 g.drawrect( 20, 20, 50, 20); g.drawrect(

More information

......() JButton............

......() JButton............ ......() JButton............ playerpanel (JPanel) (JScrollPane) playerlist (JList) Window(JFrame) resultlabel(jlabel) statuspanel(jpanel) dealerpanel (JPanel) (JScrollPane) dealerlist (JList) playerresult

More information

6 p.1 6 Java GUI GUI paintcomponent GUI mouseclicked, keypressed, actionperformed mouseclicked paintcomponent thread, 1 GUI 6.0.2, mutlithread C

6 p.1 6 Java GUI GUI paintcomponent GUI mouseclicked, keypressed, actionperformed mouseclicked paintcomponent thread, 1 GUI 6.0.2, mutlithread C 6 p.1 6 Java GUI GUI paintcomponent GUI mouseclicked, keypressed, actionperformed mouseclicked paintcomponent 6.0.1 thread, 1 GUI 6.0.2, mutlithread CPU 1 CPU CPU +----+ +----+ +----+ Java 1 CPU 6 p.2

More information

ToDo: 今回のタイトル

ToDo: 今回のタイトル グラフの描画 プログラミング演習 I L03 今週の目標 キャンバスを使って思ったような図 ( 指定された線 = グラフ ) を描いてみる 今週は発展問題が三つあります 2 グラフの準備 値の算出 3 値の表示 これまでは 文字列や値を表示するのには 主に JOptionPane.showMessageDialog() を使っていましたが ちょっとしたものを表示するのには System.out.println()

More information

目次 1. サイトの概要 2. このサイトで行なうこと 3. ログインするには 4. 情報発信会員 管理画面の説明 5. 掲載情報を決める 6. マイページを作成する 6-1 マイページのトップ画面について 7. コンテンツを作成する 7-1 掲載場所を決める 7-2 ページを作成する プロフィール

目次 1. サイトの概要 2. このサイトで行なうこと 3. ログインするには 4. 情報発信会員 管理画面の説明 5. 掲載情報を決める 6. マイページを作成する 6-1 マイページのトップ画面について 7. コンテンツを作成する 7-1 掲載場所を決める 7-2 ページを作成する プロフィール 江東区コミュニティ支援情報サイト ことこみゅネット ご利用ガイド ( 情報発信会員用 ) URL http:// kotocommu.net 1 目次 1. サイトの概要 2. このサイトで行なうこと 3. ログインするには 4. 情報発信会員 管理画面の説明 5. 掲載情報を決める 6. マイページを作成する 6-1 マイページのトップ画面について 7. コンテンツを作成する 7-1 掲載場所を決める

More information

ワンダー ライヴズとは? 世界の様々な特徴 能 を持つ生物たちが 自然界での生き残りをかけて戦うカードゲームです

ワンダー ライヴズとは? 世界の様々な特徴 能 を持つ生物たちが 自然界での生き残りをかけて戦うカードゲームです 遊べる! 生物のすごい能力大図鑑 ワンダー ライヴズ体験プレイ用スライド ワンダー ライヴズとは? 世界の様々な特徴 能 を持つ生物たちが 自然界での生き残りをかけて戦うカードゲームです ワンダー ライヴズとは? V.S. ワンダー ライヴズは 2 人で対戦するゲームです 今回は 海デッキと陸デッキに分かれて戦います 準備 : カードの重ね順を確認 説明のため カードの重ね順が決まっているため 今回はシャッフルをしないでそのまま遊びましょう

More information

Microsoft Word - Office365_EndUser_Basic_Guide.docx

Microsoft Word - Office365_EndUser_Basic_Guide.docx 3.1 メール 予定表 および連絡先 (Outlook Web App) 3.1.1 メール Outlook Web App を使えば 社内だけでなく外出先で PC を持ち歩いていない場合や自宅など いつでもどこでもメールの確認ができます Outlook Web App には Office 365 ポータルからアクセスすることができます 最初のログインを行った後 署名を作成 メールの作成と返信 整理を行うという

More information

第1章 ビジュアルプログラミング入門

第1章 ビジュアルプログラミング入門 第 10 章補足 -Java プログラムを一から記述してみようー 学習内容とねらい これまで本テキストで扱ってきたのは主に Windows アプリケーション (Windows 上のボタンクリック等による動作するプログラム ) でした ですから 皆は Eclipse を用いて Windows アプリケーションを作成する方法には習熟したはずです 皆も経験した通り Eclipse( およびそこにプラグインされている

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション かんたんマニュアル 基本操作編 目次 STEP:1 STEP:2 STEP:3 STEP:4 STEP:5 STEP:6 STEP:7 STEP:8 STEP:9 画面の確認をしよう用紙を選択しようテンプレートを使ってみよう文字を入力しよう文字の大きさを変えるにはイメージを貼り付けようコピー 保存しよう印刷しよう作ったデータを ほかの用紙に移すには P.2 P.4 P.5 P.7 P.9 P.11

More information

問1

問1 2008/12/10 OOP 同演習小テスト問題 問 1. 次のプログラムの出力結果を a~d の中から選べ public class Problem1 { public static void main(string[] args){ int i =2; int j =3; System.out.println( i + j ); a) 23 b) 5 c) ij d) i+j 問 2. 次のプログラムの出力結果を

More information

GEC-Java

GEC-Java Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 プログラミング初級 (Java) 第 14 回継承 白銀純子 第 14 回の内容 継承 オーバーライド ポリモーフィズム Copyright (C) Junko Shirogane, Waseda University 2019, All rights

More information

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy オブジェクト指向プログラミング演習 2010/10/27 演習課題 スレッド ( その 2) 同期処理 結果不正 デッドロック 前回のスレッドの演習では 複数のスレッドを実行し 一つのプログラムの中の違う処理を同時に実行し た ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする )

More information

Microsoft PowerPoint - prog11.ppt

Microsoft PowerPoint - prog11.ppt プログラミング言語 3 第 11 回 (2007 年 12 月 10 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 12 月 10 日分と書いてある部分が 本日の教材です

More information

Microsoft PowerPoint prog1_doc2x.pptx

Microsoft PowerPoint prog1_doc2x.pptx アプレット public class extends Applet { public void paint(graphics g) { // アプレット描画 g.drawstring( Hello World, 10, 20 ); page 1 アプレット : 色 public class extends Applet { Color col; // カラークラス int red, grn, blu;

More information

補足資料

補足資料 Scratch で楽しむレッツ! プログラミングジュニア プログラミング検定公式テキスト Scratch 2.0 オフラインエディター用補足資料 Scratch で楽しむレッツ! プログラミングジュニア プログラミング検定公式テキスト ( 型番 :FPT1710) は インターネットに接続した環境で ブラウザーを使って Scratch 2.0 を学習する場合の操作手順を掲載しています Scratch

More information

変更履歴 版数変更日変更内容 /11/1 初版設定 /9/1 名称変更

変更履歴 版数変更日変更内容 /11/1 初版設定 /9/1 名称変更 アプリ作成チュートリアル ~ 作ってみよう名刺管理アプリ ~ 第 1.0 版平成 28 年 11 月 1 日制定 株式会社中電シーティーアイ 変更履歴 版数変更日変更内容 1.0 2016/11/1 初版設定 1.1 2018/9/1 名称変更 目次 1 はじめに... 1 1.1 本書の位置付... 1 1.2 名刺管理アプリ... 1 2 ログイン... 3 3 データベースの設定... 4 3.1

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

スライド 1

スライド 1 Authoring environment for Web2Print. テンプレート作成 運用手順 第 1.0 版 はじめに 本書では Edition BackStage でのテンプレートの作成 カセットと素材の登録を行なって 実際にそれらを使った編集の手順を簡単なサンプル を使って説明します 下記の流れで すすめていきます 1. テンプレートの登録 BackStage にデザイナ権限でログインして新規のテンプレートを登録します

More information

データ構造とアルゴリズム論

データ構造とアルゴリズム論 第 1 章.Java による CG 作成方法 2 学習のねらい 1 先週に続いて Java 言語 (Eclipse 環境における ) を用いて CG( コンピュータグラフィックス ) を作成する方法の基礎を学習する 今回は ( 作成した )CG が自動的に再描画される様にするための処理 ( のプログラミング ) を学習する 今回の学習で Java による CG 作成方法を終了し 次週以降は CG 作成のアルゴリズムの学

More information

Microsoft PowerPoint - prog11.ppt

Microsoft PowerPoint - prog11.ppt プログラミング言語 3 第 11 回 (2007 年 12 月 10 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 12 月 10 日分と書いてある部分が 本日の教材です

More information

Word編2 宛先の氏名を入力する職人編宛名を入力するための画面が表示されます 姓と名の間にスペースを入れて氏名を入力します ボタンをクリックして敬称を選びます [ 連名 情報 ] タブをクリックします 必要に応じて [ 名前 ] 欄をクリックして連名を入力します 3 宛先の住所を入力する [ 自宅

Word編2 宛先の氏名を入力する職人編宛名を入力するための画面が表示されます 姓と名の間にスペースを入れて氏名を入力します ボタンをクリックして敬称を選びます [ 連名 情報 ] タブをクリックします 必要に応じて [ 名前 ] 欄をクリックして連名を入力します 3 宛先の住所を入力する [ 自宅 Word編筆王編筆ぐるめ編筆まめ編宛名職人40 かんたん年賀状素材集 2011 年版 for Windows 宛名面を作成 印刷しよう 筆まめ Ver.21/Ver.20 ( 以下 筆まめ ) を使って宛名面の印刷を行います 筆まめには 宛名面 を作成するための便利な住所録機能が用意されていますので 画面の指示に従って入力するだけで 郵便番号 住所 宛名などの情報が はがき宛名面の所定の位置にレイアウトされます

More information

マウス操作だけで本格プログラミングを - 世界のナベアツをコンピュータで - プログラムというと普通は英語みたいな言葉で作ることになりますが 今回はマウスの操作だけで作ってみます Baltie, SGP System 操作説明ビデオなどは 高校 情

マウス操作だけで本格プログラミングを - 世界のナベアツをコンピュータで - プログラムというと普通は英語みたいな言葉で作ることになりますが 今回はマウスの操作だけで作ってみます Baltie, SGP System   操作説明ビデオなどは 高校 情 マウス操作だけで本格プログラミングを - 世界のナベアツをコンピュータで - プログラムというと普通は英語みたいな言葉で作ることになりますが 今回はマウスの操作だけで作ってみます Baltie, SGP System http://www.sgpsys.com/en/ 操作説明ビデオなどは 高校 情報科 の教材 指導案作ってみました http://www.beyondbb.jp/ Zip の教材内に入っています

More information

問題1 以下に示すプログラムは、次の処理をするプログラムである

問題1 以下に示すプログラムは、次の処理をするプログラムである 問題 1 次のプログラムの出力結果を a~d の中から選べ public class Problem1 { int i=2; int j=3; System.out.println("i"+j); a) 23,b) 5,c) i3,d) ij 問題 2 次のプログラムの出力結果を a~d の中から選べ public class Problem2 { int a=6; if((a>=2)&&(a

More information

発展プログラミング (5) 例題 5-03( 応用プログラム 3 目並べ その 2) 勝敗判定機能をそなえた 3 目並べ のゲーム盤を作りましょう 必要な変数を考えましょう 1 マス目の状態を保持する配列 整数型 :mas[] 2 何手目かを数える変数 整数型 :nante 3 ゲームが終了したかど

発展プログラミング (5) 例題 5-03( 応用プログラム 3 目並べ その 2) 勝敗判定機能をそなえた 3 目並べ のゲーム盤を作りましょう 必要な変数を考えましょう 1 マス目の状態を保持する配列 整数型 :mas[] 2 何手目かを数える変数 整数型 :nante 3 ゲームが終了したかど 発展プログラミング (5) 例題 5-03( 応用プログラム 3 目並べ その 2) 勝敗判定機能をそなえた 3 目並べ のゲーム盤を作りましょう 必要な変数を考えましょう 1 マス目の状態を保持する配列 整数型 :mas[] 2 何手目かを数える変数 整数型 :nante 3 ゲームが終了したかどうかを示す変数 整数型 :endflg 最低限 この 3 種類は必要です 前回作成した例題 5-02

More information

ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウ

ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウ ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウィジェット からボタンのアイコンをドラッグして, ワークスペースにドロップする. 図 1 ボタンの追加

More information

教材ドットコムオリジナル教材 0から始めるiアプリ (4) 0 から始める i アプリ (4) i アプリをプログラミングする際に必要なのは Java というプログラミング言語の基礎知識です 独自の命令や駆使してプログラミングをするわけですが Java というベースになっている言語を知らないでプログ

教材ドットコムオリジナル教材 0から始めるiアプリ (4) 0 から始める i アプリ (4) i アプリをプログラミングする際に必要なのは Java というプログラミング言語の基礎知識です 独自の命令や駆使してプログラミングをするわけですが Java というベースになっている言語を知らないでプログ 教材ドットコムオリジナル教材 0から始めるiアプリ (4) 0 から始める i アプリ (4) i アプリをプログラミングする際に必要なのは Java というプログラミング言語の基礎知識です 独自の命令や駆使してプログラミングをするわけですが Java というベースになっている言語を知らないでプログラムを記述することはあり得ません 本節では 新規プロジェクトを続けて作る際の注意事項と 簡単な Java

More information

r8.dvi

r8.dvi I 2005 8 2005.12.9 GUI GUI ( ) GUI try... catch 1 1.1 2 1 2 paint() run() 1 Y 1 2 sin/cos 2 2 Color.getHSBColor() ( Circle setpaint() getpaint() ) import java.awt.*; import javax.swing.*; public class

More information

1

1 1 2 3 4 確認しよう 今回のサンプルプログラムにアクセスしてみましょう 1. デスクトップ上のフォルダをクリックし /var/www/html に example1.html と example2.php ファイルがあることを確認します 2. ブラウザを起動し 次の URL にアクセスします http://localhost/example1.html 3. 自分の手を選択して じゃんけんぽん

More information

更新履歴 変更履歴 版数 リリース日 更新内容 第 1 版 2017/5/15 第 1 版発行 第 2 版 2017/7/13 更新履歴 変更内容を追加 (2ページ) 編集の前に を追加(8 ページ ) ブロックエディタ スマートモード エディタモード の説明を追加 (10~12 ページ ) ブロッ

更新履歴 変更履歴 版数 リリース日 更新内容 第 1 版 2017/5/15 第 1 版発行 第 2 版 2017/7/13 更新履歴 変更内容を追加 (2ページ) 編集の前に を追加(8 ページ ) ブロックエディタ スマートモード エディタモード の説明を追加 (10~12 ページ ) ブロッ 使い方ガイド 第 4 版 ログインする~サイト編集画面を開く... 3 テンプレートを選ぶ ~ 編集モードを選択する... 4 編集画面の見かた... 6 編集の前に... 8 テキストを変える... 9 ブロックの編集画面 ( スマートモード )... 10 ブロックの編集画面 ( エディタモード )... 11 スマートモードからエディタモードへ変更... 12 ブロックの複製 移動 削除など...

More information