Hallo und Guten Tag ich Plage mich nun schon seit über einer Woche mit diesem Projekt und weis im Moment nicht
mehr weiter darum habe ich mich entschlossen hier mal nachzufragen. Wie der Titel schon sagt, versuche ich momentan ein einfachen 2d arcade shooter zu schreiben, einfach gehalten man selbst ist ein blauer Würfel und soll Rote Würfel abschießen, und dann ein highscore system mit den 10 besten Spielern, speichern will ich in einer Sql datenbank. Nun zu meinem Problem
. Wie kann ich es schaffen maximal
10 zu speichern, und die Platzierung automatisch 1-10 zu zuweisen. Hier mal mein datenbank code für den highscore.
[SIZE=+1]
[/SIZE]
[SIZE=+1]
[/SIZE]
Code:
package main.highscore;
import[URL="http://www.java-forum.org/#2902958"] java[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL].sql.Connection;
import[URL="http://www.java-forum.org/#33666929"] java[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL].sql.DatabaseMetaData;
import[URL="http://www.java-forum.org/#4187164"] java[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL].sql.DriverManager;
import[URL="http://www.java-forum.org/#4924945"] java[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL].sql.PreparedStatement;
import[URL="http://www.java-forum.org/#67715218"] java[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL].sql.ResultSet;
import[URL="http://www.java-forum.org/#31610600"] java[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL].sql.SQLException;
import[URL="http://www.java-forum.org/#40246790"] java[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL].sql.Statement;
import[URL="http://www.java-forum.org/#54571414"] java[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL].util.ArrayList;
import[URL="http://www.java-forum.org/#81936381"] java[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL].util.List;
public class Highscore {
public static void createTableHighScoure() {
Connection con = getConncetion();
Statement stm = null;
try {
DatabaseMetaData meta = con.getMetaData();
String createString = "CREATE TABLE HIGH_SCORE"
+ "(ID INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
+ "NAME VARCHAR(32) NOT NULL, " + "PUNKTE INT NOT NULL)";
stm = con.createStatement();
stm.executeUpdate(createString);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (stm != null) {
try {
stm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
private static Connection getConncetion() {
Connection con = null;
String[URL="http://www.java-forum.org/#47626008"] driver[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL] = "com.mysql.jdbc[URL="http://www.java-forum.org/#63929228"] Driver[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL]"; // bsp
// connectstring
// org.apache.derby.jdbc.ClientDriver
// String[URL="http://www.java-forum.org/#36385946"] driver[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL] = "org.apache.derby.jdbc.ClientDriver";
String dbName = "Highscore";
String connectionURL = "jdbc:mysql:" + dbName + ";create=true";
try {
Class.forName[URL="http://www.java-forum.org/#29976254"] driver[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL]);
// DriverManager.setLogStream(System.out);
con = DriverManager.getConnection("jdbc:mysql://localhost/highscore", "root", "6232"); // Fabrik Muster
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
public static List<SpielerPunkte> findAll() {
List<SpielerPunkte> list =new ArrayList<SpielerPunkte>();
Connection con = getConncetion();
PreparedStatement stm = null;
ResultSet rs = null;
try {
stm = con
.prepareStatement("SELECT * from score ORDER BY PUNKTE DESC");
rs = stm.executeQuery();
while (rs.next()) {
// System.out.println(rs.getInt(1)+" "+rs.getString(2) +" "+ rs.getInt(3));
// System.out.println(rs.getString(2));
// System.out.println(rs.getInt(3));
SpielerPunkte sp = new SpielerPunkte(rs.getInt(1), rs.getString(2),rs.getInt(3));
list.add(sp);
System.out.println(sp);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
[URL="http://www.java-forum.org/#90455321"] cleanUp[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL](stm, rs);
}
return list;
}
public static boolean insert(SpielerPunkte sp) {
Connection con = getConncetion();
PreparedStatement stm = null;
boolean ok = false;
try {
stm = con
.prepareStatement("insert into score(ID,NAME,PUNKTE) values (?, ? , ?)");
// String insertString =
// "insert into WISH_LIST(WISH_ITEM) values ('"+ wList.getItem()
// +"')"; // prepared stamtents !!!
stm.setInt(1, sp.getId());
stm.setString(2, sp.getName());
stm.setInt(3, sp.getPunkte());
int anzahlDSgeändert = stm.executeUpdate();
ok = anzahlDSgeändert == 1;
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (stm != null)
stm.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return ok;
}
public static void[URL="http://www.java-forum.org/#5533362"] cleanUp[IMG]http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png[/IMG][/URL](Statement stm, ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(stm != null){
stm.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
//createTableHighScoure();
// insert(new SpielerPunkte(0, "A Spieler", 70));
// insert(new SpielerPunkte(0, "B Spieler", 10));
// insert(new SpielerPunkte(0, "V Spieler", 50));
List<SpielerPunkte> list = findAll();
System.out.println(list.size());
}
}[SIZE=+1]
[/SIZE]
Zuletzt bearbeitet: