Matrix Xamarin表单:如何生成单词搜索拼图矩阵?

Matrix Xamarin表单:如何生成单词搜索拼图矩阵?,matrix,xamarin.forms,puzzle,Matrix,Xamarin.forms,Puzzle,我正在尝试在我的xamarin表单应用程序上实现一个单词搜索游戏。当我打电话给我的服务部时,我只听到一些话。使用这些单词,我如何生成字母矩阵 我需要一个10x10字母矩阵,如下面的屏幕截图: 这些文字隐藏在这个矩阵中,如下面的截图(斯蒂芬、尼古拉斯、安布罗斯、胡安·迭戈、泽维尔、西尔维斯特一世): 单词可以采用任何格式:从右到左、从左到右、从上到下、从下到上或交叉排列。 是否有用于此功能的工具?我需要按照屏幕截图2选择字母来玩这个游戏。您可以使用网格 比如说 public Page2

我正在尝试在我的xamarin表单应用程序上实现一个单词搜索游戏。当我打电话给我的服务部时,我只听到一些话。使用这些单词,我如何生成字母矩阵

我需要一个10x10字母矩阵,如下面的屏幕截图:

这些文字隐藏在这个矩阵中,如下面的截图(斯蒂芬、尼古拉斯、安布罗斯、胡安·迭戈、泽维尔、西尔维斯特一世):

单词可以采用任何格式:从右到左、从左到右、从上到下、从下到上或交叉排列。


是否有用于此功能的工具?我需要按照屏幕截图2选择字母来玩这个游戏。

您可以使用网格

比如说

    public Page2()
    {
        InitializeComponent();

        // I used static source , you could get it from service
        var strList = new string[] { "A", "B", "C" , "D" ,"E" ,"F" ,"G" ,"H" ,"I",..... };


        CreateGame(strList , 10);
    }



    void CreateGame(string[] list , int count)
    {
        var grid = new Grid();
        grid.BackgroundColor = Color.Red;
        grid.HorizontalOptions = LayoutOptions.FillAndExpand;
        grid.SetBinding(Button.HeightRequestProperty, new Binding("Width", source: grid));



        for (int i = 0; i < count; i++)
        {
            for(int j = 0; j < count; j ++)
            {
                grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Auto) });



                var Rowbutton = new Button { Text = list[i* count + j ] };
                Rowbutton.HorizontalOptions = LayoutOptions.FillAndExpand;
                Rowbutton.VerticalOptions = LayoutOptions.FillAndExpand;
                Rowbutton.SetBinding(Button.HeightRequestProperty,new Binding("Width",source:Rowbutton));
                grid.Children.Add(Rowbutton, j, i);
            }
            grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
        }



        Content = new StackLayout { Children = { grid },HorizontalOptions= LayoutOptions.FillAndExpand,VerticalOptions = LayoutOptions.FillAndExpand };
    }
}
publicpage2()
{
初始化组件();
//我用的是静态源代码,你们可以从服务中得到
var strList=新字符串[]{“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、…};
CreateGame(strList,10);
}
void CreateGame(字符串[]列表,整数计数)
{
var grid=new grid();
grid.BackgroundColor=Color.Red;
grid.HorizontalOptions=LayoutOptions.FillAndExpand;
SetBinding(Button.HeightRequestProperty,新绑定(“宽度”,来源:grid));
for(int i=0;i
您可以使用带有ItemsLayout和Span的CollectionView。检查

对于字母的选择,可以使用多个
SelectionMode
as

Xaml代码:

       <CollectionView
            SelectionMode="Multiple"
            ItemsSource="{Binding LettersCollection}">
            <CollectionView.ItemsLayout>
                <GridItemsLayout Orientation="Horizontal"
                    Span="10" />
            </CollectionView.ItemsLayout>
            <CollectionView.ItemTemplate>
                <DataTemplate>
                    <Label Text="{Binding}"/>
                </DataTemplate>
            </CollectionView.ItemTemplate>
        </CollectionView>


希望这能帮助您的需求。

通过按钮的点击功能实现了单词搜索游戏。使用单击功能时,我们需要检查模式是否正确。我上传了一个样本项目,希望这将有助于别人

此示例包含以下功能:

  • 字母从左到右、从右到左、从上到下、从下到上或对角排列的信箱。此外,隐藏的单词列在页面底部
  • 单击字母时,将背景颜色更改为橙色。如果我们单击上述任何机制中的字母,它将继续将背景颜色更改为橙色
  • 找到单词后,背景颜色将变为绿色。如果我们改变图案,我会去掉背景色
  • 更改颜色并为找到的单词添加勾号
  • 找到所有单词后,添加了重新启动选项
  • 参考文献:


    请参阅。你能提供一些你一直在尝试但没有用的信息吗?@PaulKertscher我正在尝试开发一个单词搜索游戏。我需要用我的单词字母和一些其他字母创建一个10x10字母矩阵。github上有许多项目可以做类似的事情,你可以研究-@ColeX我有多个单词要在字母矩阵中搜索。那么,如何将所有单词的字母添加到
    strList
    。假设我有6个单词要搜索,剩余的单元格应该用英语字母表中的任何其他字母填充。我需要一个10x10的矩阵,在不同的位置填充我的搜索词,矩阵中的剩余空间填充任何其他字母。请看这个。请看这个。您可以使用自定义视图和长按并触摸输入事件来选择特定单元格。您可以在触摸完成事件时验证答案。这对你的情况可能吗?将选择模式设置为None of CollectionView