warum ist das jetzt kompliziert?
Das Programm "würfelt" doch sowieso, ob etwas kaputt geht, wenn ich etwas benutze.
Wenn das Programm jetzt würfelt, ob dein Wandersack kaputt geht, schaut es einfach welche Traglast du grad hast und nimmt die entsprechende Wahrscheinlichkeit.
Das ist eine Zeile Programmcode, null zusätzlicher Speicheraufwand und null Performancebelastung. Einfach in die Verschleißroutine ne Zuweisung:
aktuelleVerschleißrate:= Traglast * 0.05
und dann mit der aktuellen Verschleißrate weitermachen, statt mit der voreingestellten.
Und für Neulinge reicht auch eine einzige Zeile Erklärungstext:
"Du kannst Taschen und Rucksäcke mitnehmen, um mehr Waren zu transportieren. Aber vorsicht. Quetscht du sie zu voll, können die Taschen reißen und gehen schneller kaputt. Nimm also genügend Taschen und Rucksäcke mit, sodass alles gut Platz hat."
Die Gegenstände anlegbar zu machen ist deutlich komplizierter und aufwändiger. Der Gegenstand müsste dann eine Eigenschaft bekommen, nämlich "angelegt" oder "nicht angelegt". Man müsste dann neue Grafik programmieren, weil dem Spieler auch sichtbar sein muss, ob der Gegenstand angelegt ist oder sich nur im Inventar befindet. Es müsste an zig Stellen abgefragt werden, ob der Gegenstand angelegt ist. Und das alles kostet viel mehr Rechenzeit, als meine eine kleine Zeile Zuweisung, die mal in der Kaffeepause in den Quelltext reingeschrieben werden kann.
Zudem hätte meine Lösung sehr hübsche Seiteneffekte.
Man könnte auf die gleiche Weise sehr simpel einführen, dass Schuhe länger halten, wenn man ein Pferd zum Reiten hat.
Schuhverschleiß:= 0.02 - Reitpferd*0.01
wobei Reitpferd jeweils 0 oder 1 annehmen kann.