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

BlackViper

Frischling

Beiträge: 12

Wohnort: Dortmund

Beruf: InformatikStudent

  • Private Nachricht senden

11

10.08.2005, 13:11

Wieviel und was .. ^^

Richtig, David. Ich zeige aber meinen Code nie direkt zu Anfang, nur um dann festzustellen,
daß ich einen Fehler auch selbst hätte feststellen können, da würde ich mir den Lerneffekt verbauen.
Code posten mach ich erst, wenn ich wirklich nicht mehr drumherum komme und ich wirklich konkrete Hilfestellung bräuchte. ^^
Gut, aus Fehlern lernt man/frau, aber wäre es, wenn ein Newbie mal fragt, nicht verkehrt, ihm zu ein Tip zu geben wie ..
"Schau Dir mal die und die Funktion an".. oder einen Ratschlag mitzugeben wie
"Achte dabei auf dieses und jenes Problem" (denn immerhin stossen alle Anfänger auf die gleichen Probleme!)
So viele verschiedene Lösungen gibts ja nicht, denn im Prinzip kommt man um die zentralen Funktionsaufrufe nicht herum.

Meine Kritik sollte nicht als Vorwurf oder als Vorderung nach vollständigen Lösungen rübberkommen,
sondern den Wunsch ausdrücken, daß vielleicht von Erfahrenen ein leichter roter Faden für das selbständige Lösen
der Aufgaben mitgegeben werden könnte.

BlackViper
Fürchte nicht langsam zu gehen,
fürchte nur, stehen zu bleiben.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

12

10.08.2005, 13:44

Zitat von »"koschka"«

Dann kann man das aus einer Ini machen. Weitere Details siehe GetProfileString oder wenn du Davids Buch hast: Siehe die IniFile Funktionen (auch im Buch beschrieben)


wenn das kein roter Faden ist, dann brauchst du die Holzhammer-methode.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

13

10.08.2005, 15:14

Der Mann mit dem dicken Hammer

Ich hab hoffentlich nichts übersehen, denn von GetProfileString oder der IniFile-Funktionen hab ich bis dahin noch nichts gelesen.
Ich bin genauso wie "Anfänger" im Kapitel 2.2.8 und wollte das Buch von David der Reihe nach durcharbeiten (bin noch nicht bei Seite 575!)

Ich werd' später ggf. meinen Code posten, aber vorher will ich noch a bisserl frickeln, damit's nicht zu peinlich wird und Nox mir noch was mitm Hammer überzieht.. tsts :rolleyes:

Blacky

BlackViper

Frischling

Beiträge: 12

Wohnort: Dortmund

Beruf: InformatikStudent

  • Private Nachricht senden

14

10.08.2005, 15:16

hm?? ich bin wieder ausgeloggt worden?

15

12.08.2005, 12:29

Hihi ^_^ ich glaub ich habs.

C-/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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <fstream>
#include <TriBase.h>
#include <iostream>

using namespace std;

// Windows-Hauptfunktion

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    char *CmdLine, int iCmdShow)
{

    // TriBase-Engine initialisieren

    tbInit ();

    //*********************************************************************************************************************

    // Matrix und Vektoren Speichern

    
    // Variablen

    int iNumVectors = 4;

    // Speicher reservieren

    tbVector3 *vektor = (tbVector3 *) tbMemAlloc (sizeof (tbVector3) * iNumVectors);

    for (int i=0; i < iNumVectors; i++)
    {
        vektor[i] = tbVector3Random ();
    }

    // Identitätsmatrix erzeugen

    tbMatrix Matrix (tbMatrixTranslation(tbVector3 (100.0f, 15.0f, 63.0f)));

    tbWriteMatrixToLog (Matrix);

    // Datei zum Schreiben öffnen und die Vektoren und die Matrix hineinschreiben

    ofstream Output ("Eingabe.txt", ios::binary);
    Output.write ((char *) &Matrix, sizeof(Matrix));

    for (i=0; i < iNumVectors; i++)
    {
        Output.write ((char *) &vektor[i], sizeof(vektor[i]));
        tbWriteVector3ToLog (vektor[i]);
    }

    // Datei schließen 

    Output.close ();

    tbWriteToLog ("--------------------------------------------------------------------------------------------------------");

    //*********************************************************************************************************************

    // Vektoren auf null setzen und Matrix mit der Identitätsmatrix füllen

    for (i=0; i < iNumVectors; i++)
    {
        vektor[i] = (0.0f, 0.0f, 0.0f);
    }

    Matrix = tbMatrixIdentity();



    //**********************************************************************************************************************

    // Vektoren und Matrix einlesen


    // Datei zum einlesen öffnen

    ifstream Input ("Eingabe.txt", ios::binary);
    Input.read ((char*) &Matrix, sizeof(Matrix));
    tbWriteMatrixToLog (Matrix);

    for (i=0; i < iNumVectors; i++)
    {
        Input.read ((char *) &vektor[i], sizeof(vektor[i]));
        tbWriteVector3ToLog (vektor[i]);
    }

    Input.close ();

    tbWriteToLog ("--------------------------------------------------------------------------------------------------------");

    //*********************************************************************************************************************

    // Transformieren und Vektoren Speichern


    for (i=0; i < iNumVectors; i++)
    {
        vektor[i] = tbVector3TransformCoords (vektor[i], Matrix);
        tbWriteVector3ToLog (vektor[i]);
    }

    ofstream Ausgabe ("Ausgabe.txt", ios::binary);
    
    for (i=0; i < iNumVectors; i++)
    {
        Ausgabe.write ((char *) &vektor[i], sizeof (vektor[i]));
    }

    Ausgabe.close ();


        
    
    //*********************************************************************************************************************

    // TriBase-Engine herunterfahren 

    tbExit ();

    return 0;

}


Jetzt fehlt ja nur noch die Transformation ohne tbVector3TransformCoords.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

16

12.08.2005, 13:22

@BlackViper

Ich hab Vorschläge gegeben, siehe Nox's Zitat. Man braucht nur googlen schon findet man was Beweis
Und selbst wenn nicht, sollte man wenigstens etwas von der MSDN gehört haben, oder die Hilfe des Compilers nutzen. Das muss man einfach voraussetzen und damit kommt man auch klar, wenn man nur will. Wir haben einfach keine Lust und vorallem Zeit jedem hier fertigen Code zu präsentieren, den er dann evtl. noch nicht mal ansatzweise versteht. Das ist keine Böswillige Absicht. Wir geben ihm Tips wo er zu suchen hat. Im übrigen habe ich auch erwähnt das in der Tribase diese Funktion benutzt wird, dann durchsucht man eben mal die CPP Dateien, fertig, und man findet auch was. Sogar eine fix und fertige Lösung.

Im übrigen sind wir, die länger hier im Forum sind der Meinung, das wir erstens keine Profis sind und eben diese fertigen Codesamples nichts bringen. Wenn jemand etwas pertu nicht kapieren will, oder vielleicht viele Probleme damit haben, dann nehme ich mir auch Zeit siehe hier Beweis
Aber fertige Antworten sind der falsche Weg. Weil der Problemhaber nichts dabei lernt.

BTW. Dabei fällt mir auf.....
Der Beitrag von mir... "...ich beschreibe alles für Visual C++ .NET Prof...." Also das "Prof"... das hab ich bestimmt nicht so geschrieben... ABBREXXES! NOX! outet euch, PM plz ;).



@Anfänger:
Schön das es jetzt funktioniert.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

17

12.08.2005, 23:35

Was is?
Nö das dürfte Abrexxes gewesen sein.
Apropo du texte wo steckt denn unsere Ex-Tuxxe ;) ?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

18

13.08.2005, 00:40

Er kommt leider imemr weniger ins Forum, naja seine Kinder und so ;). Kann ich schon verstehen, ausserdem ist er ja sicher im Urlaub.

Wo ist eigentlich DragonMaster?

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

19

13.08.2005, 09:39

Von seinen Haustieren gefressen^^
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige