Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

51

27.02.2012, 16:32

Zitat

Ausnahmeinformationen: System.IO.FileNotFoundException

Zitat

bei WindowsGame1.Program.Main(System.String[])

CharlesDarwin

Frischling

  • »CharlesDarwin« ist der Autor dieses Themas

Beiträge: 25

Beruf: Visionär

  • Private Nachricht senden

52

27.02.2012, 19:17

Zitat

Mach es nur nicht zu kompliziert.
Das werde ich befolgen. Es beginnt mir schon jetzt über den Kopf zu wachsen. Ständig stimmen Indices nicht oder es gibt Fehler die kaum noch nachvollziehbar sind.

Zitat

Wenn dir zum Beispiel ein paar Buttons reichen, dann hast du
die Funktionalität dafür schneller geschrieben, als ein WPF Projekt mit XNA
kombiniert, oder eine Engine eingebunden und eingerichtet. Da musst du dann ein
bisschen abschätzen.
Das wird reichen. Ich wollte nur einige Variablen während der Laufzeit steuerbar machen.

Zitat

Kannst du die Seeds die du benutzt um den Zufallsgenerator zu initialisieren nicht als Presets anbieten wenn sie denn gute Ergebnisse liefern?
Das kann für die Präsentation sinnvoll sein. Ich habe die rnd Funktion dazu schon gesehen.

@Sound~Wave
Danke für die Rückmeldung.
[table]Ausnahmeinformationen: System.IO.FileNotFoundException bei WindowsGame1.Program.Main(System.String[])[table]

Wie interpretiere ich das nun?
Es stimmt etwas mit einem eingeblendeten Text nicht?
Schriftart nicht vorhanden?


Eine neue Version wird bald folgen. Das Beamen klappt schon. Die Genträger "leben" nun in einer Donut-Welt.

Außerdem gibt es neue Grafikmodi. Man hat jetzt z.B. einen "Röntgenblick" für den Zellstoffwechsel.



Die Kamerabewegung ist nun tastaturgesteuert und sehr flüssig, da sie gepuffert wird.

Außerdem habe ich etwas entdeckt, dass eventuell eine weitere massive Steigerung der Leistungsfähigkeit der Engine ermöglicht.

Was jetzt ansteht ist die Erklärung der Zellen. Und erneutes Feintuning des Zellstoffwechsels. Wenn ich wüsste wie würde ich auch die Kompatibilität verbessern.

LG

Harry222

Alter Hase

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

53

27.02.2012, 19:24

[table]Ausnahmeinformationen: System.IO.FileNotFoundException bei WindowsGame1.Program.Main(System.String[])[table]

Wie interpretiere ich das nun?
Es stimmt etwas mit einem eingeblendeten Text nicht?
Schriftart nicht vorhanden?
Zur genauen Erklärung:
Da steht System.IO.FileNotFoundExeption und da in System.IO auch Funktionen drin sind, mit der man eine Datei öffnen kann und er da scheinbar eine Datei nicht findet (FileNotFound), vermute ich, dass du versuchst eine Datei zu öffnen, die nicht exestiert!
bei WindowsGame1.Program.Main(System.String[]) heißt einfach, dass der Fehler in deiner Main-Funktion entsteht!

Mfg Harry222

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

54

27.02.2012, 20:04

bei WindowsGame1.Program.Main(System.String[]) heißt einfach, dass der Fehler in deiner Main-Funktion entsteht!

Haha, und da er vermutlich nirgens Exceptions abfängt und die Mainfunktion alles beinhaltet, heißt es, dass der Fehler irgendwo im Programm ist :D
Oder ists wie in Java, wo man ans Ende der Methode "throws..." deklarieren muss? Bin grad net so fit in C# exceptions^^
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

55

28.02.2012, 00:32

Nein muss man bei C# nicht. Aber wie schon gesagt. Da wird versucht eine Datei zu öffnen. Machst du selbst was mit Dateien? Ansonsten könnte es eine Datei von Xna sein. Vielleicht eine Textur oder etwas anderes. Wobei ich fast vermuten würde, dass es da eine andere Fehlerroutine gibt. Mit Schriftarten geht Xna wie mit anderen Contentdaten auch um. Es wird in ein Binärformat umgewandelt. Diese Daten tragen die Endung xnb. Diese Daten sollten dann alle in dem Contentordner drin stecken. Bei mir lief alles, von daher würde ich behaupten, dass die Contentdatein soweit ok sind. Du könntest ja mal neu laden.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

CharlesDarwin

Frischling

  • »CharlesDarwin« ist der Autor dieses Themas

Beiträge: 25

Beruf: Visionär

  • Private Nachricht senden

56

28.02.2012, 08:48

Hi,

Zitat

vermute ich, dass du versuchst eine Datei zu öffnen, die nicht exestiert!
Kann man rausfinden welche? Außer 10 Texturen und 2 Schriftarten wird nichts an Content geladen. Ich greife eig. auch nicht auf andere Dateien zu.

Zitat

Haha, und da er vermutlich nirgens Exceptions
Bisher habe ich keine Ahnung was das ist. Ich werde es googeln und dann vielleicht Exceptions einfügen.

Zitat

Bei mir lief alles, von daher würde ich behaupten, dass die Contentdatein soweit ok sind.
Das klingt logisch.

Zitat

Du könntest ja mal neu laden.
Würde empfehlen auf die nächste Version zu warten. Die müsste ich bald fertig haben. Vielleicht schon am Abend. Ich kann versprechen, dass es alles sehr rund läuft und Erklärungen dabei sind.

Gibt es Textfelder mit autom.
Zeilenumbruch? Hat jemand eine Funktion die die Texte in Zeilen
einteilt? So ist das sehr nervig mit der Spritebatch.Drawstring().

Das neue Zell-Interaktionsprinzip funktionirt sehr gut. In dem neuen Grafikmodus wird man das pulsierende Interagieren und Arbeiten der Zellen beobachten.


LG

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

57

28.02.2012, 11:41

Du kannst mir \n einfach einen Zeilenumbruch in deine Strings machen. Die DrawString Methode von Xna setzt das dann automatisch um.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

CharlesDarwin

Frischling

  • »CharlesDarwin« ist der Autor dieses Themas

Beiträge: 25

Beruf: Visionär

  • Private Nachricht senden

58

28.02.2012, 17:14

Danke für den Tipp.

In Bezug zu der laufenden Chat Diskussion:

Hier entsteht der Fehler: if (Sektor_Zellindex[SX, SY, n] == -1) .SX oder SY werden zu groß/klein.

Assoziierter Source Code:

Konstanten:

C#-Quelltext

1
2
3
4
5
6
7
8
        const int AnzahlId = 2000;//ist eh egal kann ruhig viel sein
        const int MaxZGesamt = 3500;
        const int MaxZTypen = 6;
        const int MaxSGesamt = 200;
        const int Fenstergröße = 900;

        const int Weltgröße = 2000;
        const int SektorenAnzahl = 130;


Deklaration:

C#-Quelltext

1
2
        double Sektorengröße;//
        int[, ,] Sektor_Zellindex = new int[SektorenAnzahl + 2, SektorenAnzahl + 2, MaxZProSektor]; // (SektorX, SektorY, Indexnummer)


Initialisierung:

C#-Quelltext

1
            Sektorengröße = Weltgröße / SektorenAnzahl;


C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
protected void Update_ZellEngine_InSektorSortieren(int ZIndex)
        {

            if (Z_Position[ZIndex].X > Weltgröße - Sektorengröße)
            {
                Z_Position[ZIndex].X = Weltgröße / 2;//Zelle wird in die Mitte versetzt.
                Z_Typ[ZIndex] = -1;//Zelle wird deaktiviert.
            }
            if (Z_Position[ZIndex].Y > Weltgröße - Sektorengröße)
            {
                Z_Position[ZIndex].Y = Weltgröße / 2;
                Z_Typ[ZIndex] = -1;
            }
            if (Z_Position[ZIndex].X < (Sektorengröße))
            {
                Z_Position[ZIndex].X = Weltgröße / 2;
                Z_Typ[ZIndex] = -1;
            }
            if (Z_Position[ZIndex].Y < (Sektorengröße))
            {
                Z_Position[ZIndex].Y = Weltgröße / 2;
                Z_Typ[ZIndex] = -1;
            }

            int n;


            int SX = (int)(Z_Position[ZIndex].X / (float)Sektorengröße);
            int SY = (int)(Z_Position[ZIndex].Y / (float)Sektorengröße);

            for (n = 0; n < MaxZProSektor; n++)
            {
                if (Sektor_Zellindex[SX, SY, n] == -1)
                {
                    Sektor_Zellindex[SX, SY, n] = ZIndex;
                    n = MaxZProSektor;
                };

            };
        }



EDIT:
Danke Marrrrk für die Hilfe. Das Problem ist behoben.

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »CharlesDarwin« (28.02.2012, 18:52)


CharlesDarwin

Frischling

  • »CharlesDarwin« ist der Autor dieses Themas

Beiträge: 25

Beruf: Visionär

  • Private Nachricht senden

59

29.02.2012, 15:21

Die Version die ich euch jetzt präsentiere läuft nahezu perfekt. Sie erfüllt alle meine Anforderungen.

Es gibt Erklärungen mit Bildern neue Kameramodi und Steuerung sowie eine endlich funktionierende 2D - Donut - Welt.

Ansonstem hoffe ich ihr ladet die Software mal runter und gebt mir Feedback.
DOWNLOAD
Einfach par Mal starten und 5 Minuten laufen lassen.

Das Programmieren mit C# macht mir durch den schnellen Erfolg viel Spaß.
Eine weitere Geschwindigkeitsoptimiereung sowie die Verwendung von
Klassen würden mich reizen. Leider habe ich keine Kentnisse die über
Schleifen hinausgehen. Vielleicht findet sich jemand der den Sourcecode
mal ansieht und klassen einfügt an denen ich mich orientieren könnte?


LG

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

60

29.02.2012, 16:25

Das dürfte sehr Aufwendig sein in dem Projekt Klassen einzufügen;) C# ist auch eine schöne Sprache. Kauf dir doch vielleicht einfach mal ein Buch darüber oder guck mal hier. Das wäre eine freie Variante die du online lesen kannst. Durch Objektorientierung kannst du deinen Code viel mehr Strukturieren und bringst viel mehr Übersicht hinein. Je größer ein Projekt umso glücklicher wirst du über die Strukturierung sein. Gucks dir einfach mal an. Ist überhaupt nicht schwer. Ob du es dann nachträglich einbauen möchtest wäre die Frage. Da würde es vermutlich mehr Sinn machen ein neues Projekt zu beginnen. Vielleicht hast du ja lust das selbe Projekt noch mal objektorientiert zu schreiben, wobei du dich ja teilweise an deinen alten Code halten kannst. Ansonsten hast du ja vielleicht auch Ideen für neue Sachen oder machst möglicherweise eine Erweiterung zu der Simulation. Gibt es ja viele Möglichkeiten zu. Werde mir die aktuelle Version heute Abend mal angucken.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige