语法错误:player.lua:11: 在 '<eof>' 附近缺少 '='。

我最近在学习使用 Love2d 的 Lua,所以我决定开始制作一个简单的 RPG 游戏。它非常简单。控制台是你玩游戏的地方,而额外的窗口则是你可以查看你的统计数据、装备物品等的地方。

但是,我遇到了一个问题!每当我运行代码时,我会看到这个错误main.lua:15: '=' expected near 'else'

我将包括下面的代码(所有三个文件)。

这是 main.lua

function love.load()
love.graphics.setBackgroundColor( 255, 255, 255 )
require("player")

print("Enter your name")
pcStats.Name = io.read()

print("What class are you, " .. pcStats.Name .. "?")
pcStats.Class = io.read()

if pcStats.Class == "Ranger" then
    os.execute("cls")
    pcInv.InvSpace = 10
    pcInv.Items.basicBow = Basic Bow
else
    print("Error: Invalid Class. Please restart game")
end

print("What would you like to do? CODE END")
input = io.read()
end

function love.draw()
    love.graphics.setColor( 0, 0, 0 )
    love.graphics.print( "Level: " .. pcStats.Level, 1, 1 )
    love.graphics.print( "Inv Space: " .. pcInv.InvSpace, 1, 20 )
    love.graphics.print( "Inv: " .. pcInv.Items, 1, 40 )
end

下面是 player.lua,这是存储游戏变量的地方

pcStats = {}
pcStats.Level = 1
pcStats.XP = nil
pcStats.Name = nil
pcStats.Class = nil
pcStats.Atk = nil
pcStats.Def = nil

pcInv = {}
pcInv.InvSpace = nil
pcInv.Items.testsword = testing sword

最后是用于 love2d 的 conf.lua

function love.conf(t)
    t.modules.joystick = true
    t.modules.audio = true
    t.modules.keyboard = true
    t.modules.event = true
    t.modules.image = true
    t.modules.graphics = true
    t.modules.timer = true
    t.modules.mouse = true
    t.modules.sound = true
    t.modules.thread = true
    t.modules.physics = true
    t.console = true
    t.title = "Lua RPG Alpha v0.0.1"
    t.author = "Zach Herzer"
end
点赞
用户752976
用户752976

第 15 行是这样的:

    pcInv.Items.basicBow = Basic Bow

Basic Bow 不是有效的 Lua 代码。我相信你是想要其他的东西 - 或许是一个字符串?

pcInv.Items.basicBow = "Basic Bow"

顺便说一下,

pcInv.Items.testsword = testing sword

也有类似的问题。

2015-12-17 16:12:53