[Spiel] CityXXL - Hilfe bei Level System

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.
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Hallo Python-Forum,

Ich habe mir bei meinen Spiel eine Funktion Arbeit,
und da habe ich mir ein Level-System ausgedacht!
Nur ich komme mitt der Funktion nicht klar,
ich möchte bei einen bestimmten Wert ein Level aufsteigen lassen,
aber ich habe es durch eine Schleife laufen, und dann addiert das Programm
zuviel weil er alle übereinstimmenden Werte vergleicht, wie könnte ich das ändern,
dass es nur bei der bestimmten Punkteanzahl (z.B. 200 oder oder mehr, das z.B. das 2. Level ist) aufsteigt,
ohne das das erste mit addiert wird?

Code: http://paste.pocoo.org/show/557144/
Zeile: 258-267

Und könnt ihr mal bei Supermakt das System ankucken, vielleicht könnte ich das noch Kürzen.

MSG Jonas
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Niemand eine IDEE?
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Das könnte daran liegen, dass deine Code völlig chaotisch ist, eweig lange Funktionen vorkommen, Code doppelt und dreifach vorhanden ist, alle möglichen Fehlermeldungen blind verschluckt werden, keine sprechenden Namen vorhanden sind, deine Frage wirr ist und weil du offensichtlich nie die Hinweise umsetzt die wir dir geben. Das sind natürlich nur meine persönlichen Beweggründe.
Das Leben ist wie ein Tennisball.
lunar

@jtschosch: Nenne einen Grund, warum wir uns Deinen Quelltext antun(!) sollten, wo wir doch schon wissen, dass Du unsere Hinweise und Ratschläge ohnehin ignorieren wirst...
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Nein werde ich nicht, die Frage ist ja eigendlich genau die wie könnte ich die Funktionen kürzer, und das sie Richtig Funktionieren machen?

[Info]: der Code ist schon besser als der Alte, da habt ihr mir den Tip gegeben, das ich Nicht alles aus String machen soll, sondern Listen, Dict,... das habe ich gemacht, und Beim Supermarkt das ich nicht Alles einzeln definiere!
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

jtschoch hat geschrieben:Nein werde ich nicht, die Frage ist ja eigendlich genau die wie könnte ich die Funktionen kürzer, und das sie Richtig Funktionieren machen?
Dieser Mix aus Logik und Ausgaben ist nicht gut und völlig undurchsichtig.

Die Logik ist verkorkst. CityXXL repräsentiert vom Namen her eine Stadt. Das legen auch Daten wie "nahrungspreise" nahe. Plötzlich enthält diese Klasse aber auch Attribute des Spielers selber ("Gesundheit", "Level", ...). Zudem solltest du dich auf einen einzigen Stil der Namensgebung festlegen und da empfiehlt sich im Regelfall der in PEP-8 vorgeschlagene.

Du verwendest nur eine einzige Instanz der CityXXL-Klasse und hast darin die komplette Programmsteuerung integriert. In so einem Fall kannst du die Klasse auch komplett weglassen da sie keinen Mehrwert bringt.

Es gibt try-except-Statements ohne Angabe der Exception die du eigentlich abfangen möchtest.

Die Umständlichkeit des folgenden Codes siehst du hoffentlich selber, oder?

Code: Alles auswählen

if self.Level['punkte'] > LevelPunkte or self.Level['punkte'] == LevelPunkte:
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Ich verstehe noch nicht ganz was du meinst, und wie soll ich das genau mit den Namen machen?
[EDIT]: Nein, habe ich nicht ganz gesehen, weis aber das dieser Teil nicht funktioniert!
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
CasualCoding.org

Ich verstoße jetzt wahrscheinlich heftig gegen die Netiquette, denn ich bin neu hier im Forum, habe noch nicht einen einzigen Beitrag geschrieben, ganz zu schweigen von Sachbeiträgen, und ich sollte mich eigentlich zurückhalten. Aber ich habe gerade fast eine halbe Stunde deine ganzen Threads quergelesen, und ich kann grade den Mund nicht halten.

Du hast 317 (!!) Beiträge, und du bringst es trotz unzähliger Hinweise immer noch nicht fertig,

a) eine klare, verständliche, präzise und konkrete Frage zu stellen,
b) eine Suchmaschine zu bedienen,
c) einen Text mit > 3 Sätzen zu lesen,
d) Ratschläge anzunehmen und umzusetzen.

Alles, was ich von dir bisher gelesen habe, war entweder: "Ich will..., wie geht das?", oder aber: "Ich will..., aber das funzt net". Deine drei Postings, in denen du stolz erzählst, was du schon alles geschafft und programmiert hast, kann man reinen Gewissens unter den Tisch fallen lassen, geschafft und programmiert hast *du* nämlich noch gar nichts, weil all deine "Leistungen" vom Forum erbracht wurden.

So, wie ich das sehe, hast du zwei Möglichkeiten: Entweder, du fängst endlich mal an, Quellen zu *lesen* und Python von Grund auf zu *lernen*, oder du siehst ein, dass Programmieren nicht das richtige für dich ist und suchst dir ein anderes Hobby. Dein Rumgewurstel hier bringt dir gar nichts, es kommt nichts vernünftiges dabei heraus und so wie ich das bisher mitbekommen habe, geht es den Leuten hier eigentlich nur auf den Zeiger.
lunar

jtschoch hat geschrieben:Nein werde ich nicht, die Frage ist ja eigendlich genau die wie könnte ich die Funktionen kürzer, und das sie Richtig Funktionieren machen?
Dann, so fürchte ich, wird kaum noch jemand bereit sein, Dir in irgendeiner Form weiterzuhelfen. Für meinen Teil ist Schluss. Nimm Dir zu Herzen, was "SolitaryMan" gesagt hat...

@SolitaryMan: Nun, üblich ist sowas nicht gerade, doch Du sprichst mir aus der Seele. Und ich glaube, ich bin da nicht der Einzige ;)
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Ich habe die Dinge umgesetzt, nagut wenn das hier so eine unfreundliche Community ist, dann suche ich mir ein anderes Forum,
ich habe jetzt auch ein eigenes:

http://jtschoch.jt.funpic.de/forum/
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
deets

@jtschoch

Da wirst du dich dann mit dir selbst schoen unterhalten koennen - wie in deinem eigenen tkinter-Forum.

Und hier ist niemand unfreundlich. Im Gegenteil - der Langmut, der dir entgegengebracht wurde, ist aussergewoehnlich. Aber da du dich einfach nicht lernfaehig zeigst, ist das Mass jetzt halt voll, und keiner mag dir mehr helfen.
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Ich musste schon schmunzeln als ich sah, dass ausgerechnet das Programmierunterforum gesperrt ist.
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Das ist nicht Gespert, in der Forum sind nochmal 2 Forumen und man soll in Programmierung kein Beitrag reinschreiben. Es bezieht sich nicht auf das Ganze!
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
deets

Jonas, was glaubst du denn, was in deinem Forum passiert? Wer soll denn da bitteschoen hingehen? Du kannst ihm oder ihr nunmal bei nix helfen. Hier sind hingegen jede Menge Leute, die von vielen verschiedenen Themen rund um Python Ahnung haben. Also werden die Leute *hierher* kommen, bzw. bleiben.

Statt deine Energie damit zu verschwenden, Foren oder Google Gruppen anzulegen, oder die Python Mailingliste mit denselben Problemen zu belaestigen wie dieses Forum hier - wie waere es mal, dich darauf zu konzentrieren all das umzusetzen, was wir dir sagen? Und konzentrieren ist das Stichwort - saubere Postings schreiben, Code in Tags setzen, Exceptions posten usw.

Und vor allem: klein anfangen. Ohne GUI. Mal was simples. Und das dann endlich mal verstehen. Sonst wird das nie was.
CasualCoding.org

Unfreundlich? War das ein Scherz? Die Geduld, die dir hier entgegengebracht wird, habe ich so noch in *keinem* anderen Forum erlebt. Trotz der Tatsache, dass du dich nicht *einmal* bemühst, wirklich etwas zu lernen oder zu verstehen, und wie ein Meerschweinchen auf Speed von Frage zu Frage springst und alles dazwischen Gesagte gar nicht wahrnimmst, wurde dir in *jedem* deiner Threads ein Fix-und-Fertig-Codeschnippsel serviert, und das völlig gratis. Im c-plusplus.de Forum wärst du mit deinem Verhalten schon nach 20 "Beiträgen" hochkant rausgeflogen, und im java-forum.de würdest du schon lange bestenfalls noch als Troll zur allgemeinen Belustigung dienen.
lunar

@SolitaryMan: Meerschweinchen auf Speed ;)
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Ihr könnt ja jetzt ein EXTRA Thema erstellen, wo ihr über mich Diskutieren könnt (und der Forum).
Ich werde es in Zukunft versuchen bessere Beiträge zu Schreiben.
Ich bin ja noch nicht der Python-Profi und es müssen doch noch nicht alle Profies sein wie ihr, oder?
Ihr habt auch mal angefangen zu lernen und Beiträge geschrieben, und das Forum ist da Probleme zu Posten und nicht nur "Perfeckte Code". Ich lerne halt noch Python ich hatte mal ein Jahr aufgehöhrt und dann "jetzt wieder über ein Jahr wieder Code geschrieben". Ich habe mich erst mit den Thema Objektierte Programmiereung beschäftigt, und ihr könntet mir ja mal dein einen oder anderen Tip geben! Ich werde auch eure Tips, wenn möglich umsetzen. Ich bin auch erst 14 Jahre alt, ihr seit doch um die 20, oder?

-------------------------------------------------------------------
Code in Tags setzen
Das mache ich immer!
-------------------------------------------------------------------

Kuckt euch doch mal den alten Code von CityXXL an, dann bemerkt ihr schon das ich einiges verbessert habe, nur ich komme
bei diesenFunktionen nicht so Richtig klar, weil ich sowas noch nicht gemacht habe, und gerade mit Schleifen.
Mit Schleifen habe ich mich zwar beschäftigt, aber ich sehe irgendwann in große Funktionen nicht mehr durch.


-------------------------------------------------------------------

In meinen Forum sind ausserdem schon 3 Mitglieder!
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Vielleicht wäre es ja die bessere Lösung für dich wenn du Spiele erstmal in Ruhe lässt und stattdessen lernst kleinere Programme ordentlich und elegant aufzubauen. Anregungen dürftest du mehr als genug finden. Solltest du darin richtig gut werden, kannst du dich später noch an OOP und größeres wagen.
Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

jtschoch hat geschrieben:ich komme
bei diesenFunktionen nicht so Richtig klar, weil ich sowas noch nicht gemacht habe, und gerade mit Schleifen.
Mit Schleifen habe ich mich zwar beschäftigt, aber ich sehe irgendwann in große Funktionen nicht mehr durch.
Das solltest du noch üben. Das sind ganz wichtige Grundlagen. Dann macht man lieber viele kleinere Funktionen. Dadurch bleibt es auch übersichtlicher, wie du ja schon gemerkt hast.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Wo denn zum Beispiel könnte ich eine Kleinere Funktion machen?
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Antworten