Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Sonntag, 9. Februar 2014, 12:51

[OpenSource] Mathe & Translate

Hallo, ich wollte es eig in inof. Release posten aber man kann dort ja kein Thread eröffnen.

Ich habe eben schnell aus dem WordMix von Brainy Mathe & Translate gemacht.
Ich gebe euch nun nicht jeden einzelnen Kram, sondern nur die Gameklassen, Datenbankstruktur und Server.java Erweiterungen, der Rest sollte klar sein.

Server.java
Unter:

Quellcode

1
private final Map<String, Client> clients;

Dieses hier:

Quellcode

1
2
public static Map<String, String[]> translate;
    	public static Map<String, String[]> mathe;



Unter:

Quellcode

1
butler = new Client(null);

Dieses hier:

Quellcode

1
2
 mathe = new HashMap<String, String[]>();
              	translate = new HashMap<String, String[]>();


Unter:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
System.out.println("Loading channels");
			rs = stmt.executeQuery("SELECT * FROM `channels`");

			while (rs.next()) {
				Channel channel = new Channel(rs, channelStyles.get(rs
						.getInt("style")));
				butler.joinChannel(channel);
				channel.addClient(butler);
				channels.put(rs.getString("name").toLowerCase(), channel);
			}

			rs.close();

Dieses hier:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
 System.out.println("Loading mathe");
			rs = stmt.executeQuery("SELECT * FROM `mathe`");
                    	while (rs.next()) {                       	
                      	mathe.put(rs.getString("aufgabe").trim(),new String[] { rs.getString("loesung").trim(), rs.getString("difficult") });
                    	}
                    	rs.close();
                    	
                    	System.out.println("Loading translate");
			rs = stmt.executeQuery("SELECT * FROM `translate`");
                    	while (rs.next()) {                       	
                      	translate.put(rs.getString("word").trim(),new String[] { rs.getString("loesung").trim(), rs.getString("translate_to") });
                    	}
                    	rs.close();



Datenbank
http://pastie.org/private/g2oenoeityamvctlxdnjww

Mathe.java (Gameklasse)
http://pastie.org/private/8ymd68s0ievl2rs72rvu6w

Translate.java (Gameklasse)
http://pastie.org/private/tpz27uafvit0w2tohju7ma



PS: Kann man auch besser machen, aber kb! :D
Meine Grafikseite: http://chatsmileys.senzious.de/

Es haben sich bereits 4 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Player the game, Flo, Andr3, Dome

2

Montag, 17. Februar 2014, 15:51

Wenn eure Datenbank sehr groß ist dauert es zu lange, bis die Aufgabe kommt, daher habe ich mich doch nochmal hingesetzt und es geändert:


So müssen die neuen StartRound()-Methoden geändert werden:
Für Mathe

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
   private void StartRound() {   
 Random random = new Random();
List<String> keys = new ArrayList<String>(Server.mathe.keySet());
String randomKey = keys.get( random.nextInt(keys.size()) );
String[] value = Server.mathe.get(randomKey);
	word = randomKey; 
     	answer = value[0];
    	dif = Integer.parseInt(value[1]);   	
    	answerLength = answer.length();
    	channel.broadcastButlerMessage(String.format("%s:#_%s _", getRandomStartTask(), word));
    	playing = true;
    	start = System.currentTimeMillis();
    	CheckTime();
	}


Für Translate

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void StartRound() {   
  	Random random = new Random();
List<String> keys = new ArrayList<String>(Server.translate.keySet());
String randomKey = keys.get(random.nextInt(keys.size()) );
String[] value = Server.translate.get(randomKey);    	
    	word = randomKey;   	
    	answer = value[0];
     	lang_to = value[1];
    	answerLength = answer.length();
    	String txt = "Übersetze das folgende Wort ins deutsche °>DE...my_-4.gif<°";
    	if (lang_to.equals("EN")) {
        	txt = "Übersetze das folgende Wort ins englische °>EN...my_-4.gif<°";
    	}    	
    	channel.broadcastButlerMessage(String.format("%s:#°BB°_%s _°r°", txt, word));
    	playing = true;
    	start = System.currentTimeMillis();
    	CheckTime();
	}
Meine Grafikseite: http://chatsmileys.senzious.de/

Es haben sich bereits 2 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Andr3, Dome

Ähnliche Themen

Verwendete Tags

mathe, translate