Skip to content

complete highest Score function ,a confirm window when click quit #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions FishGame/.idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions FishGame/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions FishGame/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions FishGame/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

524 changes: 524 additions & 0 deletions FishGame/.idea/workspace.xml

Large diffs are not rendered by default.

117 changes: 117 additions & 0 deletions FishGame/FishGame.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="EclipseModuleManager">
<libelement value="jar://$MODULE_DIR$/lib/dom4j-1.6.1.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/xmlpull_1_1_3_4c.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/kxml2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jmf.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jl1.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jogg-0.0.7.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jorbis-0.0.15.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/mp3spi1.9.4.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/tritonus_jorbis-0.3.6.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/tritonus_share.jar!/" />
<src_description expected_position="0">
<src_folder value="file://$MODULE_DIR$/src" expected_position="0" />
</src_description>
</component>
<component name="NewModuleRootManager">
<output url="file://$MODULE_DIR$/bin" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="inheritedJdk" />
<orderEntry type="module-library">
<library name="dom4j-1.6.1.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/dom4j-1.6.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="xmlpull_1_1_3_4c.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/xmlpull_1_1_3_4c.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="kxml2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/kxml2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jmf.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jmf.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jl1.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jl1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jogg-0.0.7.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jogg-0.0.7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jorbis-0.0.15.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jorbis-0.0.15.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="mp3spi1.9.4.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/mp3spi1.9.4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="tritonus_jorbis-0.3.6.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/tritonus_jorbis-0.3.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="tritonus_share.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/tritonus_share.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>
Binary file modified FishGame/bin/com/mypro/base/graphics/Bitmap.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/base/graphics/Canvas.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/base/graphics/Matrix.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/base/graphics/Paint.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/base/tools/Log.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/basecomponet/AwtMainComponet$1.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/basecomponet/AwtMainComponet$2.class
Binary file not shown.
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/basecomponet/AwtMainComponet.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/basecomponet/JMatrix.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/constant/Constant.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/mainsurface/MainSurface$JCanvas.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/mainsurface/MainSurface$OnDrawThread.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/mainsurface/MainSurface.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/CannonManager$1.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/CannonManager.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/CatchFishManager$1.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/CatchFishManager$2.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/CatchFishManager.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/FishManager.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/GameInitManager.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/GamePartInfo.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/GamePartManager$1.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/GamePartManager.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/HeadFish.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/ImageConfig$ActConfig.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/ImageConfig.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/ImageManager.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/LayoutInfo.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/LayoutManager$1.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/LayoutManager.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/PathManager.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/ScoreManager$1.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/ScoreManager$2.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/ScoreManager$3.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/ScoreManager.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/ShoalManager$1.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/ShoalManager$2.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/ShoalManager.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/manager/XmlManager.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/Ammo.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/BackGround.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/DrawableAdapter.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/FishGold.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/FishInfo.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/FishingNet.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/GamingInfo.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/HighPoint.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/HundredPoint.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/componets/Bottom.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/componets/BottomGold.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/componets/BottomTime.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/componets/ButtonAdapter.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/componets/Cannon$1.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/componets/Cannon.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/componets/Componet.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/fish/Fish$1.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/fish/Fish.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/interfaces/Button.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/interfaces/Drawable.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/model/interfaces/OnClickListener.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/threads/FishRunThread$1.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/threads/FishRunThread.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/threads/PicActThread.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/threads/ShotThread$1.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/threads/ShotThread.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/tools/CircleRectangleIntersect.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/tools/LogTools.class
Binary file not shown.
Binary file modified FishGame/bin/com/mypro/tools/Tool.class
Binary file not shown.
1 change: 1 addition & 0 deletions FishGame/score/highest.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
144
79 changes: 54 additions & 25 deletions FishGame/src/com/mypro/basecomponet/AwtMainComponet.java
Original file line number Diff line number Diff line change
@@ -1,45 +1,74 @@
package com.mypro.basecomponet;

import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.*;

import com.mypro.mainsurface.MainSurface;
import com.mypro.manager.CannonManager;
import com.mypro.manager.GameInitManager;
import com.mypro.manager.LayoutManager;
import com.mypro.model.GamingInfo;

import static javax.swing.JOptionPane.showConfirmDialog;

