MUD game

Status
Niet open voor verdere reacties.

optical

Nieuwe gebruiker
Lid geworden
2 apr 2010
Berichten
2
Probleem: Voor school moeten we een MUD-game maken. Tot zover verloopt alles zeer goed maar nu zit ik vast bij het rondlopen in de wereld.

Via commando’s (‘go west’, ‘go east’,…) kan de speler zich naar de volgende plaats
begeven. Een kleine beschrijving van de gekozen route alsook een beschrijving van
de nieuwe plaats worden aan de specifieke player getoond.

Hiervoor hebben we reeds een database aangemaakt: http://i39.tinypic.com/73e5tx.png

Als de speler op punt 1 staat moet hij dus de mogelijkheden vanuit de databas oproepen en via commando 'go west' of andere dus naar het volgende punt gaan.

Iemand die mij op weg kan helpen??
 
U hebt twee mogelijkheden u bent al object oriented bezig goed zo niet herbegin en doe het oo

dus persoon is object alle atributen en mogelijkheden zijn decorators
Betekend dat je snell mooiere 3D kunt aan koppelen

verder je veld moet ook in delen zijn opgedeeld dus elk deel is object en
extend van superdeel die alle gegeven heeft waar elk deel ander eigenschappen kan bijhebben alle layout is decorator niet anders

dus ga je meestal de analyse maken om defftige interface te maken geef alvast een versie nr in je naam van je interface zodat je gemakelijk kan meevolgen en snel ook de ouder versie kunt onderschijden

zorg ook voor een repos als je die al dan niet hebt en ant script

en verder maak je een standaart connectie met de server (singleton) geen meerder connecties toelaten JDBC connector of datasource file
je bent toch java bezig ander zat je op dit forumdeel niet kijk toch eff naar ejb om zo server based meer te kunnen doen
ook jnlp om snel updates van het prog te kunnen doen
 
Laatst bewerkt:
U hebt twee mogelijkheden u bent al object oriented bezig goed zo niet herbegin en doe het oo

dus persoon is object alle atributen en mogelijkheden zijn decorators
Betekend dat je snell mooiere 3D kunt aan koppelen

verder je veld moet ook in delen zijn opgedeeld dus elk deel is object en
extend van superdeel die alle gegeven heeft waar elk deel ander eigenschappen kan bijhebben alle layout is decorator niet anders

dus ga je meestal de analyse maken om defftige interface te maken geef alvast een versie nr in je naam van je interface zodat je gemakelijk kan meevolgen en snel ook de ouder versie kunt onderschijden

zorg ook voor een repos als je die al dan niet hebt en ant script

en verder maak je een standaart connectie met de server (singleton) geen meerder connecties toelaten JDBC connector of datasource file
je bent toch java bezig ander zat je op dit forumdeel niet kijk toch eff naar ejb om zo server based meer te kunnen doen
ook jnlp om snel updates van het prog te kunnen doen

Erg nuttig zulke informatie...

Maar wat heb je al van de code ?.

Je hebt een stukje code nodig hebben die de database leest
en stukje code die je commando's kan interpreteren.
 
Wat hij zeker zal doen is de commandos uitlezen en naar collectie brengen Maar daar zit al iets fout op de database want dan moet je elke area kunnen uit elkaar filteren. dus zal er een collom moeten zijn die waar je eerst van een schets platte grond vertrekt en er nr of namen op plakt en bijgevolg een relatie tabel die aangeeft op area je welke actie kan ondernemen
dus je hebt een tabel met plaatsen waar hij is en je moet dan een tabel hebben waar je zegt welke acties welk object kan doen springen lopen sluipen huilen roepen horen ...fietsen rollen rijden vliegen zwemmen.maar het prog zal altijd maar een beperkte collectie doorgestuurd krijgen om het data verkeer te beperken.


als je al problemen zou hebben met database bekijk eens resources voor je deze code gebruikt zal je propertiefile moeten aanmaken
PHP:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package be.djdb.acompany.mysql;

import java.sql.*;
import java.util.ResourceBundle;
import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author noke
 */
public class DataConnect {//TODO maken van logger voor deze functie
    //Deze gebruiker is de standaard administrator met alle rechten

