im gui Text und Zahlen ausgeben?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
M&M's_Knabberer
User
Beiträge: 34
Registriert: Sonntag 27. September 2015, 17:05

Hab mal ne Frage.. wie kann man im pygame Gui Text und Zahlen ausgeben?

Code: Alles auswählen

import random, easygui, pygame, sys

pygame.init()
pygame.mixer.init()


screen = pygame.display.set_mode([640,480])
screen.fill([255,255,255])

pygame.time.delay(1000)






punkte = 0
while True:
    
    

    
    

    pygame.mixer.music.load("C:\Users\Chris\Desktop\Hello World Pygame\Beispiele\hintergrund_musik.mp3")
    pygame.mixer.music.set_volume(0.30)
    pygame.mixer.music.play()
    klang = pygame.mixer.Sound("AvastGotIt.wav")
    klang.set_volume(0.50)
    klang.play()

    s1 = 'Hallo Welt'
    pygame.draw.rect(screen, [0,0,0], [5,5,350,280], 0)
    f1_font = pygame.font.Font(None, 70)
    f1_surf = f1_font.render(s1, 1 , (255,255,255))
    screen.blit(f1_surf, [20,50])
    pygame.display.flip()




    
    zahl1 = random.randint(1, 9)
    zahl2 = random.randint(1, 9)

    s2 = 'Was ist', zahl1, '+', zahl2, '?'
    
    f1_font = pygame.font.Font(None, 70)
    f1_surf = f1_font.render(s2, 1 , (255,255,255))
    screen.blit(f1_surf, [20,50])
    pygame.display.flip()
        
    ergebnis = zahl1 + zahl2
    frage = input('was ist das Ergebnis? ')
    print '' , ''

    if frage == ergebnis:
        punkte = punkte +1
        print 'richtig! du erhällst 1 punkt!'
        print '', ''
        print' Punktanzahl', punkte
        print '',''

    else:
        print 'leider falsch!'
        punkte= punkte -1
        print 'Dir wird 1 Punkt abgezogen!'
        print '', ''
        print ' verbleibende Punkte: ',punkte
        print '',''

        
    if punkte == 10:
        easygui.msgbox('Du hast 10 Aufgaben richtig gelöst!')
       

 

Code: Alles auswählen

s1 = 'Hallo Welt'
    pygame.draw.rect(screen, [0,0,0], [5,5,350,280], 0)
    f1_font = pygame.font.Font(None, 70)
    f1_surf = f1_font.render(s1, 1 , (255,255,255))
    screen.blit(f1_surf, [20,50])
    pygame.display.flip()
damit kommt schonmal Text..

Das ist mein Programm/kleines Mathespiel :) jedenfalls sollen die Matheaufgaben halt auf dem Screen erscheinen... wie mache ich das am besten?
Wäre wirklich dankbar für nen Rat, in meinem Buch find ich darüber leider nicht so viel :(
BlackJack

@M&M's_Knabberer: Du musst die Zahlen in eine Zeichenkette umwandeln. Wenn Du mehrere Werte in eine Zeichenkette formatieren möchtest, dann solltest Du Dich an die `format()`-Methode auf Zeichenketten erinnern, die sicher irgendwo bei den Python-Grundlagen in Deinen Quellen vorkam. :-)

Allerdings ist Pygame hierfür vielleicht keine so gute Wahl, denn irgendwann möchtest Du den Benutzer vielleicht auch das Ergebnis eingeben lassen und für Texteingaben hat Pygame nichts fertiges an Bord, das müsste man sich selber programmieren. Ich sehe für ein Zahlenratespiel jetzt auch nicht so wirklich den richtigen Einsatzzweck für eine Low-Level-Grafikbibliothek. Da könnte man von einer GUI-Bibliothek eher profitieren.
Antworten