सबसे पहले, यह होमवर्क नहीं है;)। मैं खरोंच से एक शब्द खोज खेल बनाने की कोशिश कर रहा हूं और एक बाधा मारा है मुझे कुछ मार्गदर्शन की आवश्यकता है।प्रोग्रामिंग रूप से "खाली" सेट खोजने के लिए लंबवत 2 डी ऐरे को घुमाने का प्रभावी तरीका क्या है?
मैं एक शब्द खोज के ग्रिड के लिए 2 डी सरणी का उपयोग कर रहा हूं। मैं क्षैतिज रूप से इन सरणी में शब्दों को रखने में काफी सहज हूं, लेकिन मैं वास्तव में विचारों के लिए अटक गया हूं कि यह लंबवत तरीके से कैसे करें।
यह है कि मैं क्या है अब तक, तुम बस कॉपी/पेस्ट करें और चलाने के यह
import java.util.ArrayList;
import java.util.List;
public class WordGame
{
private static List<String> words = new ArrayList<String>();
private static int longestWordLength = 0;
private static int padSize = 4;
private static char[][] grid = null;
public static void main(String[] args)
{
initialiseWords();
workOutLongestWord();
setupGrid();
printIt();
}
private static void printIt()
{
for (int i = 0; i < grid.length; i++)
{
for (int j = 0; j < grid.length; j++)
{
System.out.print(grid[i][j]);
}
System.out.print("\n");
}
}
private static void setupGrid()
{
grid = new char[longestWordLength + padSize][longestWordLength + padSize];
for (int i = 0; i < grid.length; i++)
{
String w = (i >= words.size()) ? "?" : words.get(i);
for (int j = 0; j < grid.length; j++)
{
grid[i][j] = (j >= w.length()) ? '?' : w.charAt(j);
}
}
}
private static void workOutLongestWord()
{
for (String word : words)
{
if (word.length() > longestWordLength)
{
longestWordLength = word.length();
}
}
}
private static void initialiseWords()
{
words.add("monkey");
words.add("cow");
words.add("elephant");
words.add("kangaroo");
}
}
कौन सा कुछ बाहर प्रिंट की तरह ...
monkey??????
cow?????????
elephant????
kangaroo????
????????????
????????????
????????????
????????????
????????????
????????????
????????????
????????????
मैं करने की जरूरत में सक्षम होना चाहिए है यादृच्छिक रूप से बाएं/दाएं हाथ की ओर उन्हें पैड करें, लेकिन मैं इसे स्वयं कर सकता हूं।
प्रश्न: ऊपर की तरह 2 डी सरणी में शब्दों को लंबवत रखने का प्रयास करने का एक प्रभावी तरीका क्या है? मेरा शुरुआती विचार आवश्यक शब्द लंबाई के लिए नीचे की ओर गिनना था, अगर ?
के अलावा कुछ भी तोड़ दिया गया है, और यह तब तक जारी रखने के लिए जब तक मैं शब्द के लिए कोई स्थान नहीं ढूंढ पाता। हालांकि जब मैं खाता ओवरलैपिंग खाता लेता हूं तो यह सुंदर नहीं होता है।
कोई बात नहीं?