    private Statement stmt;
    private String user;
    private String pwx;
    //Definiering van de URL van de mysql server op de localhost
    private String url ;// hierna komt/database  bv /DA
    // private <string> iligal argument
    private Connection con = null;
    private boolean iscon = false;
    ResourceBundle resourcelijst;
    private DataConnect() {
        resourcelijst = ResourceBundle.getBundle("be.djdb.resources.Database_mysql");
        user = resourcelijst.getString("db.user") ;//root
        pwx = resourcelijst.getString("db.password");//root
        //  = "jdbc:mysql://localhost:3306";// hierna komt/database  bv /DA
        url = "jdbc:mysql://"+resourcelijst.getString("db.host")+
                            ":"+resourcelijst.getString("db.port")+
                            "/"+resourcelijst.getString("db.schema");//
    }
    //private static final DataConnect instance = new DataConnect();
    private static DataConnect dataconnect = null;
    public static DataConnect getInstance() {
        if (dataconnect == null) {
            synchronized (DataConnect.class) {
                if (dataconnect == null) {
                    dataconnect = new DataConnect();
                }
            }
        }
        return dataconnect;
    }
    public Connection getConnection() {
        return (this.startcon())? con:null;
    }
    public boolean isConnection() throws MyDataException {
        try {
            return con == null || !con.isClosed();
        } catch (SQLException ex) {
            throw new MyDataException("controle op de connectie is niet gelukt");
        }
    }
    private boolean startcon() {
        try {
            //TODO thread voor het behouden van de connectie
            Class.forName(resourcelijst.getString("db.driver"));
            con = DriverManager.getConnection(url, user, pwx);
            return true;
        } catch (ClassNotFoundException cnfe) {
            System.out.println("MySQL driver is not found");
           // throw new MyDataException("Database niet bereikbaar");
            return false;
        } catch (SQLException sqle) {
            System.out.println("connection is denied to database");
            //throw new MyDataException("Database niet bereikbaar");
            return false;
        }
    }
    private void closecon() throws SQLException {
        //TODO thread voor het sluiten van de connectie na 10 min niet gebruikt te zijn
        con.close();
    }
    public ResultSet getResultSet(String sql) throws SQLException {
        stmt = con.createStatement();
        return stmt.executeQuery(sql);
    }

    @Override
    public void finalize() throws SQLException {
        this.closecon();
        this.con = null;
    }
    private boolean isvalidsql(String sql) {
        //TODO sql validatie en scan op sqlinjectie
        return true;
    }
    //<<<<<<<<<<<<<<<<DEBUG DATABASE>>>>>>>>>>>>>>>
    @Deprecated
    public void setdebugdata() throws SQLException {
        stmt.executeUpdate("INSERT INTO " + "users" + "(login,pasword) " + "VALUES('lieven','roegiers')" + ",('user1','pasword1')");
    }
    @Deprecated
    public void Database_DOWN() throws SQLException {
        //maak een Statement object
        stmt.execute("DROP DATABASE " + "project_java");
    }
    @Deprecated
    public void Database_UP() throws SQLException {
        stmt.executeUpdate("CREATE DATABASE " + "project_java");
    }
    public void close(ResultSet rs) {
        if (rs == null) return;
        try {rs.close();
        } catch (SQLException e) { //NO EXEPTION SEND
        }
    }
    public void close(Statement s) {
        if (s == null) return;
        try {s.close();
        } catch (SQLException e) {//NO EXEPTION SEND
        }
    }
    public void close(PreparedStatement ps) {
        if (ps == null) return;
        try {ps.close();
        } catch (SQLException e) {//NO EXEPTION SEND
        }
    }
    public void close(CallableStatement cs) {
        if (cs == null)return;
        try {
            cs.close();
        } catch (SQLException e) {//NO EXEPTION SEND
        }
    }
    public void close(Connection con) {
        if (con == null) return;
        try {
            if (!con.isClosed()) con.close();
        } catch (SQLException e) {//NO EXEPTION SEND
        }
    }
}
LET OP dit is geen optie om live te gebruiken dit is enkel om sneller op weg te komen (niet veilig genoeg)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan