hanonymouss
Gebruiker
- Lid geworden
- 7 sep 2011
- Berichten
- 283
Beste mensen
Ik heb een boggle spel gemaakt in java en ik krijg de matrix mooi met de woorden in.
het probleem alleen is dat mijn score altijd op 0 blijft
hier een screens:

dit is mijn code:
[CPP]import java.util.Random;
public class Teerling
{
public char[] sideWaardes;
public Teerling(){
sideWaardes = new char[6];
}
public char schudTeerlingen()
{
Random r = new Random();
char upValue = sideWaardes[r.nextInt(5)];
return upValue;
}
}[/CPP]
[CPP]import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
public class BoggleBord
{
public Teerling [][] bord;
public BoggleBord() {
bord = new Teerling[4][4];
}
public char[][] setBord()
{
char[][] results = new char[4][4];
for(int i = 0; i < bord.length; i++)
{
for(int j = 0; j < bord.length; j++)
{
results[j] = bord[j].schudTeerlingen();
}
}
return results;
}
}[/CPP]
[CPP]import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class WoordenBoek {
public ArrayList<String> woordenboek;
public WoordenBoek() {
woordenboek = new ArrayList<String>();
vul();
}
public void vul() {
try {
File file = new File("woordenlijst.txt");
Scanner scan = new Scanner(file);
while (scan.hasNext()) {
woordenboek.add(scan.next());
}
} catch (FileNotFoundException e)
{
System.out.println("Bestand niet gevonden");
} catch (IOException e) {
System.out.println("Problemen bij het laden van bestand");
} catch (NullPointerException e) {
System.out.println("Bestand is Null");
} finally {
}
}
}
[/CPP]
[CPP]import java.util.ArrayList;
import java.io.*;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;
public class BoggleSpel extends TimerTask{
public Integer dimensie;
public WoordenBoek woordenBoek;
public Score scoreBord;
char[][] spelbord;
LinkedList<Integer> matches;
LinkedList<String> geraden;
ArrayList<Integer> scores;
public Timer timer;
public boolean running = true;
public BoggleSpel(BoggleBord bord){
dimensie = 4;
spelbord = bord.setBord();
matches = new LinkedList<Integer>();
woordenBoek = new WoordenBoek();
geraden = new LinkedList<String>();
}
@Override
public void run() {
endGame();
}
private void endGame() {
running = false;
//getScores();
for (int i = 0; i < geraden.size(); i ++)
{
if (checkWord(geraden.get(i)))
{
System.out.println(geraden.get(i) + "\t\t" + scores.get(i));
}
else
{
System.out.println(geraden.get(i) + "\t\t" + '0' + "\t\t Geen geldige woord");
}
}
}
public void playGame()
{
int x = 0;
for(int i = 0; i < spelbord.length; i++)
{
System.out.println(spelbord[0] + " " + spelbord[1] + " " + spelbord[2] + " " + spelbord[3]);
}
Scanner scan = new Scanner(System.in);
while(running )
{
geraden.add(scan.next());
}
endGame();
}
public boolean checkWord(String word)
{
for(int i = 0; i < spelbord.length; i++)
{
for(int j = 0; j < spelbord.length; j++)
{
if(spelbord[j] == word.charAt(0));
{
return woordenBoek.woordenboek.contains(word);
}
}
}
return false;
}
public void getScores()
{
scores = scoreBord.getScore(geraden);
}
public int totalSocre()
{
int total = 0;
for(int i = 0; i < scores.size(); i ++)
{
total += scores.get(i);
}
return total;
}
//Controleert of een woord aanwezig is op het bord
public boolean isOngamebord(String word, int i, int j)
{
if(word.length() == 0) return true;
LinkedList<Integer> potentials = findAdjacentPos(i,j);
while(!potentials.isEmpty())
{
int one = potentials.poll();
int two = potentials.poll();
if(spelbord[one][two] == word.charAt(1))
{
isOngamebord(word.substring(1),one,two);
}
}
return false;
}
//Geeft een lijst van alle aangrenzende posities voor een bepaalde input positie
private LinkedList<Integer> findAdjacentPos(int i, int j)
{
LinkedList<Integer> pos = new LinkedList<Integer>();
if(i == 0 && j == 0)
{
pos.add(i + 1);
pos.add(j);
pos.add(i);
pos.add(j + 1);
pos.add(i + 1);
pos.add(j + 1);
}
else if(j == dimensie-1 && i == dimensie-1)
{
pos.add(i - 1);
pos.add(j);
pos.add(i);
pos.add(j - 1);
pos.add(i - 1);
pos.add(j - 1);
}
else if( i == 0 && j == dimensie-1)
{
pos.add(i + 1);
pos.add(j);
pos.add(i);
pos.add(j - 1);
pos.add(i + 1);
pos.add(j - 1);
}
else if( j == 0 && i == dimensie-1)
{
pos.add(i);
pos.add(j + 1);
pos.add(i - 1);
pos.add(j);
pos.add(i - 1);
pos.add(j + 1);
}
else if(j == 0)
{
pos.add(i + 1);
pos.add(j);
pos.add(i + 1);
pos.add(j + 1);
pos.add(i - 1);
pos.add(j + 1);
pos.add(i - 1);
pos.add(j);
}
else if(i == 0)
{
pos.add(i);
pos.add(j + 1);
pos.add(i + 1);
pos.add(j + 1);
pos.add(i + 1);
pos.add(j - 1);
pos.add(i);
pos.add(j - 1);
}
else if(j == dimensie-1)
{
pos.add(i + 1);
pos.add(j);
pos.add(i + 1);
pos.add(j - 1);
pos.add(i - 1);
pos.add(j - 1);
pos.add(i - 1);
pos.add(j);
}
else if(i == dimensie-1)
{
pos.add(i);
pos.add(j + 1);
pos.add(i - 1);
pos.add(j + 1);
pos.add(i - 1);
pos.add(j - 1);
pos.add(i);
pos.add(j - 1);
}
else{
pos.add(i-1);
pos.add(j);
pos.add(i-1);
pos.add(j-1);
pos.add(i);
pos.add(j-1);
pos.add(i+1);
pos.add(j-1);
pos.add(i+1);
pos.add(j);
pos.add(i+1);
pos.add(j+1);
pos.add(i);
pos.add(j+1);
}
return pos;
}
}
[/CPP]
[CPP]import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
public class Score {
HashMap<Integer, Integer> ScoreMap = new HashMap<Integer, Integer>();
public Score() {
vulScoreMap();
}
public void vulScoreMap() {
ScoreMap.put(3, 1);
ScoreMap.put(4, 1);
ScoreMap.put(5, 2);
ScoreMap.put(6, 3);
ScoreMap.put(7, 5);
ScoreMap.put(8, 11); //* 8+ score is 11
}
public int berekenScore(String s) {
int nummer = ScoreMap.get(s.length());
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == 'q') {
nummer++;
}
}
if (nummer <= 4) {
nummer += 1;
} else if (nummer == 5) {
nummer += 2;
} else if (nummer == 6) {
nummer += 3;
} else if (nummer == 7) {
nummer += 5;
} else if (nummer >= 8) {
nummer += 11;
}
return nummer;
}
public ArrayList<Integer> getScore(LinkedList<String> geraden) {
ArrayList<Integer> scoreLijst = new ArrayList<Integer>();
for (int i = 0; i < geraden.size(); i++) {
scoreLijst.add(berekenScore(geraden.get(i)));
}
return scoreLijst;
}
}[/CPP]
[CPP]import java.util.Timer;
import java.util.TimerTask;
public class Speel {
//120000 = 2 mins
public static final long GAME_TIME = 30000;
public BoggleBord finalBord;
public BoggleSpel game;
public Timer timer;
public Speel(){
finalBord = new BoggleBord();
buildBord();
game = new BoggleSpel(finalBord);
timer = new Timer();
}
public void Speel()
{
timer.schedule(game, GAME_TIME);
game.playGame();
}
public void buildBord()
{
Teerling dice1 = new Teerling();
dice1.sideWaardes = "LRTTE".toCharArray();
Teerling dice2 = new Teerling();
dice2.sideWaardes = "VTHRWE".toCharArray();
Teerling dice3 = new Teerling();
dice3.sideWaardes = "EGHWNE".toCharArray();
Teerling dice4 = new Teerling();
dice4.sideWaardes = "SEOTIS".toCharArray();
Teerling dice5 = new Teerling();
dice5.sideWaardes = "ANAEEG".toCharArray();
Teerling dice6 = new Teerling();
dice6.sideWaardes = "IDSYTT".toCharArray();
Teerling dice7 = new Teerling();
dice7.sideWaardes = "OATTOW".toCharArray();
Teerling dice8 = new Teerling();
dice8.sideWaardes = "MTOICU".toCharArray();
Teerling dice9 = new Teerling();
dice9.sideWaardes = "AFPKFS".toCharArray();
Teerling dice10 = new Teerling();
dice10.sideWaardes = "XLDERI".toCharArray();
Teerling dice11 = new Teerling();
dice11.sideWaardes = "HCPOAS".toCharArray();
Teerling dice12 = new Teerling();
dice12.sideWaardes = "ENSIEU".toCharArray();
Teerling dice13 = new Teerling();
dice13.sideWaardes = "YLDEVR".toCharArray();
Teerling dice14 = new Teerling();
dice14.sideWaardes = "ZNRNHL".toCharArray();
Teerling dice15 = new Teerling();
dice15.sideWaardes = "NMIQHU".toCharArray();
Teerling dice16 = new Teerling();
dice16.sideWaardes = "OBBAOJ".toCharArray();
finalBord.bord[0][0] = dice1;
finalBord.bord[0][1] = dice2;
finalBord.bord[0][2] = dice3;
finalBord.bord[0][3] = dice4;
finalBord.bord[1][0] = dice5;
finalBord.bord[1][1] = dice6;
finalBord.bord[1][2] = dice7;
finalBord.bord[1][3] = dice8;
finalBord.bord[2][0] = dice9;
finalBord.bord[2][1] = dice10;
finalBord.bord[2][2] = dice11;
finalBord.bord[2][3] = dice12;
finalBord.bord[3][0] = dice13;
finalBord.bord[3][1] = dice14;
finalBord.bord[3][2] = dice15;
finalBord.bord[3][3] = dice16;
}
}
[/CPP]
en zo voer ik het uit
[CPP]public static void main(String[] args) {
Speel boggle = new Speel();
boggle.Speel();
}[/CPP]
Ik heb er dagen naar het probleem gezocht tevergeefs
ik hoop dat jullie mij hieruit kunnen helpen
alvast bedankt
zip bestand van de klassen:Bekijk bijlage boggle.zip
srry woordenlijst vergeten: https://dl.dropbox.com/u/38016137/woordenlijst.txt
Ik heb een boggle spel gemaakt in java en ik krijg de matrix mooi met de woorden in.
het probleem alleen is dat mijn score altijd op 0 blijft
hier een screens:

