lot of things ig. Lastly made function also show the card on passed coordinates. Coordinates are not getting passed over yet in blackjack.lua. It isnt testet also lol

This commit is contained in:
Nico
2025-08-08 00:10:21 +02:00
parent b9cf171776
commit 686f6d8962
11 changed files with 56 additions and 139 deletions

View File

@@ -1,6 +1,7 @@
{
"diagnostics.globals": [
"currentScreen",
"drawMenu"
"drawMenu",
"spielerHand"
]
}

View File

@@ -1,38 +1,42 @@
local love = require "love"
require "karten"
spielerHand = {}
dealerHand = {}
deck = {}
DealerHand = {}
Deck = {}
function loadBlackjack()
deck = createDeck()
shuffleDeck(deck)
dealInitialCards()
function LoadBlackjack()
Deck = Karten:createDeck()
Karten:shuffleDeck(Deck)
DealInitialCards()
Cards = love.graphics.newImage("/cards_asset_pack/CuteCards.png")
end
function updateBlackjack(dt)
function UpdateBlackjack(dt)
-- Hier können zukünftige Updates für Blackjack hinzugefügt werden
end
function drawBlackjack()
love.graphics.print("Spieler Hand: " .. handValue(spielerHand), 50, 50)
love.graphics.print("Dealer Hand: " .. handValue(dealerHand), 50, 100)
love.graphics.print("Drücke 'H' für Hit oder 'S' für Stand", 50, 150)
function DrawBlackjack()
print(love.graphics:getWidth())
love.graphics.draw(Cards, love.graphics.getWidth() / 2 - 90 , 50, 0, 0.2)
-- love.graphics.print("Spieler Hand: " .. Karten:handValue(spielerHand), 50, 50)
-- love.graphics.print("Dealer Hand: " .. Karten:handValue(DealerHand), 50, 100)
-- love.graphics.print("Drücke 'H' für Hit oder 'S' für Stand", 50, 150)
end
function handleBlackjackInput(key)
function HandleBlackjackInput(key)
if key == 'h' then
hit(spielerHand)
if handValue(spielerHand) > 21 then
Karten:hit(spielerHand)
if Karten:handValue(spielerHand) > 21 then
love.graphics.print("Spieler hat verloren!", 50, 200)
end
elseif key == 's' then
while handValue(dealerHand) < 17 do
hit(dealerHand)
while Karten:handValue(DealerHand) < 17 do
Karten:hit(DealerHand)
end
if handValue(dealerHand) > 21 then
if Karten:handValue(DealerHand) > 21 then
love.graphics.print("Dealer hat verloren!", 50, 200)
elseif handValue(spielerHand) > handValue(dealerHand) then
elseif Karten:handValue(spielerHand) > Karten:handValue(DealerHand) then
love.graphics.print("Spieler gewinnt!", 50, 200)
else
love.graphics.print("Dealer gewinnt!", 50, 200)
@@ -40,10 +44,10 @@ function handleBlackjackInput(key)
end
end
function dealInitialCards()
function DealInitialCards()
for i = 1, 2 do
hit(spielerHand)
hit(dealerHand)
Karten:hit(spielerHand)
Karten:hit(DealerHand)
end
end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bmhicnjvqrotx"
path="res://.godot/imported/CuteCardsPixel.png-bbdbd180a598bcdd28e9cc85e1935838.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/CuteCards - asset pack/pixelCards/CuteCardsPixel.png"
dest_files=["res://.godot/imported/CuteCardsPixel.png-bbdbd180a598bcdd28e9cc85e1935838.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dm33tyrs31h6b"
path="res://.godot/imported/CuteCardsPixel_outline.png-a6e98435eaee73056b7affa8bbf5e1e2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/CuteCards - asset pack/pixelCards/CuteCardsPixel_outline.png"
dest_files=["res://.godot/imported/CuteCardsPixel_outline.png-a6e98435eaee73056b7affa8bbf5e1e2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d4lvd2ngebob7"
path="res://.godot/imported/PokerChipsPixel.png-c94cf11a09e7c8bc77d14bdf4442ee7e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/CuteCards - asset pack/pixelCards/PokerChipsPixel.png"
dest_files=["res://.godot/imported/PokerChipsPixel.png-c94cf11a09e7c8bc77d14bdf4442ee7e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@@ -1,3 +1,4 @@
local love = require "love"
function love.conf(t)
t.window.width = 350
end

View File

@@ -1,30 +1,28 @@
karten = {}
local love = require "love"
Karten = {}
function createDeck()
function Karten:createDeck()
local deck = {}
local suits = {"Herz", "Karo", "Pik", "Kreuz"}
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
end
function shuffleDeck(deck)
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
end
function hit(hand)
local card = table.remove(deck)
table.insert(hand, card)
end
function handValue(hand)
function Karten:handValue(hand)
local value = 0
local aces = 0
for _, card in ipairs(hand) do
@@ -40,5 +38,19 @@ function handValue(hand)
return value
end
return karten
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
end
return Karten

View File

@@ -6,11 +6,12 @@ require "blackjack"
function love.load()
love.window.setTitle("Spiele Auswahl")
currentScreen = "menu"
love.graphics.setBackgroundColor(0.30 ,0.30 ,0.46, 1)
end
function love.update(dt)
if currentScreen == "blackjack" then
updateBlackjack(dt)
UpdateBlackjack(dt)
end
end
@@ -18,7 +19,7 @@ function love.draw()
if currentScreen == "menu" then
drawMenu()
elseif currentScreen == "blackjack" then
drawBlackjack()
DrawBlackjack()
end
end
@@ -26,10 +27,10 @@ function love.keypressed(key)
if currentScreen == "menu" then
if key == '1' then
currentScreen = "blackjack"
loadBlackjack()
LoadBlackjack()
end
elseif currentScreen == "blackjack" then
handleBlackjackInput(key)
HandleBlackjackInput(key)
end
end