史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 一般電腦疑難討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2003-01-15, 04:45 PM   #1
gozanlo
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
Thumbs up 讓我對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, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2003-01-15, 10:00 PM   #2 (permalink)
註冊會員
 
jasontseng 的頭像
榮譽勳章
UID - 14539
在線等級: 級別:7 | 在線時長:85小時 | 升級還需:11小時級別:7 | 在線時長:85小時 | 升級還需:11小時
註冊日期: 2002-12-19
VIP期限: 2007-06
住址: 大台灣共榮圈
文章: 9
精華: 0
預設

你應該寫出你現在問題卡在哪, 這樣大家想幫才比較容易幫你...
大概看了一下
你好像少了儲存你跟電腦贏的次數的變數, 設個廣域變數吧..
jasontseng 目前離線  
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2003-01-15, 10:49 PM   #3 (permalink)
gozanlo
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

嗯 就是不清楚你說的"廣域變數"
要怎麼設?

現在只有每一場 每一場 勝敗的戰積
我想在最後結束時 來個勝敗總結
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2003-01-16, 02:21 AM   #4 (permalink)
superantonio
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

我並無實際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, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 06:39 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1