現在想做一個猜拳小游戲,三局兩勝,界面中有三個按鈕,點第一個按鈕,會隨機畫出兩張圖片,并根據規則在界面上對勝出方分數增加1,三局過后再將之前的分數作比較得結果。

點擊round 1 ,產生兩張圖片,根據規則,勝出方分數增加或是平局。
現在存在的問題是,我不知道怎么才能夠點擊round 1再生成圖片,并且根據規則比較,分數增加??在點擊round 2 重新生成圖片,。。。
我不知道咋樣能把下面的組合起來??
下面是規則的代碼塊
if(j.index==1&&w.index==1) {
JOptionPane.showMessageDialog(null,"此局平局");
}
if(j.index==1&&w.index==2) {
j.score++;
JOptionPane.showMessageDialog(null,"此局機兄勝出");
}
if(j.index==1&&w.index==3) {
w.score++;
JOptionPane.showMessageDialog(null,"此局魏兄勝出");
}
if(j.index==2&&w.index==1) {
w.score++;
JOptionPane.showMessageDialog(null,"此局魏兄勝出");
}
if(j.index==2&&w.index==2) {
JOptionPane.showMessageDialog(null,"此局平局");
}
if(j.index==2&&w.index==3) {
j.score++;
JOptionPane.showMessageDialog(null,"此局機兄勝出");
}
if(j.index==3&&w.index==1) {
j.score++;
JOptionPane.showMessageDialog(null,"此局機兄勝出");
}
if(j.index==3&&w.index==2) {
w.score++;
JOptionPane.showMessageDialog(null,"此局魏兄勝出");
}
if(j.index==3&&w.index==3) {
JOptionPane.showMessageDialog(null,"此局平局");
}
事件監視器的代碼
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==play01) {
judge();
}
if(e.getSource()==play02) {
judge();
}
if(e.getSource()==play03) {
judge();
}
}
畫圖的
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
g.setColor(Color.BLACK);
g.setFont(new Font("楷體",Font.BOLD,30));
g.drawImage(j.img, j.x, j.y,j.w,j.h, null);
g.drawImage(w.img, w.x, w.y,w.w,w.h, null);
g.drawString("機兄分數:"+j.score, 250, 300);
g.drawString("魏兄分數:"+w.score, 850, 300);
}
uj5u.com熱心網友回復:
首先,你的 img 應該是和 index 有關的,所以應該是個陣列或者hashmap你取圖片時應該類似于這樣 j.img[j.index-1] w.img[w.index-1]
然后你在 judge() 方法開頭給 j.index 和 w.index 賦隨機值
類似于這樣:
Random ran = new Random();
j.index = ran.nextInt(3) + 1;
w.index = ran.nextInt(3) + 1;
最后,在 judge() 方法的最后呼叫 repaint(); 方法,重繪面板
uj5u.com熱心網友回復:
我和您的想法差不多,但是,我不知道咋回事,我一直有問題,請問可以請教一下您么,我把我的代碼發您uj5u.com熱心網友回復:
我和您的想法差不多,但是,我不知道咋回事,我一直有問題,請問可以請教一下您么,我把我的代碼發您
uj5u.com熱心網友回復:
可以給按鍵添加一個標志位,沒按過為true,按過為false。
監視器觸發判斷標志位為true,執行2次亂數1-3,標志位改為fasle,獲取圖片判斷勝負計算的分,然后重新繪制,repaint。按鍵監視器追加一個判斷3按鍵標志位都為false,得出最后比分,重置標志位
uj5u.com熱心網友回復:
我做好了??,但是您說的剛好可以修改我游戲的漏洞,我的按鈕可以反復按,按過的還能按哈哈哈,不過我雖然代碼可以執行,但是還是有錯
uj5u.com熱心網友回復:
現在想做一個猜拳小游戲,三局兩勝,界面中有三個按鈕,點第一個按鈕,會隨機畫出兩張圖片,并根據規則在界面上對勝出方分數增加1,三局過后再將之前的分數作比較得結果。
可以給按鍵添加一個標志位,沒按過為true,按過為false。
監視器觸發判斷標志位為true,執行2次亂數1-3,標志位改為fasle,獲取圖片判斷勝負計算的分,然后重新繪制,repaint。按鍵監視器追加一個判斷3按鍵標志位都為false,得出最后比分,重置標志位
您說的這個比分問題,我是用index一塊來做的,用了score++,根據規則比較三次,最后再判斷一次總分
uj5u.com熱心網友回復:
您說的這個比分問題,我是用index一塊來做的,用了score++,根據規則比較三次,最后再判斷一次總分
我說的和index變數沒沖突,你圖片數字和index值應該是一致的,亂數直接賦值給index變數。
按鍵可以只做一個,初始名稱為round1,添加一個計數器初始值為1,按過一次后計數器加1并更新按鍵名稱,名稱根據count值來判斷,當count=3 按鍵初始化。
uj5u.com熱心網友回復:
上面說錯了,應該是大于3 初始化uj5u.com熱心網友回復:
奧奧,我明白您的意思了,就是只做一個按鈕,當按過一次后,自動成為round 2,再round3,到了3之后,清零繼續。而我是做了三個按鈕,謝謝您,對了,我把我的這個界面的代碼又發了個帖子,有點問題,如果您有空麻煩您幫忙看看,哎都是大學生,你太厲害了????uj5u.com熱心網友回復:
上面說錯了,應該是大于3 初始化
嗯嗯好的呢,哎,我突然發現給我指導的是兩位大佬,您是另一位
謝謝您,非常感謝
uj5u.com熱心網友回復:
您說的這個比分問題,我是用index一塊來做的,用了score++,根據規則比較三次,最后再判斷一次總分
我說的和index變數沒沖突,你圖片數字和index值應該是一致的,亂數直接賦值給index變數。
按鍵可以只做一個,初始名稱為round1,添加一個計數器初始值為1,按過一次后計數器加1并更新按鍵名稱,名稱根據count值來判斷,當count=3 按鍵初始化。
奧奧,我明白您的意思了,就是只做一個按鈕,當按過一次后,自動成為round 2,再round3,到了3之后,清零繼續。而我是做了三個按鈕,謝謝您,對了,我把我的這個界面的代碼又發了個帖子,有點問題,如果您有空麻煩您幫忙看看吧
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/52250.html
標籤:Java SE
上一篇:java聊天室專案bug
