Du bist nicht angemeldet.

1

09.02.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

17.02.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