Ch17 專案 (1)- 賽馬 物件導向系統實務. 2015/12/52 五匹馬賽跑 _DOS 版 1/2 1.class Horse5_DOS 2.{ 3.static Horse[] h = new Horse[5]; 4.static Thread[] t = new Thread[h.length];

Slides:



Advertisements
Similar presentations
JAVA 程式語言入門 (II).  版面配置  事件驅動  Ch14_01.java 1. import javax.swing.*; 2. import java.awt.*; 3. class Ch14_01 4. { 5. public static void main(String.
Advertisements

1 Chemical and Engineering Thermodynamics Chapter 2 Conservation of mass and energy Sandler.
Introduction to Java Programming Lecture 13 Classes I OO Programming.
第 10 章 Java 的執行緒 10-1 執行緒的基礎 10-2 Java 執行緒的使用方法 10-3 Java 執行緒的同步 10-4 管道串流的執行緒.
PowerPoint2010 李燕秋 版面配置 版面配置指的是每一個頁面的內容配置 方式,不同的版面配置會有對應的母片。
Introduction to Constructor, Overloading, and Accessibility CS340100, NTHU Yoshi.
指導教授:黃仁暐 教 授 專題生:羅允志 陳冠宏 1.  分組討論時 …  多人同時討論的平台 … 2.
Java Swing Comes from originallyhttp://debut.cis.nctu.edu.tw/~ching/
在 Ad-hoc 網路中實現點對 點發送訊息與廣播訊息. 檔案下載  範例程式可在下列網址取得  DEMO 程式可在下列網址取得
1 第一章 Word 的基本觀念 內容概要: Word 的特色 啟動與離開 Word 的方法 滑鼠游標與外型的介紹 基本操作 Word 視窗法則 使用 Word 遭遇問題時, 應如何利用軟體特 性而獲得輔助解說.
第 15 章 Servlet 程式設計 Java 2 程式設計入門與應用. 2 目錄 15-1 Servlet 的簡介 15-1 Servlet 的簡介 15-2 建立 Servlet 程式 15-2 建立 Servlet 程式 溫故知新 自我突破習題.
計算機視覺研究室 專題實作簡報 張元翔 老師.
例外處理. 內 容 大 綱 例外的產生 捕捉例外 丟出例外 例外的產生 (1/4) 一般常見的執行時期錯誤包括整數除法分母為 0(divide by zero) ,陣列索引值越限 (array index out of range) ,輸入輸出錯誤 (I/O error) 、檔案 不存在或無法存取.
專案設計步驟圖示 輸入 下拉 下一個 5 設定輸入變數 Inc_Exp 6.
MS office2003 於護理應用 (II) Visio 授課教師:郝德慧 講師. 認識 Visio Outline 1 Visio 的圖形編輯與設定 2 Visio 的文字輸入與編輯 3 Visio 的樣板 4 Visio 的範例操作 5.
程式語言實習 - JAVA Class1 1. 介紹 Java 編寫、編譯、執行 2. 請同學完成作業二.
系統分析與設計【第八版】 第六章 物件塑模.
第 1 章 VB.NET 的基礎 1-1 程式語言的基礎 1-1 程式語言的基礎 1-2 VB.NET 的基礎 1-2 VB.NET 的基礎 1-3 VB.NET 應用程式的開發環境 1-3 VB.NET 應用程式的開發環境.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
第 9 章 視窗應用程式的事件處理 9-1 事件的基礎 9-1 事件的基礎 9-2 表單事件 9-2 表單事件 9-3 滑鼠事件 9-3 滑鼠事件 9-4 鍵盤事件 9-4 鍵盤事件 9-5 表單的鍵盤事件 9-5 表單的鍵盤事件 9-6 控制項的事件 9-6 控制項的事件.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
24-6 設定開始與結束場景中的 程式 最後我們要替這個遊戲收個尾, 幫它把開始 的等待畫面跟結束畫面處理一下。
Structural Equation Modeling Chapter 3 SEM 與理論是密友,不管過程是 五步或七步,適配最重要 SEM 理論與過程.
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
如何建立一個 swing 元件 -- 以 ImageComponent 為例 井民全. Step 1: 繼承 javax.swing.JComponent 要將你的元件秀在 frame 中. 元件必須是 Jcomponent 的一種. javax.swing.JComponent 你的元件 class.
基準特徵 基準面 基準座標系 基準點 基準線 基準軸 基準特徵顯示之控制. 基準特徵 基準面 基準座標系 基準點 基準線 基準軸 基準特徵顯示之控制.
第12章 建立多表單與模組的應用程式 12-1 Visual Basic的方案與專案 12-2 模組化Visual Basic應用程式
第 10 章 視窗應用程式的工具列與 功能表 10-1 主功能表控制項 10-1 主功能表控制項 10-2 快顯功能表控制項 10-2 快顯功能表控制項 10-3 工具列控制項 10-3 工具列控制項 10-4 狀態列控制項 10-4 狀態列控制項 10-5 字型與色彩對話方塊 10-5 字型與色彩對話方塊.
In Chapter 1 您將學到什麼 ? 了解 Java 語言的特徵 Java 程式的發展過程關係 Java 程式的基本架構.
JAVA 程式設計與資料結構 第八章 GUI Introduction I. GUI  使用 java.swing 的 package 來設計視窗介 面,我們稱之為 Graphic User Interface(GUI) 。  在設計 GUI 的時候,需要 import javax.swing.*;
Chapter 17 Windows API 程式入門 VC++ 與 WindowsVC++ 與 Windows 建構遊戲設計的舞台 建構遊戲設計的舞台.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
專題簡報 曾聖嘉 邱帥軒 指導教授:楊正仁教授.
Hung-Hsiang WuWindows Processing Design1 Chapter 4 簡單視窗程式 表單與標籤的屬性 按鈕與編輯的屬性 設計簡單的應用程式 表單常用事件 一般鍵盤及滑鼠常見的事件 表單視窗間的呼叫 表單間資料傳送應用 專案選擇設定.
Advance Window Programming 游子宜. MFC 類別函式庫 MFC(Microsoft Foundation Class Library) 是一套 整合在 VC++ 中供開發視窗程式用的類別函式庫, 提供了豐富的類別函式供程式設計師來開發各類 的視窗應用程式。
方案設計 —評估考核 張 紉.
第 9 章 TSR 程式基本教練. 本章提要 TSR 程式 以熱鍵 (Hot key) 叫用 TSR 程式 Clock 中斷 int 08h 、 int 1ch DOS reentrant 的問題 有用的 TSR 程式.
安全性管理員 Java 學習手冊 p.p SecurityManager 觀念  Java Application 的系統資源存取權限的設 定  可以由 SecurityManager 完全控制 如 : 檔案系統, Thread, 執行外部 process, 網路存取 一旦 Security.
第 11 章 繪圖與多媒體 11-1 繪圖的基礎 11-1 繪圖的基礎 11-2 繪出文字和圖形 11-2 繪出文字和圖形 11-3 圖片檔案的載入與顯示 11-3 圖片檔案的載入與顯示 11-4 動畫效果 11-4 動畫效果 11-5 應用實例:螢幕保護程式 11-5 應用實例:螢幕保護程式.
程式設計 Visual Basic 6.0 Visual Basic 6.0 Visual Basic 6.0 程式設計 Visual Basic 6.0 Visual Basic 6.0 Visual Basic 6.0許翠婷
Chapter 3 Entropy : An Additional Balance Equation
校園網頁整合平台介紹 電算中心綜合業務組. 大綱 設計理念 功能介紹 實做 FAQ 特殊案例 Q&A.
第 17 章 樣板 17-1 樣板的基礎 17-1 樣板的基礎 17-2 樣板函數 17-2 樣板函數 17-3 樣板類別 17-3 樣板類別 17-4 非型態參數的樣板類別 17-4 非型態參數的樣板類別 17-5 樣板類別的繼承 17-5 樣板類別的繼承 17-6 特化樣板與靜態成員 17-6 特化樣板與靜態成員.
第12章 多重表單與模組的應用程式 12-1 VB.NET的方案與專案 12-2 模組化VB.NET應用程式 12-3 多重表單的應用程式
OBJECTS AND CLASSES Outline Reference Variables and Reference Types Primitive Types and Reference Types Static Variable, Constants,
概念性產品企劃書 呂學儒 李政翰.
Inheritance and Polymorphism
2 期末程式第一份報告 報告內容 撰寫此程式的動機和目的以及預期達到的功能和結果 流程圖 繼承關係 資料結構 檔案上傳格式 第 n 組程式流程圖.doc 組別於近日內公告 5/31, 17:00 前交.
無線通訊網路 Mac 層 TDM 通訊模式的操作與效能研究 專題生 : 林書弘、蔡逸祥、毛建翔、王政 華 指導教授 : 黃依賢.
1 第二十章 大型程式的發展 使用名稱空間 熟悉大型程式的開發方式 條件式編譯指令的撰寫. 2 名稱空間 名稱空間就像是一個管理介面,可以將定義的識別 字放在名稱空間之下,而不會有相互衝突的發生 名稱空間的語法如下 把變數 var 放在名稱空間 name1 內 要存取使用名稱空 間 name1 的變數.
第 4 章 視窗應用程式表單的基本 輸出入 4-1 VB.NET 的物件觀念 4-1 VB.NET 的物件觀念 4-2 表單類別 4-2 表單類別 4-3 按鈕控制項 4-3 按鈕控制項 4-4 輸出資料的標籤控制項 4-4 輸出資料的標籤控制項 4-5 輸入資料的文字方塊控制項 4-5 輸入資料的文字方塊控制項.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 壹 企業研究導論.
Visual C++重點複習.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2008.
結束 第三章 認識電腦軟體 本章重點 3-1 系統軟體 系統軟體 3-2 應用軟體 應用軟體 3-3 程式語言簡介 程式語言簡介.
MS office2003 於護理應用 (V) Excel 授課教師:郝德慧 講師. Excel 基本功能 Outline 1 Excel 的巨集錄製 2 Excel 的巨集執行 3 Excel 的繪製圖表 4 Excel 的專題範例操作 5.
Microsoft Excel.
The Java Remote Method Invocation (RMI) – 遠端方法呼叫 Reference: Java 學習手冊 p.p. 381 井民全製作.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2009.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
精彩 Java 2 程式設計 C2 物件與事件控制技巧. 2 目錄 C2-1 認識事件 C2-1 認識事件 C2-2 以時間事件來控制物件 C2-2 以時間事件來控制物件 C2-3 滑鼠控制技巧 C2-3 滑鼠控制技巧 C2-4 鍵盤控制技巧 C2-4 鍵盤控制技巧.
XNA 4.0 簡介 靜宜大學資工系 蔡奇偉 副教授 © 大綱 XNA 簡介 XNA Framework XNA Build XNA Game Studio 建立 XNA 4 的專案 方案的目錄結構 XNA Game Studio 4.0 參考手冊 Hello, XNA XNA Game.
> Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.
物件導向系統實務. * 複習物件導向程式設計 * 如何與使用者互動?何謂傾聽者 (Listener) * 範例程式 : 剪刀石頭布遊戲.
1 運算子多載 鄭士康國立台灣大學 電機工程學系 / 電信工程研究所 / 資訊網路與多媒體研究所.
1 抽象類別與介面 (Abstract Classes and Interfaces) 鄭士康國立台灣大學 電機工程學系 / 電信工程研究所 / 資訊網路與多媒體研究所.
L EC. 07: I NHERITANCE S PRING C ONTENT  Inheritance basics  Member access and inheritance  Constructors and inheritance  Superclass references.
Ch15 簡單計算機 物件導向系統實務. Ch22_Main.java import javax.swing.*; import java.awt.*; import java.awt.event.*; class Ch22_Main { public static void main(String.
Sun Educational Service 第九單元 實作封裝與建構式. Sun Educational Service Module 9, slide 2 of 43 單元概論 單元目標: – 利用封裝 (encapsulation) 來保護資料 – 設計建構式來初始化物件 問題與討論.
> Polymorphism. Polymorphism - 2 多型的功能 多型提供了「介面與實作分離」的一個重 要性,能將 what (是什麼)自 how (怎麼 做)之中抽離。 多型( polymorphism )除去型別之間的耦 合關係。
Presentation transcript:

Ch17 專案 (1)- 賽馬 物件導向系統實務

2015/12/52 五匹馬賽跑 _DOS 版 1/2 1.class Horse5_DOS 2.{ 3.static Horse[] h = new Horse[5]; 4.static Thread[] t = new Thread[h.length]; 5.public static void main(String [] args) throws Exception 6.{ 7.for(int i=0; i<h.length; i++) 8.{ 9.h[i] = new Horse(); 10.t[i] = new Thread(h[i]); 11.} 12.for(int i=0; i<h.length; i++) 13.t[i].start(); 14.do 15.{ 16.Thread.sleep(10); 17.for(int i=0; i<h.length; i++) 18.System.out.print( (int) h[i].distance + "\t"); 19.System.out.println(); 20.}while( isAllAlive() );

2015/12/53 五匹馬賽跑 _DOS 版 2/2 21.static boolean isAllAlive()// 是否每個執行緒都還活著 22.{ 23.for(int i=0; i<h.length; i++) 24.if( t[i].isAlive() == false) 25.return false; 26.return true; 27.} 28.//Horse 類別 29.static class Horse implements Runnable 30.{ 31.double distance=0; 32.public void run() 33.{ 34.try{ 35.while(distance<100) 36.{ 37.Thread.sleep(10); 38.distance += Math.random(); 39.} 40.}catch(Exception e){} 41.} 42.} 43.}

2015/12/54 動畫 1/3 1./* 程式範例 */ 2.import javax.swing.*; 3.import java.awt.*; 4.import java.awt.event.*; 5.// 繼承 JFrame 類別, 實作 ActionListener 介面 6.public class Ch05_06 extends JFrame 7. implements ActionListener 8.{ private int offset = -10; 9. private Timer timer; 10. private AnimationPane [] animationPane = new AnimationPane[5]; 11. // 建構子 12. public Ch05_06() 13. { super(" 動畫功能的顯示範例 "); 14. int delay = 100; 15. timer = new Timer(delay, this); 16. timer.setInitialDelay(0); 17. Container c = getContentPane(); 18. c.setLayout(new FlowLayout()); 19. c.setBackground(Color.gray); 20. Toolkit toolkit = Toolkit.getDefaultToolkit(); 21. Image image = toolkit.getImage("sample.jpg"); 22. for(int i = 0; i < 5; i++) 23. { 24. animationPane[i] = new AnimationPane(image); 25. c.add(animationPane[i]); 26. } 27. timer.start(); 28. }

2015/12/55 動畫 2/3 29. // 顯示動畫的 JPanel 30. class AnimationPane extends JPanel 31. { Image image; 32. // 建構子 33. public AnimationPane(Image image) 34. { setPreferredSize(new Dimension(680, 100)); 35. setBackground(Color.lightGray); 36. this.image = image; 37. } 38. public void paintComponent(Graphics g) 39. { super.paintComponent(g); 40. int width = getWidth(); 41. int height = getHeight(); 42. // 計算圖片的尺寸 43. int imgWidth = image.getWidth(this); 44. int imgHeight = image.getHeight(this); 45. g.drawImage(image,((offset*5)%(imgWidth+width)) imgWidth, (height-imgHeight)/2, this); 47. } 48. }

2015/12/56 動畫 3/3 49. // 實作事件處理方法 50. public void actionPerformed(ActionEvent evt) 51. { offset++; 52. for(int i = 0; i<5; i++) 53. animationPane[i].repaint(); // 重繪 54. } 55. // 主程式 56. public static void main(String[] args) 57. { // 建立 Swing 應用程式 58. Ch05_06 app = new Ch05_06(); 59. // 關閉視窗事件, 結束程式的執行 60. app.addWindowListener(new WindowAdapter() 61. { public void windowClosing(WindowEvent evt) 62. { System.exit(0); } 63. }); 64. app.setSize(700, 550); // 設定尺寸 65. app.setVisible(true); // 顯示視窗 66. } 67.}