アプリ版:「スタンプのみでお礼する」機能のリリースについて

JAVAで'じゃんけん'を3回勝負して勝ち負けを決めるゲームアプレットを作成したいのですが、
JAVA初心者の私に少し分かりづらいので、
作成経験がある方、サンプルなどのデータ提供お願いします。
結構困ってます。

A 回答 (2件)

サンプルを作ってみました、多分、イメージとは異なるとは思いますが、たたき台にでもしてやってください。


for java1.5
-------------------------------------------------------------------
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

/*
<applet code="Sample.class" width="100" height="90"></applet>
*/
enum JankenKind { ぐー, ちょき, ぱー };
enum JankenJudge { 勝ち, 負け, あいこ };

public class Sample extends Applet implements ActionListener {
Label compSelect, msg, result;
JankenButton goo, choki, par;
JankenKind select;
int win = 0, loose = 0;

public void init(){
setLayout(new BorderLayout());
// メッセージとコンピュータの手の表示
Panel top = new Panel();
top.setLayout(new GridLayout(2,1));
msg = new Label("じゃんけんしましょう", Label.CENTER);
top.add(msg);
compSelect = new Label("?", Label.CENTER);
top.add(compSelect);
add(top, BorderLayout.NORTH);
// ユーザの選ぶボタンの表示
Panel center = new Panel();
center.setLayout(new GridLayout(1,3));
goo = new JankenButton(JankenKind.ぐー);
goo.addActionListener(this);
center.add(goo);
choki = new JankenButton(JankenKind.ちょき);
choki.addActionListener(this);
center.add(choki);
par = new JankenButton(JankenKind.ぱー);
par.addActionListener(this);
center.add(par);
add(center, BorderLayout.CENTER);
// 対戦結果表示
result = new Label(""+win+"勝"+loose+"敗です", Label.CENTER);
add(result, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e){
select = Janken.select();//コンピュータの手
compSelect.setText("私の手:"+select.toString());
JankenButton bt = (JankenButton)e.getSource();//選択した手
switch(Janken.judge(bt.kind(), select)){//判定
case 勝ち:
win++;
msg.setText("あなたの勝ちです");
break;
case 負け:
loose++;
msg.setText("あなたの負けです");
break;
case あいこ:
msg.setText("あいこです");
break;
}
result.setText(""+win+"勝"+loose+"敗です");
if(win+loose == 3){//都合3戦した(あいこはノーカウント)
goo.setVisible(false);//ボタンを非表示にする
choki.setVisible(false);
par.setVisible(false);
}
}
}
class Janken {
public static JankenKind select(){
switch((int)(1+3*Math.random())){
case 1://ぐー
return JankenKind.ぐー;
case 2://ちょき
return JankenKind.ちょき;
case 3://ぱー
return JankenKind.ぱー;
}
return null;
}
public static JankenJudge judge(JankenKind me, JankenKind you){
if(me == you)
return JankenJudge.あいこ;
else if(me == JankenKind.ぐー && you == JankenKind.ちょき ||
me == JankenKind.ちょき && you == JankenKind.ぱー ||
me == JankenKind.ぱー && you == JankenKind.ぐー)
return JankenJudge.勝ち;
else
return JankenJudge.負け;
}
}
class JankenButton extends Button{
protected JankenKind kind;
public JankenButton(JankenKind k){
super(k.toString());
kind=k;
}
public JankenKind kind(){
return kind;
}
}
    • good
    • 0

とりあえず、入門書を一回読んでから始めることをお勧めします。


VisualBasicと違ってGUI系のものを作るとなると結構面倒です。

>サンプルなどのデータ提供お願いします。
java じゃんけん 等のキーワードで検索をかけると結構ソースが見つかります。

>結構困ってます。
困っていることを具体的に挙げてみてください。
抽象的な質問というのは答えにくいものです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!