drawing works sometimes
This commit is contained in:
76
karten.lua
76
karten.lua
@@ -1,56 +1,50 @@
|
||||
local love = require "love"
|
||||
local love = require("love")
|
||||
|
||||
Karten = {}
|
||||
|
||||
function Karten:createDeck()
|
||||
local deck = {}
|
||||
local suits = {"Clubs", "Diamonds", "Spades", "Hearts"}
|
||||
local values = {2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 11} -- 10, J, Q, K sind alle 10, A ist 11
|
||||
for _, suit in ipairs(suits) do
|
||||
for _, value in ipairs(values) do
|
||||
table.insert(deck, {suit = suit, value = value})
|
||||
end
|
||||
end
|
||||
local deck = {}
|
||||
local suits = { "Clubs", "Diamonds", "Spades", "Hearts" }
|
||||
local values = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 11 } -- 10, J, Q, K sind alle 10, A ist 11
|
||||
for _, suit in ipairs(suits) do
|
||||
for _, value in ipairs(values) do
|
||||
table.insert(deck, { suit = suit, value = value })
|
||||
end
|
||||
end
|
||||
|
||||
TileMap = love.graphics.newImage("/cards_asset_pack/CuteCards.png")
|
||||
return deck
|
||||
TileMap = love.graphics.newImage("/cards_asset_pack/JustNormalCards.png")
|
||||
return deck
|
||||
end
|
||||
|
||||
function Karten:shuffleDeck(deck)
|
||||
for i = #deck, 2, -1 do
|
||||
local j = love.math.random(i)
|
||||
deck[i], deck[j] = deck[j], deck[i]
|
||||
end
|
||||
for i = #deck, 2, -1 do
|
||||
local j = love.math.random(i)
|
||||
deck[i], deck[j] = deck[j], deck[i]
|
||||
end
|
||||
end
|
||||
|
||||
function Karten:handValue(hand)
|
||||
local value = 0
|
||||
local aces = 0
|
||||
for _, card in ipairs(hand) do
|
||||
value = value + card.value
|
||||
if card.value == 11 then
|
||||
aces = aces + 1
|
||||
end
|
||||
end
|
||||
while value > 21 and aces > 0 do
|
||||
value = value - 10
|
||||
aces = aces - 1
|
||||
end
|
||||
return value
|
||||
local value = 0
|
||||
local aces = 0
|
||||
for _, card in ipairs(hand) do
|
||||
value = value + card.value
|
||||
if card.value == 11 then
|
||||
aces = aces + 1
|
||||
end
|
||||
end
|
||||
while value > 21 and aces > 0 do
|
||||
value = value - 10
|
||||
aces = aces - 1
|
||||
end
|
||||
return value
|
||||
end
|
||||
|
||||
function Karten:hit(x, y, hand)
|
||||
if #Deck > 0 then
|
||||
local card = table.remove(Deck)
|
||||
table.insert(hand, card)
|
||||
local suits = {["Clubs"] = 0, ["Diamonds"] = 1, ["Spades"] = 2, ["Hearts"] = 3}
|
||||
local tileWidth = TileMap:getWidth() / 4
|
||||
local tileHeight = TileMap:getHeight() / 13
|
||||
local tileX = suits[card.suit]
|
||||
local tileY = math.min(card.value - 2, 9)
|
||||
love.graphics.draw(TileMap, love.graphics.newQuad(tileX * tileWidth, tileY * tileHeight, tileWidth, tileHeight, TileMap:getDimensions()), x, y)
|
||||
end
|
||||
function Karten:hit(hand)
|
||||
if #Deck > 0 then
|
||||
local card = table.remove(Deck)
|
||||
table.insert(hand, card)
|
||||
return card
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
return Karten
|
||||
|
||||
Reference in New Issue
Block a user