Compare commits
2 Commits
4ccfa4b12e
...
686f6d8962
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
686f6d8962 | ||
|
|
b9cf171776 |
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"diagnostics.globals": [
|
||||
"currentScreen",
|
||||
"drawMenu"
|
||||
"drawMenu",
|
||||
"spielerHand"
|
||||
]
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
BIN
cards_asset_pack/CuteCards.png
Normal file
BIN
cards_asset_pack/CuteCards.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 82 KiB |
34
cards_asset_pack/CuteCards.png.import
Normal file
34
cards_asset_pack/CuteCards.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://508ltkqucq7a"
|
||||
path="res://.godot/imported/CuteCards.png-a691dafeb8615d7c1003502272afbc35.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/CuteCards - asset pack/CuteCards.png"
|
||||
dest_files=["res://.godot/imported/CuteCards.png-a691dafeb8615d7c1003502272afbc35.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
|
||||
BIN
cards_asset_pack/CuteCards_outline.png
Normal file
BIN
cards_asset_pack/CuteCards_outline.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 85 KiB |
34
cards_asset_pack/CuteCards_outline.png.import
Normal file
34
cards_asset_pack/CuteCards_outline.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dqm1cu22dfech"
|
||||
path="res://.godot/imported/CuteCards_outline.png-37c08f2c7da86fe4b37b1043f010f835.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/CuteCards - asset pack/CuteCards_outline.png"
|
||||
dest_files=["res://.godot/imported/CuteCards_outline.png-37c08f2c7da86fe4b37b1043f010f835.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
|
||||
BIN
cards_asset_pack/PokerChips.png
Normal file
BIN
cards_asset_pack/PokerChips.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
34
cards_asset_pack/PokerChips.png.import
Normal file
34
cards_asset_pack/PokerChips.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://buyp5s1dgho3y"
|
||||
path="res://.godot/imported/PokerChips.png-48cfeaecb5166f271837eaba1eefc640.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/CuteCards - asset pack/PokerChips.png"
|
||||
dest_files=["res://.godot/imported/PokerChips.png-48cfeaecb5166f271837eaba1eefc640.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
|
||||
34
cards_asset_pack/README.txt
Normal file
34
cards_asset_pack/README.txt
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
--- THANK U -----------------
|
||||
|
||||
Thank you for downloading this Cute Card Set :) hope you like it and find it usefull
|
||||
This project it's idependent. But was originaly made as part of a Super Pixel Card Set, comming in the future,
|
||||
follow me on itch.io to see the updates. @danimaccari -> https://dani-maccari.itch.io/
|
||||
|
||||
|
||||
--- HOW TO USE --------------
|
||||
|
||||
The pack contains 60 diferent cards 15 in each row
|
||||
|
||||
Each Card is 100x144 pixels
|
||||
|
||||
Each row contains one color
|
||||
Clubs
|
||||
Diamonds
|
||||
Spades
|
||||
Hearts
|
||||
|
||||
Contains two joker designs, two fade down cards and two blank cards
|
||||
|
||||
There are 15 POKER CHIPS each one 76x76 pixels
|
||||
|
||||
--- PIXEL ASSETS -----------
|
||||
|
||||
Each Card is 25x36 pixels
|
||||
Each Chip is 19x19 pixels
|
||||
|
||||
--- LICENSE ----------------
|
||||
|
||||
This pack is free for personal or comercial use as long as it's atributed to DANI MACCARI.
|
||||
You are free to edit the sprites as much as you want.
|
||||
You may not repackage, redistribute or resell the assets, no matter how much they are modified. - This includes NFTs.
|
||||
1
conf.lua
1
conf.lua
@@ -1,3 +1,4 @@
|
||||
local love = require "love"
|
||||
function love.conf(t)
|
||||
t.window.width = 350
|
||||
end
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
|
||||
34
karten.lua
34
karten.lua
@@ -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
|
||||
|
||||
9
main.lua
9
main.lua
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user