質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

2989閲覧

ハイスコア表示ができるようにしたい

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2017/08/24 03:27

###前提・実現したいこと
データを保管してハイスコアを表示できるようにしたい。

###発生している問題・エラーメッセージ
ハイスコアが表示されないです

###該当のソースコード

java

1public class *** extends GameHoneGumi { 2 int width, height; 3 int x = 440; 4 int y = 660; 5 int rensya = 0; 6 boolean tflag; 7 boolean isHit = false; 8 boolean keySpace,keyup,keydown,keyright,keyleft,keyEnter,keyP ; 9 Clip clip1,clip2,clip3; 10 //Sequencer midiseq = null; 11 Thread gamethread; 12 int score; 13 int hiscore; 14 Font scoreFont; 15 int scene; 16 int tekideru = 0; 17 ArrayList<Jikitama> jikitamas; 18 ArrayList<Teki> tekis; 19 Image jiki; 20 Image teki; 21 Image back; 22 Image tama; 23 24 25 //セーブ関連 26 void compareScore(){ 27 if(score > hiscore){ 28 hiscore= score; 29 saveScore(); 30 } 31 } 32 void saveScore(){ 33 DataOutputStream dout = null; 34 try { 35 dout = new DataOutputStream(new FileOutputStream("data.dat")); 36 } catch (FileNotFoundException e) { 37 // TODO 自動生成された catch ブロック 38 e.printStackTrace(); 39 } 40 try { 41 dout.writeInt(hiscore); 42 } catch (IOException e) { 43 // TODO 自動生成された catch ブロック 44 e.printStackTrace(); 45 } 46 try { 47 dout.close(); 48 } catch (IOException e) { 49 // TODO 自動生成された catch ブロック 50 e.printStackTrace(); 51 } 52 } 53 void loadScore(){ 54 DataInputStream din = null; 55 try { 56 din = new DataInputStream(new FileInputStream("data.dat")); 57 } catch (FileNotFoundException e) { 58 // TODO 自動生成された catch ブロック 59 e.printStackTrace(); 60 } 61 try { 62 hiscore = din.readInt(); 63 } catch (IOException e) { 64 // TODO 自動生成された catch ブロック 65 e.printStackTrace(); 66 } 67 try { 68 din.close(); 69 } catch (IOException e) { 70 // TODO 自動生成された catch ブロック 71 e.printStackTrace(); 72 } 73 } 74//ここまで 75 public void runStartGamen(Graphics g) { 76 g.setColor(Color.BLUE); 77 g.setFont(new Font("Sanserif" , Font.BOLD,50)); 78 g.drawString("Pキーを押して始めましょう!", 130, 365); 79 bstrategy.show(); 80 g.dispose(); 81 return; 82 } 83 84 @Override 85 public void runStageStart(Graphics g) { 86 // TODO 自動生成されたメソッド・スタブ 87 88 } 89 90 @Override 91 public void runStageClear(Graphics g) { 92 // TODO 自動生成されたメソッド・スタブ 93 94 } 95 96 @Override 97 public void runGameMain(Graphics g) { 98 99 g.setColor(Color.pink); 100 g.drawString("SCORE:" + String.valueOf(score),50,50); 101 g.drawString("HISCORE:" + String.valueOf(hiscore),50,65); 102 bstrategy.show(); 103 g.dispose(); 104 } 105 106 @Override 107 public void runGameOver(Graphics g) { 108 clip2.stop(); 109 clip2.setFramePosition(0); 110 g.setColor(Color.RED); 111 g.setFont(new Font("Sanserif" , Font.BOLD,80)); 112 g.drawString("GAMEOVER", 230, 365); 113 g.setColor(Color.RED); 114 g.setFont(new Font("Sanserif" , Font.BOLD,50)); 115 g.drawString("Rキーを押してもう一回!",215 ,460 ); 116 bstrategy.show(); 117 g.dispose(); 118 return; 119 } 120 121 @Override 122 public void initStageStart() { 123 124 125 } 126 127 @Override 128 public void initStageClear() { 129 // TODO 自動生成されたメソッド・スタブ 130 131 } 132 133 @Override 134 public void initGameOver() { 135 x = 440; 136 y = 660; 137 rensya = 0; 138 score = 0; 139 jikitamas.clear(); 140 keysClear(); 141 tekis.clear(); 142 } 143 144 private void keysClear() { 145 keyup = false; 146 keydown = false; 147 keyright = false; 148 keyleft = false; 149 keyEnter = false; 150 keyP = false; 151 } 152 153 public static void main(String[] args) { 154 Rousakuten r = new Rousakuten(900, 700, ""); 155 } 156 157} 158 159

###補足情報(言語/FW/ツール等のバージョンなど)
継承しているスーパークラスも載せておきます
また、足りない情報等ありましたらいってくださると助かります
回答お願いします

public abstract class GameHoneGumi { public static final int GS_STARTGAMEN = 0; public static final int GS_STAGESTART = 1; public static final int GS_STAGECLEAR = 2; public static final int GS_GAMEOVER = 3; public static final int GS_GAMEMAIN = 4; private int gamestate; private int waittimer; JFrame frame1; BufferStrategy bstrategy; GameHoneGumi(int w, int h, String title){ frame1 = new JFrame(title); frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame1.setBackground(Color.WHITE); frame1.setResizable(false); frame1.setVisible(true); Insets insets = frame1.getInsets(); frame1.setSize(w + insets.left + insets.right, h + insets.top + insets.bottom); frame1.setLocationRelativeTo(null); frame1.createBufferStrategy(2); bstrategy = frame1.getBufferStrategy(); frame1.setIgnoreRepaint(true); frame1.addKeyListener(new MyKeyAdapter()); } public abstract void keyPressedGameMain(int keycode); public abstract void keyReleasedGameMain(int keycode); public abstract void runStartGamen(Graphics g); public abstract void runStageStart(Graphics g); public abstract void runStageClear(Graphics g); public abstract void runGameMain(Graphics g); public abstract void runGameOver(Graphics g); public abstract void initStageStart(); public abstract void initStageClear(); public abstract void initGameOver(); public void goStartGamen(){ gamestate = GS_STARTGAMEN; Timer t = new Timer(); t.schedule(new MyTimerTask(), 10, 10); } public void goStageStart(){ initStageStart(); waittimer = 100; gamestate = GS_STAGESTART; } public void goStageClear(){ initStageClear(); waittimer = 100; gamestate = GS_STAGECLEAR; } public void goGameMain(){ gamestate = GS_GAMEMAIN; } public void goGameOver(){ initGameOver(); gamestate = GS_GAMEOVER; } class MyKeyAdapter extends KeyAdapter{ public void keyPressed(KeyEvent ev){ if(gamestate == GS_GAMEMAIN){ keyPressedGameMain(ev.getKeyCode()); } } public void keyReleased(KeyEvent ev){ int keycode = ev.getKeyCode(); switch(gamestate){ case GS_GAMEMAIN: keyReleasedGameMain(keycode); break; case GS_STARTGAMEN: if(keycode== KeyEvent.VK_P) goStageStart(); break; case GS_GAMEOVER: if(keycode == KeyEvent.VK_R) goStageStart(); } } } class MyTimerTask extends TimerTask{ public void run(){ Graphics g = bstrategy.getDrawGraphics(); if(bstrategy.contentsLost() == false){ Insets insets = frame1.getInsets(); g.translate(insets.left, insets.top); switch(gamestate){ case GS_STARTGAMEN: runStartGamen(g); break; case GS_STAGESTART: runStageStart(g); waittimer = waittimer-1; if(waittimer<0) goGameMain(); break; case GS_STAGECLEAR: runStageClear(g); waittimer = waittimer-1; if(waittimer<0) goStageStart(); break; case GS_GAMEMAIN: runGameMain(g); break; case GS_GAMEOVER: runGameOver(g); break; } } } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LouiS0616

2017/08/24 15:57

エラーは出るんですか?
guest

回答1

0

loadScoreが呼ばれていないだけでは?

投稿2017/08/25 16:29

momon-ga

総合スコア4820

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問