public class AwtMainComponet{
public static void main(String[] args) throws Exception {
Toolkit tool = Toolkit.getDefaultToolkit();
Dimension d = tool.getScreenSize();
JFrame frame = new JFrame();
GamingInfo.getGamingInfo().setGaming(true);
GamingInfo.getGamingInfo().setScreenWidth(900);
GamingInfo.getGamingInfo().setScreenHeight(600);
frame.setSize(GamingInfo.getGamingInfo().getScreenWidth(), GamingInfo.getGamingInfo().getScreenHeight());
frame.setUndecorated(true); // ȥ�����ڵ�װ��
// frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);//����ָ���Ĵ���װ�η��
GamingInfo.getGamingInfo().setGaming(true);
GamingInfo.getGamingInfo().setScreenWidth(900);
GamingInfo.getGamingInfo().setScreenHeight(600);
frame.setSize(GamingInfo.getGamingInfo().getScreenWidth(), GamingInfo.getGamingInfo().getScreenHeight());
// frame.setUndecorated(true); // ȥ�����ڵ�װ��
// frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);//����ָ���Ĵ���װ�η��
// frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setLocationRelativeTo(null);
MainSurface pane = new MainSurface();
GamingInfo.getGamingInfo().setSurface(pane);
// Label scoreLabel=new JLabel("��߷֣�200");
// scoreLabel.setForeground(Color.blue);
// scoreLabel.setVisible(true);
// scoreLabel.setOpaque(true);
// scoreLabel.setSize(600,200);
// scoreLabel.setDisplayedMnemonic(-1);

Label scoreLabel=new Label("��߷֣�"+GamingInfo.getGamingInfo().getHighestScore());
scoreLabel.setBackground(new Color(0,80,0,0));
scoreLabel.setForeground(new Color(255,0,0));
pane.add(scoreLabel);
frame.setContentPane(pane);
// frame.setAlwaysOnTop(true);
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
int flag=JOptionPane.showConfirmDialog(pane,"�Ƿ��˳���","��ʾ",JOptionPane.OK_CANCEL_OPTION);
if(flag==0) {
int score = GamingInfo.getGamingInfo().getScore();
if (score > GamingInfo.getGamingInfo().getHighestScore()) {
GamingInfo.getGamingInfo().setHighestScore(score);
JOptionPane.showConfirmDialog(pane,"�¼�¼��"+score,"��ϲ",JOptionPane.OK_CANCEL_OPTION);
}
System.exit(0);
}
}
});
frame.addMouseListener(new MouseListener() {

@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub

}

@Override
public void mousePressed(MouseEvent e) {
if(GameInitManager.getGameInitManager().isIniting()){
@@ -51,38 +80,38 @@ public void mousePressed(MouseEvent e) {
CannonManager.getCannonManager().shot(e.getX(), e.getY());
}
}

@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub

}

@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub

}

@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub

}
});
// frame.pack();
pane.action();
/**
* ����һ���߳����첽��ʼ����Ϸ����
*/
new Thread(new Runnable(){
* ����һ���߳����첽��ʼ����Ϸ����
*/
new Thread(new Runnable(){

public void run() {
//ʹ����Ϸ��ʼ����������ʼ����Ϸ
GameInitManager.getGameInitManager().init();
}
}).start();

}).start();
}

}
}
6 changes: 4 additions & 2 deletions FishGame/src/com/mypro/constant/Constant.java
Original file line number Diff line number Diff line change
@@ -72,6 +72,8 @@ public class Constant {
public static int GOLD_LAYER = COMPONENTS_LAYER-1;
//����ͼ��
public static int BACK_GROUND_LAYER = 0;


//��߷ֱ����ַ
public static String HIGHEST_SCORE_PATH = "score/highest.txt";


}
60 changes: 56 additions & 4 deletions FishGame/src/com/mypro/model/GamingInfo.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package com.mypro.model;

import java.io.*;
import java.nio.Buffer;
import java.util.ArrayList;
import java.util.Scanner;

import com.mypro.constant.Constant;
import com.mypro.mainsurface.MainSurface;
import com.mypro.manager.ShoalManager;
//import com.mypro.manager.SoundManager;
@@ -19,8 +23,55 @@ public class GamingInfo {
private ShoalManager shoalManager; // ��Ⱥ������
private float cannonLayoutX; //������תX����
private float cannonLayoutY; //������תY����
private int score = 100; //��ǰ�ķ�

private int score = 100;//��ǰ�ķ�
private int highestScore;//��߷�

/**
*
* @return ���ļ�������߷֣����ǵ�ǰ�ĵ���߷�
*/
public int getHighestScoreFromeFile(){
File file=new File(Constant.HIGHEST_SCORE_PATH);
try {
if(file.exists()){
Scanner scanner=new Scanner(file);
highestScore=scanner.nextInt();
scanner.close();
return highestScore;

}else{
file.createNewFile();
highestScore=0;
return 0;
}
}catch (Exception e){
e.printStackTrace();
}
return 0;

}
public int getHighestScore() {
return highestScore;
}

/**
* ������߷֣���д�뵽�ļ���
* @param highestScore
*/
public void setHighestScore(int highestScore) {
File file=new File(Constant.HIGHEST_SCORE_PATH);
try {
file.createNewFile();
FileWriter fileWriter=new FileWriter(file);
fileWriter.write(highestScore+"");
fileWriter.flush();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
this.highestScore = highestScore;
}

public int getScore() {
return score;
}
@@ -37,6 +88,7 @@ public static void clearGameInfo() {
}

private GamingInfo() {
getHighestScoreFromeFile();
}

public static GamingInfo getGamingInfo() {
@@ -117,5 +169,5 @@ public boolean isPause() {
public void setPause(boolean isPause) {
this.isPause = isPause;
}
}

}