[ Mile83 @ 14.06.2007. 15:50 ] @
| Pozdrav,
zna li neko kako da izgenerisem ukstenicu od datih reci.
naprimer 10x10, u smeru vertikalno i horizontalno
koji algoritam da koristim?
nasao sam pdf, http://www.mikexstudios.com/re...Study%2520in%2520Crossword.pdf
sa nekim algoritnom, ali je povrsno obrazlozen :(
pokusao sam da implementiram isti ali sam se 'zapucao'
[Ovu poruku je menjao Mile83 dana 14.06.2007. u 17:20 GMT+1] |
[ nemnesic @ 14.06.2007. 17:23 ] @
[ sanchi @ 14.06.2007. 18:36 ] @
Ima vec slicna tema na art of programming, pa mozes da pogledas:
http://www.elitesecurity.org/t21506-Ukrstene-reci
[ Mile83 @ 15.06.2007. 08:26 ] @
thanks folks,
ali uspeo sam da realizujem i generisanje i pretragu

[ nemnesic @ 15.06.2007. 13:51 ] @
molim te stavi ovde code ili ako neces kod onda pseudo code da bi ostali
znali kako si to uradio.
thanks
nn
[ Mile83 @ 15.06.2007. 15:11 ] @
evo koda, pa posto delovi fale, moze se reci da je pseudo
takodje fale klase Coodrinate i WordData, ali se iz koda moze zakljuciti sta 'rade' i sadrze
public void generateMatrix(){
while(listOfWords.size()>0) {
word=findNextLongestWord();
placeWord(word);
}
}
private void placeWord(String word) {
boolean done=false;
while(!done){
coord=getCoordForNextWord();
done=simulatePlacement(word,coord,matrixSize);
}
}
private boolean simulatePlacement(String word, Coodrinate coord,int matrixSize) {
if(y+wordLen<matrixSize-1){ //vert
for (int k = y; k < wordLen+y; k++) {
if(!isEmpty(x,k)){
if( matrix[x][k]!=word.charAt(k-y))
return false;
}
}
int n=0;
for (int k = y; k < wordLen+y; k++) {
matrix[x][k]=word.charAt(n++);
}
listOfWordsData.add(new WordData(x, y, false, word));
return true;
}else if(x+wordLen<matrixSize-1){ //horizontal
for (int k = x; k < wordLen+x; k++) {
if(!isEmpty(k,y)){
if( matrix[k][y]!=word.charAt(k-x))
return false;
}
}
int n=0;
for (int k = x; k < wordLen+x; k++) {
matrix[k][y]=word.charAt(n++);
}
listOfWordsData.add(new WordData(x, y, true, word));
return true;
}
return false;
}
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.