Ich arbeite momentan an einem Kartenspiel mit Python und Kivy. Als letztes habe ich ein Hintergrundbild hinzugefügt. Allerdings lässt sich jetzt der Text nicht mehr so gut lesen.
Ich bräuchte dabei Hilfe, den Text irgendwie hervorzuheben. (Den Text, den ich meine, findet man in der kv-Datei bei "Label" oder in der AppVariables.py-Datei unter
Code: Alles auswählen
return '{1} {0}'.format(cardRanks[rank-1], cardSuits[suit-1]) + " -> Aufgabe: "f"{the_task}"
Vielen Dank und beste Grüße!
Hier die Codes:
main.py:
Code: Alles auswählen
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
from kivy.properties import ObjectProperty
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.core.window import Window
from kivy.core.image import Image
from kivy.graphics import BorderImage
from kivy.graphics import Color, Rectangle
from kivy.uix.image import AsyncImage
from AppVariables import *
class ScreenOne(Screen):
pass
class ScreenTwo(Screen):
pass
class ScreenThree(Screen):
pass
class Manager(ScreenManager):
screen_one = ObjectProperty(None)
screen_two = ObjectProperty(None)
screen_three = ObjectProperty(None)
class Background(BoxLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
pass
class ScreensApp(App):
def build(self):
return Manager()
def draw_card(self, *args):
some_var = draw_a_card(self, args)
print(some_var)
self.root.screen_two.ids.mylabel.text = some_var
if __name__ == "__main__":
ScreensApp().run()
Code: Alles auswählen
#:kivy 1.11.0
#:import WipeTransition kivy.uix.screenmanager.WipeTransition
<Manager>:
canvas.before:
Rectangle:
pos: self.pos
size: self.size
source: 'Jacky.jpg'
transition: WipeTransition()
screen_one: screen_one
screen_two: screen_two
screen_three: screen_three
ScreenOne:
id:screen_one
name: "Screen1"
text: "Okay!"
ScreenTwo:
id: screen_two
name: "Screen2"
ScreenThree:
id: screen_three
name: "Screen3"
text: "Okay!"
<ScreenOne>:
Button:
text: "Wir wollen trinken!"
on_press: root.manager.current = 'Screen2'
size_hint: 0.3, 0.2
pos_hint: {"x":0.35, "y":0.2}
<ScreenTwo>:
Button:
text: "Aufhören, ich bin voll!"
on_press: root.manager.current = 'Screen3'
size_hint: 0.3, 0.2
pos_hint: {"x":0.35, "y":0.1}
Button:
text: "Karte ziehen" # Draw Card
on_press: app.draw_card()
size_hint: 0.3, 0.2
pos_hint: {"x":0.35, "y":0.3}
Label:
id: mylabel
text: ""
color: 1,0,0,1
canvas.before:
Color:
rgba: 0, 0, 0, 1
size_hint: 0.3, 0.2
pos_hint: {"x":0.35, "y":0.6}
<ScreenThree>:
Button:
text: "Okay!"
on_press: root.manager.current = 'Screen1'
Code: Alles auswählen
from random import randint
# Global variables
cardSuits = ['PIK', 'HERZ', 'KARO', 'KREUZ']
courtCards = ['BUBE', 'DAME', 'KÖNIG']
cardRanks = ['ASS'] + ['{}'.format(x) for x in range(7, 11)] + courtCards
cardsDrawn = []
tasks = ["unused!", "Du musst 5 Schlücke trinken!", "Alle müssen 3 Schlücke trinken!", "Verteile 3 Schlücke!", "Derjenige, der am wenigsten getrunken hat, holt 3 Schlücke nach!", "Themenspiel und 3 Schlücke für den Verlierer!", "Alle Buben trinken 3 Schlücke!", "Alle Damen trinken 3 Schlücke!", "Wasserfall!"]
# Functions
def draw_a_card(self, *args):
# Ein Skatdeck hat 32 Spielkarten
if len(cardsDrawn) >= 32:
print("\tcards_drawn=", sorted(cardsDrawn))
return 'Alle Karten wurden ausgeteilt!'
# Satz mit 32 Spielkarten; 8 von Herz, Kreuz, Karo und Pik
suit = randint(1, 4)
rank = randint(1, 8)
card = '{0}-{1:02d}'.format(suit, rank)
the_task = tasks[rank]
if card not in cardsDrawn:
cardsDrawn.append(card)
return '{1} {0}'.format(cardRanks[rank-1], cardSuits[suit-1]) + " -> Aufgabe: "f"{the_task}"
else:
return draw_a_card(self, args)