参考として
ゲームのソースコードをネットからひっぱて来ました
ですが
コンパイルはとおるのですが
実行できません
またはJavaFXアプリケーション・クラスはjavafx.application.Applicationを拡張する必要があります
このエラーはどういう意味ですか?
import java.applet.;
import java.awt.;
import java.awt.event.;
import java.io.;
public class typing_applet extends Applet implements KeyListener{
private final int GAME_CONFIG_DEMO = 0; //ゲーム状態フラグ定数(タイトル画面時)
private final int GAME_CONFIG_PLAYING = 1; //ゲーム状態フラグ定数(ゲーム中)
private int WIDTH; //アプレット画面横幅
private int HEIGHT; //アプレット画面縦幅
private DispKey DKey; //タイピング問題管理クラス
private int gameConfig; //ゲーム状態フラグ
private int qetNum; //問題番号
public void init(){ WIDTH = getSize().width; HEIGHT = getSize().height; setBackground(Color.white); } public void start(){ DKey = new DispKey(); gameConfig = GAME_CONFIG_DEMO; addKeyListener(this); } public void gameStart(){ qetNum = 0; gameConfig = GAME_CONFIG_PLAYING; } public void gameEnd(){ gameConfig = GAME_CONFIG_DEMO; } public void keyPressed(KeyEvent e){ switch(gameConfig){ case GAME_CONFIG_DEMO: if(e.VK_SPACE == e.getKeyCode()){ this.gameStart(); } case GAME_CONFIG_PLAYING: if(DKey.compareToInpKey(e.getKeyCode(), qetNum) == 0){ this.nextChar(); } } repaint(); } public void keyReleased(KeyEvent e){ } public void keyTyped(KeyEvent e){ } private void nextChar(){ if(qetNum < DKey.getCharNumMax() - 1){ qetNum += 1; }else{ this.gameEnd(); } } public void paint(Graphics g){ g.setFont(new Font("Dialog", Font.PLAIN, 14)); g.setColor(Color.black); switch(gameConfig){ case GAME_CONFIG_DEMO: g.drawString("Start SpaceKey", 3, 30); break; case GAME_CONFIG_PLAYING: g.drawString(DKey.getCharString(qetNum), 55, 30); break; } }
}
class DispKey{
private String question; //タイピング問題文字列
private int charNumMax; //タイピング問題文字列の文字列長
DispKey(){
question = "XYCOKAOKFELAOWQCBN";
charNumMax = question.length();
}
/*引数「num」で指定された問題番号に対応する文字コードを返す*/ private int getActiveCharCode(int num){ int activeCharCode = 0; if(num < charNumMax){ activeCharCode = (int)question.charAt(num); } return activeCharCode; } /*正解・不正解判定*/ public int compareToInpKey(int inpKeyCode, int num){ int ret; int upperKeyCode = 0; ret = 0; if(inpKeyCode >= 65 && inpKeyCode <= 90){ upperKeyCode = inpKeyCode; }else if(inpKeyCode >= 97 && inpKeyCode <= 122){ upperKeyCode = inpKeyCode - 32; //アルファベットを大文字に変換 }else{ ret = 2; } if(ret != 2){ /*正解・不正解判定*/ if(upperKeyCode == this.getActiveCharCode(num)){ ret = 0; }else{ ret = 1; } } /*戻り値 0:正解 1:不正解 2:解答対象外 */ return ret; } /*引数「num」で指定された問題番号に対応する文字を返す*/ public String getCharString(int num){ return question.substring(num, num + 1) ; } /*タイピング問題文字列の文字列長を返す*/ public int getCharNumMax(){ return charNumMax; }
}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。