楊小哥的話




    「各位讀者,各位先進大家好,我是Arturo楊,不是阿齪楊,還
是叫我楊小哥好了。我沒想到做了小台哥的學生,問過他幾個有關學
校寫功課和報告之類的問題,就被他拉來客串演出,扮演一個亂問問
題的角色。不知道各位對我的客串演出到底滿不滿意?

提起 Java 這一個語言,本來我是一竅不通的,要我來客串這麼 一個角色,原先我是覺得有些怕怕的,後來經過一些臨陣磨槍式的惡 性補習,又到 Internet 上面收集了一些資料,寫了幾個程式,最後 又跟約翰周、雕龍王這些專家和先進們討論了一番,才對 Java 有一 些認識。

哦!對了!我寫的那個 Java 繪圖的 Applet 拿了一個A,而那 門課我也是高分閃過。現在我把這個繪圖的 Applet 放在這兒,請各 位先進和同好多多指教指教。


import java.awt.*; import java.applet.*; public class HexOct extends Applet { int NewH (double a, double b, int h) { a = Math.PI / 180.0 * a; b = Math.PI / 180.0 * b; return((int) (Math.round(Math.sin(a)*h/Math.sin(b)))+1); } void SetHexagon (Polygon hexa, int x, int y, int h) { double a; for (int i=0; i < 7; i++) { a = Math.PI / 3.0 * i; hexa.addPoint((int)(Math.round(x + Math.sin(a) * h)), (int)(Math.round(y + Math.cos(a) * h))); } } void DrawHexagon (Graphics g, int x, int y, int h) { Polygon hexagon = new Polygon(); SetHexagon(hexagon,x,y,h); g.drawPolygon(hexagon); } void DrawOctangle (Graphics g, int x, int y, int h) { double a; int x0,x1, y0,y1; x0 = x + h; y0 = y ; for (int i=1; i < 10; i++) { a = Math.PI / 4.0 * i; x1 = (int)( Math.round(x + Math.sin(a) * h)); y1 = (int)( Math.round(y + Math.cos(a) * h)); g.drawLine(x0,y0,x1,y1); x0= x1; y0 = y1; } } public void paint(Graphics g) { int h = 10; for (int i=0; i < 10; i++) { DrawHexagon(g,180,180,h); h = NewH(97.5,67.5, h); DrawOctangle (g, 180, 180, h); h = NewH(90.0,60.0, h); } } }
必須用允許 Java 的瀏覽器才能看到此圖!

我原先寫的 Applet 如下,結果不 work :-( 各位先進和同好知不知到是為什麼嗎?


import java.awt.*; import java.applet.*; public class HexOct extends Applet { int NewH (double a, double b, int h) { a = Math.PI / 180.0 * a; b = Math.PI / 180.0 * b; return((int)(Math.floor(Math.sin(a) * h / Math.sin(b)))); } void SetHexagon (Polygon hexa, int x, int y, int h) { double a; for (int i=0; i < 7; i++) { a = Math.PI / 3.0 * i; hexa.addPoint((int)(Math.round(x + Math.sin(a) * h)), (int)(Math.round(y + Math.cos(a) * h))); } } void DrawOctangle (Graphics g, int x, int y, int h) { double a; int x0,x1, y0,y1; x0 = x + h; y0 = y ; for (int i=1; i < 10; i++) { a = Math.PI / 4.0 * i; x1 = (int)( Math.round(x + Math.sin(a) * h)); y1 = (int)( Math.round(y + Math.cos(a) * h)); g.drawLine(x0,y0,x1,y1); x0= x1; y0 = y1; } } public void paint(Graphics g) { Polygon hexagon = new Polygon(); int h = 10; for (int i=0; i < 10; i++) { SetHexagon(hexagon,180,180,h); g.drawPolygon(hexagon); h = NewH(97.5,67.5, h); DrawOctangle (g, 180, 180, h); h = NewH(90.0,60.0, h); } } }

對了,我在這兒告訴各位看倌一個小祕密,在小台哥的這篇文章 中所舉的例子中,有一個程式是偷了我的 idea 的。唉!反正是 "天 下程式一大抄" 嘛,而這套句小台哥在他的書中所寫的陳腔爛調嘛, 這叫做『本書情節、故事、人物和對話全係虛構,如有雷同純屬巧合 』,反正全係虛構的,這也不算是拆穿什麼西洋鏡了的吧!

提起他的書,別忘記,他的書名叫做:

《網路劇坊─小台哥笑談網路實作與管理》 台北市維科出版社出版

[ 回首頁 Back to Home | 上一頁 Previous Page | 下一頁 Next Page | 任一頁 Any Page ]
Symon Chang 小台哥 Symon & Associates, CA. U.S.A symonchang@earthlink.net
Last modified: 10-26-96