Skip to content

Commit

Permalink
removed complex code from beginner tutorials
Browse files Browse the repository at this point in the history
  • Loading branch information
kikito committed Dec 19, 2010
1 parent 09cda55 commit bc34186
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 100 deletions.
24 changes: 11 additions & 13 deletions 1-tiles/a-loading/main.lua
Expand Up @@ -7,21 +7,19 @@ function love.load()

local tilesetW, tilesetH = Tileset:getWidth(), Tileset:getHeight()

Quads = {
grass = love.graphics.newQuad(0, 0, tileW, tileH, tilesetW, tilesetH),
box = love.graphics.newQuad(32, 0, tileW, tileH, tilesetW, tilesetH)
}
GrassQuad = love.graphics.newQuad(0, 0, tileW, tileH, tilesetW, tilesetH)
BoxQuad = love.graphics.newQuad(32, 0, tileW, tileH, tilesetW, tilesetH)

end

function love.draw()
love.graphics.drawq(Tileset, Quads.grass, 368, 268)
love.graphics.drawq(Tileset, Quads.grass, 400, 268)
love.graphics.drawq(Tileset, Quads.grass, 432, 268)
love.graphics.drawq(Tileset, Quads.grass, 368, 300)
love.graphics.drawq(Tileset, Quads.box , 400, 300)
love.graphics.drawq(Tileset, Quads.grass, 432, 300)
love.graphics.drawq(Tileset, Quads.grass, 368, 332)
love.graphics.drawq(Tileset, Quads.grass, 400, 332)
love.graphics.drawq(Tileset, Quads.grass, 432, 332)
love.graphics.drawq(Tileset, GrassQuad, 368, 268)
love.graphics.drawq(Tileset, GrassQuad, 400, 268)
love.graphics.drawq(Tileset, GrassQuad, 432, 268)
love.graphics.drawq(Tileset, GrassQuad, 368, 300)
love.graphics.drawq(Tileset, BoxQuad , 400, 300)
love.graphics.drawq(Tileset, GrassQuad, 432, 300)
love.graphics.drawq(Tileset, GrassQuad, 368, 332)
love.graphics.drawq(Tileset, GrassQuad, 400, 332)
love.graphics.drawq(Tileset, GrassQuad, 432, 332)
end
24 changes: 6 additions & 18 deletions 1-tiles/b-tables/main.lua
Expand Up @@ -8,12 +8,11 @@ function love.load()

local tilesetW, tilesetH = Tileset:getWidth(), Tileset:getHeight()

Quads = {
grass = love.graphics.newQuad(0, 0, TileW, TileH, tilesetW, tilesetH),
box = love.graphics.newQuad(32, 0, TileW, TileH, tilesetW, tilesetH),
boxTop = love.graphics.newQuad(32, 32, TileW, TileH, tilesetW, tilesetH),
flowers = love.graphics.newQuad(0, 32, TileW, TileH, tilesetW, tilesetH),
}
Quads = {}
Quads[0] = love.graphics.newQuad(0, 0, TileW, TileH, tilesetW, tilesetH) -- 0 = grass
Quads[1] = love.graphics.newQuad(32, 0, TileW, TileH, tilesetW, tilesetH) -- 1 = box
Quads[2] = love.graphics.newQuad(32, 32, TileW, TileH, tilesetW, tilesetH) -- 2 = boxtop
Quads[3] = love.graphics.newQuad(0, 32, TileW, TileH, tilesetW, tilesetH) -- 3 = flowers

TileTable = {

Expand Down Expand Up @@ -45,18 +44,7 @@ function love.draw()

for y,row in ipairs(TileTable) do
for x,number in ipairs(row) do
if number == 1 then
quad = Quads.box
elseif number == 2 then
quad = Quads.boxTop
elseif number == 3 then
quad = Quads.flowers
else
quad = Quads.grass
end

love.graphics.drawq(Tileset, quad, (x-1)*TileW, (y-1)*TileH)

love.graphics.drawq(Tileset, Quads[number], (x-1)*TileW, (y-1)*TileH)
end
end
end
22 changes: 6 additions & 16 deletions 1-tiles/c-strings/main.lua
Expand Up @@ -6,12 +6,11 @@ function love.load()

local tilesetW, tilesetH = Tileset:getWidth(), Tileset:getHeight()

Quads = {
grass = love.graphics.newQuad(0, 0, TileW, TileH, tilesetW, tilesetH),
box = love.graphics.newQuad(32, 0, TileW, TileH, tilesetW, tilesetH),
boxTop = love.graphics.newQuad(32, 32, TileW, TileH, tilesetW, tilesetH),
flowers = love.graphics.newQuad(0, 32, TileW, TileH, tilesetW, tilesetH),
}
Quads = {}
Quads[' '] = love.graphics.newQuad(0, 0, TileW, TileH, tilesetW, tilesetH) -- ' ' = grass
Quads['#'] = love.graphics.newQuad(32, 0, TileW, TileH, tilesetW, tilesetH) -- '#' = boxes
Quads['^'] = love.graphics.newQuad(32, 32, TileW, TileH, tilesetW, tilesetH) -- '^' = boxTop
Quads['*'] = love.graphics.newQuad(0, 32, TileW, TileH, tilesetW, tilesetH) -- '*' = flowers

local tileString = [[
^#######################^
Expand Down Expand Up @@ -57,16 +56,7 @@ function love.draw()

for x,column in ipairs(TileTable) do
for y,char in ipairs(column) do
if char == '#' then
quad = Quads.box
elseif char == '^' then
quad = Quads.boxTop
elseif char == '*' then
quad = Quads.flowers
else
quad = Quads.grass
end
love.graphics.drawq(Tileset, quad, (x-1)*TileW, (y-1)*TileH)
love.graphics.drawq(Tileset, Quads[char], (x-1)*TileW, (y-1)*TileH)
end
end

Expand Down
19 changes: 8 additions & 11 deletions 1-tiles/d-tables2/main.lua
Expand Up @@ -6,19 +6,16 @@ function love.load()

local tilesetW, tilesetH = Tileset:getWidth(), Tileset:getHeight()

local quadInfo = {
grass = { 0, 0, ' ' }, -- info1
box = { 32, 0, '#' }, -- info2
boxTop = { 32, 32, '^' }, -- etc
flowers = { 0, 32, '*' }
local quadInfo = {
{ ' ', 0, 0 }, -- grass
{ '#', 32, 0 }, -- box
{ '^', 32, 32 }, -- boxTop
{ '*', 0, 32 } -- flowers
}

Quads = {}

for quadName,info in pairs(quadInfo) do
local quad = love.graphics.newQuad(info[1], info[2], TileW, TileH, tilesetW, tilesetH)
Quads[quadName] = quad
Quads[info[3]] = quad
for _,info in ipairs(quadInfo) do
-- info[1] = character, info[2] = x, info[3] = y
Quads[info[1]] = love.graphics.newQuad(info[2], info[3], TileW, TileH, tilesetW, tilesetH)
end

local tileString = [[
Expand Down
83 changes: 41 additions & 42 deletions 1-tiles/e-functions/main.lua
@@ -1,28 +1,56 @@

local function loadMap(tileW, tileH, tilesetPath, TileString, quadInfo)
local function loadMap()
Map = {}
Map.tileW = tileW
Map.tileH = tileH
Map.tileset = love.graphics.newImage(tilesetPath)

local tileString = [[
^#######################^
^ * ^
^ * ^
^ * ^
^ ^
^ ## ^## ^## ^ ^ ^
^ ^ ^ ^ ^ ^ ^ ^ ^
^ ^ ^ ^ *# ^ ^ ^ ^
^ ^ ^ ^## ^## # # ^
^ ^ ^ ^ ^ ^ ^ * ^
^ * ^ ^ ^ ^ ^ ^ ^
^ # # ^* # ^ * ^ ^
^ ## ### ### # ^
^ ^
^ ***************** ^
^ ^
^ * * ^
#########################
]]

local quadInfo = {
{ ' ', 0, 0 }, -- grass
{ '#', 32, 0 }, -- box
{ '^', 32, 32 }, -- boxTop
{ '*', 0, 32 } -- flowers
}

Map.tileW = 32
Map.tileH = 32
Map.tileset = love.graphics.newImage('countryside.png')

local tilesetW, tilesetH = Map.tileset:getWidth(), Map.tileset:getHeight()

Map.quads = {}

for quadName,info in pairs(quadInfo) do
local quad = love.graphics.newQuad(info.x, info.y, tileW, tileH, tilesetW, tilesetH)
Map.quads[quadName] = quad
Map.quads[info.char] = quad
for _,info in ipairs(quadInfo) do
-- info[1] = the character, info[2] = x, info[3] = y
Map.quads[info[1]] = love.graphics.newQuad(info[2], info[3], Map.tileW, Map.tileH, tilesetW, tilesetH)
end

Map.tiles = {}

local width = #(TileString:match("[^\n]+"))
local width = #(tileString:match("[^\n]+"))

for x = 1,width,1 do Map.tiles[x] = {} end

local x,y = 1,1
for row in TileString:gmatch("[^\n]+") do
for row in tileString:gmatch("[^\n]+") do
assert(#row == width, 'Map is not squared: width of row ' .. tostring(y) .. ' should be ' .. tostring(width) .. ', but it is ' .. tostring(#row))
x = 1
for tile in row:gmatch(".") do
Expand All @@ -35,44 +63,15 @@ local function loadMap(tileW, tileH, tilesetPath, TileString, quadInfo)
end

function drawMap()
local quad

for x,column in ipairs(Map.tiles) do
for y,tileKey in ipairs(column) do
love.graphics.drawq(Map.tileset, Map.quads[ tileKey ] , (x-1)*Map.tileW, (y-1)*Map.tileH)
for y,char in ipairs(column) do
love.graphics.drawq(Map.tileset, Map.quads[ char ] , (x-1)*Map.tileW, (y-1)*Map.tileH)
end
end
end

function love.load()

local tileString = [[
#########################
# #
# #
# #
# #
# ## ### ### # # #
# # # # # # # # #
# # # # # # # # #
# # # ### ### # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# ## ### ### # #
# #
# ################# #
# #
# #
#########################
]]

local quadInfo = {
grass = { x=0, y=0, char=' ' }, -- 'grass' is a tile located at 0,0 in the tileset. It is represented by a space
box = { x=32, y=0, char='#' } -- box is represented with the # character and is the quad on 32,0 on the tileset
}

loadMap( 32,32, 'countryside.png', tileString, quadInfo)
loadMap()
end


Expand Down

0 comments on commit bc34186

Please sign in to comment.