|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2003-01-15, 04:45 PM | #1 |
|
讓我對java再燃信心吧 > <
我作得是發牌比大小 我想在比完後 秀出與電腦的戰積
如: 勝 敗 電腦 8 10 玩家 10 8 還要加那些指令啊? 可以用容易一點的指令教教我嗎? 太難的還不太會 thx import java.applet.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class hw11 extends Applet implements ActionListener { Image img; int cardx=73;//卡片圖形寬度 int cardy=96;//卡片圖形長度 Image img; int cardx=73;//卡片圖形寬度 int cardy=96;//卡片圖形長度 Image img; int cardx=73;//卡片圖形寬度 int cardy=96;//卡片圖形長度 { bgcolor=Color.white; lab=new Label("抽牌比大小"); add(lab); button=new Button("發牌"); button.addActionListener(this); add(button); pickCard(); } public void paint(Graphics g) { int recWidth=getSize().width; int recHeight=getSize().height; g.drawRect(0,0,recWidth-1,recHeight-1); g.drawString("電腦",20,50); g.drawString("玩家",20,150); g.setColor(bgcolor); button.paint(button.getGraphics()); img=getImage(getDocumentBase(),"poker/" + a + ".png"); g.drawImage(img,cardx,50,this); img=getImage(getDocumentBase(),"poker/" + b + ".png"); g.drawImage(img,cardx,150,this); } public void actionPerformed(ActionEvent e) { if (e.getSource()==button) { pickCard(); repaint();//重新顯示一次 if(a>b) JOptionPane.showMessageDialog(null,"你輸了"); else if(a<b) JOptionPane.showMessageDialog(null,"你贏了"); else JOptionPane.showMessageDialog(null,"平手"); } } public void pickCard() { int sel,i; a=0; b=0; for(i=1;i<=2;i++)//發兩張牌 { sel=(int)(Math.random()*52)+1; if (i==1) { a=sel; } else if (i==2) { b=sel; } } } } |
送花文章: 0,
|
2003-01-16, 02:21 AM | #4 (permalink) |
|
我並無實際run過...
偶最重要的應是我有打上//*的地方 縮排一下比較易看 變數宣告最好是開頭小寫,其餘大寫,如:cardX,最好不要是cardx,如有在多則是 cardRowValue,cardColValue這樣是比較符合編程規則 而副程式最好是開頭都大寫,public void PickCard(),而不是開頭小寫 不要怪我歸毛~~習慣了~~且許多書都這樣寫.... 有空可參考:入門 java2程式設計範例教本 陳會安 著 進階 Thinking in Java 候捷 譯 這兩本書都很不錯.....共勉之~~ import java.applet.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class hw11 extends Applet implements ActionListener { Image img; int cardx=73;//卡片圖形寬度 int cardy=96;//卡片圖形長度 Image img; int cardx=73;//卡片圖形寬度 int cardy=96;//卡片圖形長度 Image img; int cardx=73;//卡片圖形寬度 int cardy=96;//卡片圖形長度 int a,b; //*新加入~最重要是這一行 public void init() //*這裡不知是不是你漏了個init { bgcolor=Color.white; lab=new Label("抽牌比大小"); //*建議:最好前面還是寫個Label add(lab); button=new Button("發牌"); //*同上,最好加Button button.addActionListener(this); add(button); pickCard(); } public void paint(Graphics g) { int recWidth=getSize().width; int recHeight=getSize().height; g.drawRect(0,0,recWidth-1,recHeight-1); g.drawString("電腦",20,50); g.drawString("玩家",20,150); g.setColor(bgcolor); button.paint(button.getGraphics()); img=getImage(getDocumentBase(),"poker/" + a + ".png"); g.drawImage(img,cardx,50,this); img=getImage(getDocumentBase(),"poker/" + b + ".png"); g.drawImage(img,cardx,150,this); } public void actionPerformed(ActionEvent e) { if (e.getSource()==button) { pickCard(); repaint();//重新顯示一次 if(a>b) JOptionPane.showMessageDialog(null,"你輸了"); else if(a<b) JOptionPane.showMessageDialog(null,"你贏了"); else JOptionPane.showMessageDialog(null,"平手"); } } public void pickCard() { int sel,i; a=0; //a,b並沒有宣告,且要宣告在開頭,這樣a,b一離開就消失了 b=0; //這裡初始化應該沒有問題 for(i=1;i<=2;i++)//發兩張牌 { sel=(int)(Math.random()*52)+1; if (i==1) { a=sel; } else if (i==2) { b=sel; } } } } |
送花文章: 0,
|