keikoro / Hangman

A Hangman game programmed in Python
MIT License
4 stars 2 forks source link

ugly espeak/linux text output #14

Closed horstjens closed 11 years ago

horstjens commented 11 years ago

when working with espeak under linux, every time espeak makes sound output there are lot's of ugly text messages cluttering the screen due to sound card installation problems.

todo: research espeak manpage to avoid text output / research sound card error messages

yipyip commented 11 years ago

espeak mit espeak > /dev/null 2>&1 aufrufen. Das unterdrueckt die Fehlermeldungen. Solange espeak funktioniert, muss man erstmal nicht auf den ueblichen Linux-Sound-Driver/Server Wirrwarr achtgeben. ;-) yipyip

keikoro commented 11 years ago

danke @yipyip! @horstjens gesehen?

btw. @horstjens: schlage vor, dass ich das spiel mal "für mich" soweit fertig mach, dass bei mir alles passt und ein separates repo mit ner fork anlegen (vielleicht gleich bei dir) für weiterentwicklung/anpassung für das python game book bzw. auch problemlösungen, die mich jetzt nicht direkt betreffen (wie z.b. die espeak-fehlermeldungen). dann bleiben in diesem repo meine "kursleistungen" quasi erhalten. (; was meinst du?

yipyip commented 11 years ago

@kerstin: Was du auch jetzt schon beherzigen solltest: 1) 4 Leerzeichen, nicht 8, der Editor (Geany?) macht das ja automatisch... 2) erst das eigentliche "Hangman Problem" loesen, danach kommen espeak, verschiednen OS, etc. Nicht alles auf einmal. 3) Statt stringtogether gibt es join(). http://www.diveintopython.net/native_data_types/joining_lists.html 4) Alles in Funktionen packen!

Hoffe, nix fuer ungut ;-) Dirk

keikoro commented 11 years ago

@yipyip Danke für das Feedback! Zu Deinen Punkten:

yipyip commented 11 years ago

http://google-styleguide.googlecode.com/svn/trunk/pyguide.html#Python_Style_Rules Das sind Regeln, die den Umgang mit Quellcode vereinfachen, keine Gesetze, die alles noch komplizierter machen. ;-) Dirk

yipyip commented 11 years ago

https://gist.github.com/yipyip/6038584 :-)

keikoro commented 11 years ago

@yipyip Den Style Guide werd ich mir bookmarken, danke!

Und ich glaub Dir eh, dass Du das auch programmieren kannst ;) v.a. auch viel schneller und mit weniger Zeilen Code als ich, aber hier geht's ja um keinen Wettbewerb, sondern darum, dass ich erste Basics lerne. Der allerschönste Code muss es derzeit noch nicht sein!

keikoro commented 11 years ago

setting #14 invalid as it's not an issue with the program itself

yipyip commented 11 years ago

On 07/19/2013 05:57 PM, Kay wrote:

@yipyip Den Style Guide werd ich mir bookmarken, danke!

Und ich glaub Dir eh, dass Du das auch programmieren kannst ;) v.a. auch viel schneller und mit weniger Zeilen Code als ich, aber hier geht's ja um keinen Wettbewerb, sondern darum, dass ich erste Basics lerne. Der allerschönste Code muss es derzeit noch nicht sein!

--- Reply to this email directly or view it on GitHub: https://github.com/kerstin/spielend-programmieren/issues/14#issuecomment-21258751

Ich will dir nicht zeigen, dass ich es schneller, besser, schoener kann. Ich will dir klarmachen, dass du dir einen riesigen Haufen an Spaghetticode aufbaust, bei dem keiner nachher mehr durchfindet. Du hast endlose ifs und elses und hier noch ne Variable und da auch noch. Du solltest: All die vielen kleinen Teilprobleme identifizieren. Fuer jedes Teilproblen ein kleine Funktion schreiben, die nur dieses Problem loest. Und dann mit mit diesen Funktionen ein groesseres Problem loesen... bis das Programm steht.

Beispiel output:

Du willst Text und Sprache. Also schonmal Probleme A und B. Bei Sprache einmal als Gesamttext und einmal buchstabiert. Also teilt sich B noch in 2 Probleme auf.

Dann kann man output definieren als (nur als Beispiel):

def output(text, opts=('print', 'letters')):

if 'print' in opts:
   print(text)
if 'letters' in opts:
   speak_letters(text)
elif 'words' in opts:
   speak_words(text)

usw. und dann die einzelnen Funktionen definieren. Wenn noetig auch hier wieder Unterfunktionen bauen.

Ich moechte dich nur dazu bringen, etwas mehr in Richtung Codeorganisation mit Funktionen zu denken.

;-) Dirk P.S. Ich weiss, dass ich da etwas penetrant bin.