2 2013 4 16 2.1............................... 2 1 2.2 Java......................... 2 2 2.3............. 2 2 2.4................................ 2 4 2.5............................ 2 5 2.6............................ 2 5 2.7.................................. 2 7 2.8 C.................................. 2 8 2.9....................................... 2 8 2.10 :.............................. 2 11 2.11 :.................... 2 13 2.1 1 (class) Java 1. 2. 3. Java 1 1 (instance) 2 3 1 Java Java ( ) ( ) 1 class... {... } G103TicTacToe.java 2 1
2.2 Java C main Java main 2 C 6 C Java 3 C Java ( ) G101Hello.java G101Hello main G101Hello.java /* G101Hello */ class G101Hello { /* main */ public static void main(string[] args) { System.out.println("Hello, world!"); // } } Java C /* */ // ( ) System.out.println("Hello, world!"); C 2.3 Java 1 1 ( ) 2 Java 3 C 2 2
4 G201.java 1 import jp.ac.ryukoku.math.graphics.*; 2 3 class G201 { 4 public static void main(string[] args) { 5 GameFrame f; // f 6 Card c1, c2; // c1 c2 7 8 /* GemeFrame ( ) f */ 9 f = new GameFrame(); 10 /* Card ( A) c1 */ 11 c1 = new Card(Suit.HEARTS, Rank.ACE); 12 /* Card ( J) c2 */ 13 c2 = new Card(Suit.SPADES, Rank.JACK); 14 15 f.add(c1); // A 16 f.add(c2); // J 17 c2.moveto(300, 400); // J (300,400) 18 c2.flip(); // J 19 c1.moveto(400, 400); // A (400, 400) 20 c1.flip(); // A 21 } 22 } G201.java 5 G201.class 6 $ java G201 7 5 2 4 6 5 ( ) javac : 6 Linux Windows (cmd.exe) 7 Java java 2 3
2 1 1 import jp.ac.ryukoku.math.graphics.*; 6 Java 2.4 Java new ( ) ( ) ( ) ( ) G201.java GameFrame Card Suit Rank 4 GameFrame Card Suit Rank 1 ( ) (2 3 4 10 J Q K A) 2 4
4 GameFrame 1 Card 2 2 Suit Rank GameFrame G201.java 9 GameFrame 800 600 GameFrame 8 Card G201.java 11 13 Card Suit.HEARTS Rank.ACE Suit Rank 9 10 Suit A ( ) Rank 11 2.5 Java G201.java 5 6 GrameFarme Card f c1 c2 ( ) ; 6 C G201.java ( ) GameFrame f = new GameFrame(); Card c1 = new Card(Suit.HEARTS, Rank.ACE); Card c2 = new Card(Suit.SPADES, Rank.JACK); 2.6 1 8 9 Java 10 ( ) 11 : 2 5
( C ). ( ) 12 ( ) ( ) (C ), ( ) GrameFrame add G201.java 15 16 9 GameFrame 13 add 2 (11 13 Card ) GameFrame ( ) add (Card ) Card (GrameFrame) Card G201.java 2 ( ) Card moveto Card moveto (GrameFrame ) 800 600 (0, 0) x y 12 13 f 2 6
moveto x y 80 120 GrameFrame add ( ) (360, 240) Card flip Card flip G201.java 17 20 A J 2 (300, 400) (400, 400) 2.7 C Java ( ) 1 G202.java 1 import jp.ac.ryukoku.math.graphics.*; 2 3 class G202 { 4 public static void main(string[] args) { 5 GameFrame f = new GameFrame(); 6 Deck d = new Deck(); // ( 1 ) 7 f.add(d); // 8 d.shuffle(); // 9 for (int i = 0; i < 5; i++) { 10 Card c = d.pickup(); // 1 11 c.moveto(i*100 + 160, 400); // 12 c.flip(); // 13 } 14 } 15 } G202.java ( 1 ) 1 G202.java Deck Deck 1 6 Deck Card GameFrame add 2 7
GameFrame add Card Deck 8 Deck shuffle Java C for 9 13 1 5 10 Card c = d.pcikup(); d Deck pickup pickup 1 (Card ) c 2.8 C Java C C ; ( ) { } Java C int short long float double if for while do switch break continue ({... }) G202.java 9 for int i = 0 { } int i; for (i = 0; i < 5; i++) { } 14 2.9 14 C99 C for 2 8
1. 2 10 K G203.java 2 (210, 240) x 100 2. (100, 100) 2 1 G204.java ( ) (42, 400) x 12 3. G205.java (310, 240) 1 (410, 240) (Pile ) 2 9
1 1 (Pile ) 2 2 10
2.10 : javac java Java (class path) Java javac java jar Windows R:\a89023\java\GKiso.jar Linux /roes/sample/nakano/java/gkiso.jar javac java ( ) jar javac java -classpath -classpath >javac -classpath.;r:\a89023\java\gkiso.jar G201.java >java -classpath.;r:\a89023\java\gkiso.jar G201 Windows Linux $ javac -classpath.:/roes/sample/nakano/java/gkiso.jar G201.java $ java -classpath.:/roes/sample/nakano/java/gkiso.jar G201 -classpath. jar Windows ; ( ) Linux : ( ) CLASSPATH -classpath Windows Linux CLASSPATH R:\a89023\java\GKiso.jar /roes/sample/nakano/java/gkiso.jar -classpath javac G201.java G201 2 11
( ) Windows Windows R:\a89023\ CLASSPATH.;R:\a89023\java\GKiso.jar OK Linux Linux gedit emacs.bashrc 1 export CLASSPATH=.:/roes/sample/nakano/java/GKiso.jar 2 12
2.11 : GameFrame GameFrame() GameFrame(int w, int h) 800 600 w h void add(elem 15 e) e void add(elem e, int x, int y) e (x, y) void remove(elem e) e Card Card(Suit s, Rank r) Card(int no) Card() 16 Suit suit Rank rank void facedown() void faceup() void flip() int getnumber() int getx() int gety() int getwidth() int getheight() s r no x y boolean 17 isfaceddown() boolean isfacedup() boolean isjoker() boolean ispicturecard() (J Q K A) void moveto(int x, int y) (x, y) void moveto(pile p) p void pause(int ms) ms A 2 3 4 5 6 7 8 9 10 J Q K 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 48 50 51 52 53 15 Card Deck Pile 16 Java 5 17 (true false) Java 2 13
Suit ( ) Suit SPADES Suit HEARTS Suit DIAMONDS Suit CLUBS ( ) Suit suitof(int n) n (1= 2= 3= 4= ) Rank ( ) Rank ACE A ( ) Rank DEUCE 2 Rank THREE 3 Rank FOUR 4 Rank FIVE 5 Rank SIX 6 Rank SEVEN 7 Rank EIGHT 8 Rank NINE 9 Rank TEN 10 Rank JACK J ( ) Rank QUEEN Q ( ) Rank KING K ( ) ( ) Rank rankof(int n) n (1=A 2=2 10=10 11=J 12=Q 13=K) int getnumber() ( A=1 J=11 Q=12 K=13) Pile Pile() void add(card c) c int count() void flip() boolean isempty() void moveto(int x, int y) (x, y) Card pickup() Card top() void shuffle() Deck 1 Deck() Deck(int n) Pile 52 n 52+n 2 14