リバーシプログラムの作成

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
シャドウ

リバーシプログラムの作成

#1

投稿記事 by シャドウ » 6年前

こんにちは。
環境は、Visual Studio Community2017を使っています、windows10です。
使用言語はVisual Basicのユニバーサルwindowです。

リバーシのゲームを製作しています。
私がしたい事は、緑の番のマスをクリックするとx=0 y=0と表示させたいです。
エラーが出てしまったのでどなたかコードの修正お願いします。
どこがが間違っているようです

コード:

Public NotInheritable Class MainPage
    Inherits Page

    Public Const Size = 8
    Private CellMargin As Thickness = New Thickness(6)

    Protected Overrides Sub OnNavigatedTo(
    e As Navigation.NavigationEventArgs)

        Dim gridSize = Window.Current.Bounds.Width
        If gridSize > Window.Current.Bounds.Height Then _
            gridSize = Window.Current.Bounds.Height
        Dim cellSize = (gridSize - 60) / Size

        Dim cd As ColumnDefinition
        Dim rd As RowDefinition
        For i = 0 To Size - 1
            cd = New ColumnDefinition()
            cd.Width = New Windows.UI.Xaml.GridLength(
                cellSize)
            GridGameField.ColumnDefinitions.Add(cd)

            rd = New RowDefinition()
            rd.Height = New Windows.UI.Xaml.GridLength(
                cellSize)
            GridGameField.RowDefinitions.Add(rd)
        Next

        Dim cell As Windows.UI.Xaml.Shapes.Rectangle
        For i = 0 To Size - 1
            For j = 0 To Size - 1
                cell = New Windows.UI.Xaml.Shapes.Rectangle()
                cell.Fill = New SolidColorBrush(
                  Windows.UI.Colors.Green)
                cell.SetValue(Grid.ColumnProperty, i)
                cell.SetValue(Grid.RowProperty, j)
                cell.Margin = CellMargin
                AddHandler cell.Tapped,
                    AddressOf RectangleTapped
                GridGameField.Children.Add(cell)

            Next
        Next
    End Sub
End Class

この↑は、エラーは出てない

Private Async Sub RectangleTapped(sender As Object, e As TappedRoutedEventArgs)

    Dim r As Windows.UI.Xaml.Shapes.Rectangle = sender
    Dim x = r.GetValue(Grid.ColumnProperty)
    Dim y = r.GetValue(Grid.RowProperty)
    Await ShowMessage("x=" & x & "y=" & y)
End Sub

Private Async Function ShowMessage(s As String) As Task
    Dim md = New Windows.UI.Popups.MessageDialog(s)
    Await md.ShowAsync()
End Function

End Class
どなたかご教示お願いします。

シャドウ

Re: リバーシプログラムの作成

#2

投稿記事 by シャドウ » 6年前

すみません、また解決しました。
解決結果としては、最初と最後のEndClassを変えたらコンパイルエラーせずにビルドできました。
最初を消して、最後に記述しました。
開覧して下さった皆さんありがとうございました。

返信

“C言語何でも質問掲示板” へ戻る