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

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

81

19.02.2006, 21:12

Ich nehme an die Bäume sollen stehen bleiben, etwa so:

Quellcode

1
2
3
4
5
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 2 0
0 0 0 0 0


1:= Männlein
2:= Baum

-> schritt nach rechts ->

Quellcode

1
2
3
4
5
0 0 0 0 0
0 0 0 1 0
0 0 0 0 0
0 0 0 2 0
0 0 0 0 0


Spielfeld ist in einem 5*5 Array gespeichert.

C-/C++-Quelltext

1
2
3
4
5
6
7
if(Taste_Rechts gedrückt)
{
  // Wenn das nächste Feld leer ist und wir den Rand nicht erreicht haben... 

  if((X_Mannlein < 5) && Feld[Y_Mannlein][X_Mannlein+1] == 0)
     //nach rechts  

     XMannlein++;
}


Wenn es um die ausgabe geht:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
... 
short int Graphics[3];
Graphics[0] = ' ';
Graphics[1] = '+';
Graphics[2] = 'B';

...

void Draw(...)
{
    for(int y = 0; y < MAX_SIZEY; y++)
    {
       for(int x=0; x < MAX_SIZEX; x++)
       {
          printf("%c", Graphics[Feld[y][x]]);
       }
    }
}


was ist da nun soooo schwer?

Sheddex

unregistriert

82

20.02.2006, 14:14

Das wäre eine Möglichkeit, aber hat jemand noch eine Möglichkeit wie das OHNE 2D-Array geht, wie ich es bereits angefangen habe? (Nur für den Fall dass ich's nicht kapier'^^)

Sheddex

unregistriert

83

20.02.2006, 16:00

HA! Die Möglichkeit geht doch nicht, weil ich das Gleiche schon gemacht habe, nur eben ohne 2D-Arrays.
Das Problem ist, das es eben nicht nur einen Baum gibt, sondern Beliebig viele. Und ich kann nunmal schlecht schreiben if (Baum[1]...), if (Baum[2]...). Und eben das war das Problem, und nicht wie man das Ganze ausgibt. Ich will eine for-Schleife die ungefähr so aussehen soll:

C-/C++-Quelltext

1
2
3
4
5
6
7
for (int k=0; k<TreeCounter; k++)
{
     if (Tree[k].xPos == j && Tree[k].yPos == i)
     {
          cout << "T";
     }
}


Eigentlich ist das die perfekte Lösung, nur schaff' ich es nicht die anderen Sachen wie ZeigerPosition mit reinzubringen. Wäre nett wenn jemand die vollständige Schleife posten könnte, mit allem drum und dran. (Ich versuche natürlich auch noch selbst das Ganze zu lösen.)

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

84

20.02.2006, 16:27

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
for (int i=0; i<m_Height; i++) 
{ 
    for (int j=0; j<m_Breadth; j++) 
    { 
        bool    bTreeFound = FALSE;
        if (j == CursorX && i == CursorY) cout << "^"; 
        else
        {
            //Baum suchen! 

            for (int k=0; k<TreeCounter; k++) 
            { 
                if (Tree[k].xPos == j && Tree[k].yPos == i) 
                { 
                    cout << "T";
                    bTreeFound = TRUE;
                    break;
                } 
            }
        }

        if(!bTreeFound) cout << "."; 
    } 
    cout << endl; 
}


Habs zwar nicht probiert, müsste aber stimmen...

PS: Ist eine sehr dumme Lösung ohne 2D-Array!
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

85

20.02.2006, 19:01

Ja, ... kompleyität n^3, mit Array max n^2

@DarkHunter, das sollte eigentlich jeder, auch ein noob, lesen könne.... wo hakts den?

Sheddex

unregistriert

86

20.02.2006, 19:23

Hä? Was soll ich nicht lesen können?
Wie dem auch sei, die Lösung von Black funktioniert im 'Nur-Baum-Test'. Ich war eine Weile weg, aber jetzt bau ich den Editor fertig. Ich sag euch dann ob's funktioniert.

Sheddex

unregistriert

87

20.02.2006, 20:09

Hat perfekt funktioniert. Die Landschaften sehen fantastisch aus, besser als sie in Oblivion oder Crysis jemals sein werden^^

Noch eine Frage: Kennt jemand einen Freeware-Installer oder irgendwas in das man den Kram reinpackt um es danach zu installieren? (Ich hab' mal wieder keine Ahnung...)

dbGAMES

Treue Seele

Beiträge: 323

Wohnort: Frankfurt

Beruf: Student

  • Private Nachricht senden

88

20.02.2006, 20:17

ich empfehle dir inno setup http://www.jrsoftware.org/isinfo.php

bassdscho

Alter Hase

Beiträge: 1 056

Wohnort: Heuchlingen

Beruf: Student - Technische Informatik

  • Private Nachricht senden

89

20.02.2006, 20:22

bei visual studio kann man doch irgendwas mit setup auswählen ?!?!?
Verlierer jammern immer von wegen ihr bestes!
Sieger gehen nach Hause und vögeln die Ballkönigin!

Sheddex

unregistriert

90

20.02.2006, 20:50

ThanX dbGAMES.

Werbeanzeige