Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Goals(1) = New Tile()
#1
Code: (Select All)
    ReDim Goals(6)
    Goals(1) = New Tile()
    Goals(1).Symbol = "o"
Expected operator in equation

Help.

thank you.
Reply
#2
(08-31-2023, 05:42 PM)gaslouk Wrote:
Code: (Select All)
    ReDim Goals(6)
    Goals(1) = New Tile()
    Goals(1).Symbol = "o"
Expected operator in equation

Help.

thank you.
What is "New Tile()"? If that's meant to be a function or UDT the space is not allowed.
New to QB64pe? Visit the QB64 tutorial to get started.
QB64 Tutorial
Reply
#3
(08-31-2023, 05:42 PM)gaslouk Wrote:
Code: (Select All)
    Goals(1) = New Tile()

QB64 doesn't have "new" operator, it doesn't support object-oriented programming. Yet.
Reply
#4
(08-31-2023, 05:42 PM)gaslouk Wrote:
Code: (Select All)
    ReDim Goals(6)
    Goals(1) = New Tile()
    Goals(1).Symbol = "o"
Expected operator in equation

Help.

thank you.

As mentioned "new" is an operator for object oriented programming languages such as C++, PHP, Javascript etc. which is not possible in QB64(PE), however REDIM can do the job, but "Tile" have to be a user defined TYPE instead of a function.

Code: (Select All)
Type Tile
    Symbol As String * 1 'use higher numbers if you need more chars
End Type
ReDim Goals(6) As Tile

Goals(1).Symbol = "o"
Goals(2).Symbol = "x"
Goals(3).Symbol = "*"

etc.
Reply
#5
Ευχαριστώ πολύ όλη την παρέα. Heart Heart Heart Heart Smile Smile Smile Wink
Reply
#6
Bless you.  That sounds rough!
Reply
#7
(09-01-2023, 07:07 AM)gaslouk Wrote: Ευχαριστώ πολύ όλη την παρέα. Heart Heart Heart Heart Smile Smile Smile Wink

You're welcome!
Gern geschehen!
Παρακαλώ!
Reply
#8
Code: (Select All)
Dim Shared row, col As Integer
Dim Shared levelMap(1 To 12) As String
Dim Shared tileSymbol As String

Sub LoadLabel (numLevel)
    ' Δημιουργία χάρτη του παιχνιδιού
    levelMap(1) = "    ############ "
    levelMap(2) = "    #          # "
    levelMap(3) = "    #          # "
    levelMap(4) = "    #    $$    # "
    levelMap(5) = "    #   $  $   # "
    levelMap(6) = "    #    $$    # "
    levelMap(7) = " ###############"
    levelMap(8) = "#              #"
    levelMap(9) = "#              #"
    levelMap(10) = "#              #"
    levelMap(11) = "#              #"
    levelMap(12) = "############### "

    ' Διασχίστε τον χάρτη και ορίστε τα χαρακτηριστικά των πλακιδίων

    For row = 1 To MapHeight
        For col = 1 To MapWidth
            tileSymbol = MID(levelMap(row), col, 1)

            MapTiles(col, row).Symbol = tileSymbol
            MapTiles(col, row).IsBox = 0
            MapTiles(col, row).IsGoal = 0

            If tileSymbol = "$" Then
                MapTiles(col, row).IsBox = 1
            ElseIf tileSymbol = "." Then
                MapTiles(col, row).IsGoal = 1
            End If
        Next col
    Next row
End Sub


Huh 
Help.

thank you.
Reply
#9
(09-01-2023, 08:49 AM)gaslouk Wrote:
Code: (Select All)
Dim Shared row, col As Integer
Dim Shared levelMap(1 To 12) As String
Dim Shared tileSymbol As String

Sub LoadLabel (numLevel)
    ' Δημιουργία χάρτη του παιχνιδιού
    levelMap(1) = "    ############ "
    levelMap(2) = "    #          # "
    levelMap(3) = "    #          # "
    levelMap(4) = "    #    $$    # "
    levelMap(5) = "    #  $  $  # "
    levelMap(6) = "    #    $$    # "
    levelMap(7) = " ###############"
    levelMap(8) = "#              #"
    levelMap(9) = "#              #"
    levelMap(10) = "#              #"
    levelMap(11) = "#              #"
    levelMap(12) = "############### "

    ' Διασχίστε τον χάρτη και ορίστε τα χαρακτηριστικά των πλακιδίων

    For row = 1 To MapHeight
        For col = 1 To MapWidth
            tileSymbol = MID(levelMap(row), col, 1)

            MapTiles(col, row).Symbol = tileSymbol
            MapTiles(col, row).IsBox = 0
            MapTiles(col, row).IsGoal = 0

            If tileSymbol = "$" Then
                MapTiles(col, row).IsBox = 1
            ElseIf tileSymbol = "." Then
                MapTiles(col, row).IsGoal = 1
            End If
        Next col
    Next row
End Sub

Huh 
Help.

thank you.

Needed to end with [/code]
b = b + ...
Reply
#10
(09-01-2023, 09:28 AM)bplus Wrote:
(09-01-2023, 08:49 AM)gaslouk Wrote:
Code: (Select All)
Dim Shared row, col As Integer
Dim Shared levelMap(1 To 12) As String
Dim Shared tileSymbol As String

Sub LoadLabel (numLevel)
    ' Δημιουργία χάρτη του παιχνιδιού
    levelMap(1) = "    ############ "
    levelMap(2) = "    #          # "
    levelMap(3) = "    #          # "
    levelMap(4) = "    #    $$    # "
    levelMap(5) = "    #  $  $  # "
    levelMap(6) = "    #    $$    # "
    levelMap(7) = " ###############"
    levelMap(8) = "#              #"
    levelMap(9) = "#              #"
    levelMap(10) = "#              #"
    levelMap(11) = "#              #"
    levelMap(12) = "############### "

    ' Διασχίστε τον χάρτη και ορίστε τα χαρακτηριστικά των πλακιδίων

    For row = 1 To MapHeight
        For col = 1 To MapWidth
            tileSymbol = MID(levelMap(row), col, 1)

            MapTiles(col, row).Symbol = tileSymbol
            MapTiles(col, row).IsBox = 0
            MapTiles(col, row).IsGoal = 0

            If tileSymbol = "$" Then
                MapTiles(col, row).IsBox = 1
            ElseIf tileSymbol = "." Then
                MapTiles(col, row).IsGoal = 1
            End If
        Next col
    Next row
End Sub

Huh 
Help.

thank you.

Needed to end with [/code]
Thanks  bplus
Reply




Users browsing this thread: 2 Guest(s)