dit is mijn code:
[CPP]import java.util.Random;
public class Teerling
{
public char[] sideWaardes;
public Teerling(){
sideWaardes = new char[6];
}
public char schudTeerlingen()
{
Random r = new Random();
char upValue = sideWaardes[r.nextInt(5)];
return upValue;
}
}[/CPP]
[CPP]import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
public class BoggleBord
{
public Teerling [][] bord;
public BoggleBord() {
bord = new Teerling[4][4];
}
public char[][] setBord()
{
char[][] results = new char[4][4];
for(int i = 0; i < bord.length; i++)
{
for(int j = 0; j < bord.length; j++)
{
results[j] = bord[j].schudTeerlingen();
}
}
return results;
}
}[/CPP]
[CPP]import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class WoordenBoek {
public ArrayList<String> woordenboek;
public WoordenBoek() {
woordenboek = new ArrayList<String>();
vul();
}
public void vul() {
try {
File file = new File("woordenlijst.txt");
Scanner scan = new Scanner(file);
while (scan.hasNext()) {
woordenboek.add(scan.next());
}
} catch (FileNotFoundException e)
{
System.out.println("Bestand niet gevonden");
} catch (IOException e) {
System.out.println("Problemen bij het laden van bestand");
} catch (NullPointerException e) {
System.out.println("Bestand is Null");
} finally {
}
}
}
[/CPP]
[CPP]import java.util.ArrayList;
import java.io.*;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;
public class BoggleSpel extends TimerTask{
public Integer dimensie;
public WoordenBoek woordenBoek;
public Score scoreBord;
char[][] spelbord;
LinkedList<Integer> matches;
LinkedList<String> geraden;
ArrayList<Integer> scores;
public Timer timer;
public boolean running = true;
public BoggleSpel(BoggleBord bord){
dimensie = 4;
spelbord = bord.setBord();
matches = new LinkedList<Integer>();
woordenBoek = new WoordenBoek();
geraden = new LinkedList<String>();
}
@Override
public void run() {
endGame();
}
private void endGame() {
running = false;
//getScores();
for (int i = 0; i < geraden.size(); i ++)
{
if (checkWord(geraden.get(i)))
{
System.out.println(geraden.get(i) + "\t\t" + scores.get(i));
}
else
{
System.out.println(geraden.get(i) + "\t\t" + '0' + "\t\t Geen geldige woord");
}
}
}
public void playGame()
{
int x = 0;
for(int i = 0; i < spelbord.length; i++)
{
System.out.println(spelbord[0] + " " + spelbord[1] + " " + spelbord[2] + " " + spelbord[3]);
}
Scanner scan = new Scanner(System.in);
while(running )
{
geraden.add(scan.next());
}
endGame();
}
public boolean checkWord(String word)
{
for(int i = 0; i < spelbord.length; i++)
{
for(int j = 0; j < spelbord.length; j++)
{
if(spelbord[j] == word.charAt(0));
{
return woordenBoek.woordenboek.contains(word);
}
}
}
return false;
}
public void getScores()
{
scores = scoreBord.getScore(geraden);
}
public int totalSocre()
{
int total = 0;
for(int i = 0; i < scores.size(); i ++)
{
total += scores.get(i);
}
return total;
}
//Controleert of een woord aanwezig is op het bord
public boolean isOngamebord(String word, int i, int j)
{
if(word.length() == 0) return true;
LinkedList<Integer> potentials = findAdjacentPos(i,j);
while(!potentials.isEmpty())
{
int one = potentials.poll();
int two = potentials.poll();
if(spelbord[one][two] == word.charAt(1))
{
isOngamebord(word.substring(1),one,two);
}
}
return false;
}
//Geeft een lijst van alle aangrenzende posities voor een bepaalde input positie
private LinkedList<Integer> findAdjacentPos(int i, int j)
{
LinkedList<Integer> pos = new LinkedList<Integer>();
if(i == 0 && j == 0)
{
pos.add(i + 1);
pos.add(j);
pos.add(i);
pos.add(j + 1);
pos.add(i + 1);
pos.add(j + 1);
}
else if(j == dimensie-1 && i == dimensie-1)
{
pos.add(i - 1);
pos.add(j);
pos.add(i);
pos.add(j - 1);
pos.add(i - 1);
pos.add(j - 1);
}
else if( i == 0 && j == dimensie-1)
{
pos.add(i + 1);
pos.add(j);
pos.add(i);
pos.add(j - 1);
pos.add(i + 1);
pos.add(j - 1);
}
else if( j == 0 && i == dimensie-1)
{
pos.add(i);
pos.add(j + 1);
pos.add(i - 1);
pos.add(j);
pos.add(i - 1);
pos.add(j + 1);
}
else if(j == 0)
{
pos.add(i + 1);
pos.add(j);
pos.add(i + 1);
pos.add(j + 1);
pos.add(i - 1);
pos.add(j + 1);
pos.add(i - 1);
pos.add(j);
}
else if(i == 0)
{
pos.add(i);
pos.add(j + 1);
pos.add(i + 1);
pos.add(j + 1);
pos.add(i + 1);
pos.add(j - 1);
pos.add(i);
pos.add(j - 1);
}
else if(j == dimensie-1)
{
pos.add(i + 1);
pos.add(j);
pos.add(i + 1);
pos.add(j - 1);
pos.add(i - 1);
pos.add(j - 1);
pos.add(i - 1);
pos.add(j);
}
else if(i == dimensie-1)
{
pos.add(i);
pos.add(j + 1);
pos.add(i - 1);
pos.add(j + 1);
pos.add(i - 1);
pos.add(j - 1);
pos.add(i);
pos.add(j - 1);
}
else{
pos.add(i-1);
pos.add(j);
pos.add(i-1);
pos.add(j-1);
pos.add(i);
pos.add(j-1);
pos.add(i+1);
pos.add(j-1);
pos.add(i+1);
pos.add(j);
pos.add(i+1);
pos.add(j+1);
pos.add(i);
pos.add(j+1);
}
return pos;
}
}
[/CPP]
[CPP]import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
public class Score {
HashMap<Integer, Integer> ScoreMap = new HashMap<Integer, Integer>();
public Score() {
vulScoreMap();
}
public void vulScoreMap() {
ScoreMap.put(3, 1);
ScoreMap.put(4, 1);
ScoreMap.put(5, 2);
ScoreMap.put(6, 3);
ScoreMap.put(7, 5);
ScoreMap.put(8, 11); //* 8+ score is 11
}
public int berekenScore(String s) {
int nummer = ScoreMap.get(s.length());
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == 'q') {
nummer++;
}
}
if (nummer <= 4) {
nummer += 1;
} else if (nummer == 5) {
nummer += 2;
} else if (nummer == 6) {
nummer += 3;
} else if (nummer == 7) {
nummer += 5;
} else if (nummer >= 8) {
nummer += 11;
}
return nummer;
}
public ArrayList<Integer> getScore(LinkedList<String> geraden) {
ArrayList<Integer> scoreLijst = new ArrayList<Integer>();
for (int i = 0; i < geraden.size(); i++) {
scoreLijst.add(berekenScore(geraden.get(i)));
}
return scoreLijst;
}
}[/CPP]
[CPP]import java.util.Timer;
import java.util.TimerTask;
public class Speel {
//120000 = 2 mins
public static final long GAME_TIME = 30000;
public BoggleBord finalBord;
public BoggleSpel game;
public Timer timer;
public Speel(){
finalBord = new BoggleBord();
buildBord();
game = new BoggleSpel(finalBord);
timer = new Timer();
}
public void Speel()
{
timer.schedule(game, GAME_TIME);
game.playGame();
}
public void buildBord()
{
Teerling dice1 = new Teerling();
dice1.sideWaardes = "LRTTE".toCharArray();
Teerling dice2 = new Teerling();
dice2.sideWaardes = "VTHRWE".toCharArray();
Teerling dice3 = new Teerling();
dice3.sideWaardes = "EGHWNE".toCharArray();
Teerling dice4 = new Teerling();
dice4.sideWaardes = "SEOTIS".toCharArray();
Teerling dice5 = new Teerling();
dice5.sideWaardes = "ANAEEG".toCharArray();
Teerling dice6 = new Teerling();
dice6.sideWaardes = "IDSYTT".toCharArray();
Teerling dice7 = new Teerling();
dice7.sideWaardes = "OATTOW".toCharArray();
Teerling dice8 = new Teerling();
dice8.sideWaardes = "MTOICU".toCharArray();
Teerling dice9 = new Teerling();
dice9.sideWaardes = "AFPKFS".toCharArray();
Teerling dice10 = new Teerling();
dice10.sideWaardes = "XLDERI".toCharArray();
Teerling dice11 = new Teerling();
dice11.sideWaardes = "HCPOAS".toCharArray();
Teerling dice12 = new Teerling();
dice12.sideWaardes = "ENSIEU".toCharArray();
Teerling dice13 = new Teerling();
dice13.sideWaardes = "YLDEVR".toCharArray();
Teerling dice14 = new Teerling();
dice14.sideWaardes = "ZNRNHL".toCharArray();
Teerling dice15 = new Teerling();
dice15.sideWaardes = "NMIQHU".toCharArray();
Teerling dice16 = new Teerling();
dice16.sideWaardes = "OBBAOJ".toCharArray();
finalBord.bord[0][0] = dice1;
finalBord.bord[0][1] = dice2;
finalBord.bord[0][2] = dice3;
finalBord.bord[0][3] = dice4;
finalBord.bord[1][0] = dice5;
finalBord.bord[1][1] = dice6;
finalBord.bord[1][2] = dice7;
finalBord.bord[1][3] = dice8;
finalBord.bord[2][0] = dice9;
finalBord.bord[2][1] = dice10;
finalBord.bord[2][2] = dice11;
finalBord.bord[2][3] = dice12;
finalBord.bord[3][0] = dice13;
finalBord.bord[3][1] = dice14;
finalBord.bord[3][2] = dice15;
finalBord.bord[3][3] = dice16;
}
}
[/CPP]
en zo voer ik het uit
[CPP]public static void main(String[] args) {
Speel boggle = new Speel();
boggle.Speel();
}[/CPP]
Ik heb er dagen naar het probleem gezocht tevergeefs
ik hoop dat jullie mij hieruit kunnen helpen
alvast bedankt
zip bestand van de klassen:Bekijk bijlage boggle.zip
srry woordenlijst vergeten: https://dl.dropbox.com/u/38016137/woordenlijst.txt
Laatst bewerkt: