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

1

14.01.2013, 20:18

[C++]Spieler mittels variablen in array platzieren (Map)

Hey Leute

Ich hätte mal eine frage bezüglich zweidimensionalen arrays.
Habe mir ein zweidimensionales array angelegt, was sozusagen meine map sein soll.
Nun habe ich noch zwei variablen angelegt, einmal Spielerhöhe und Spielerbreite.
Jetzt soll, wenn das Feld generiert wird, an den Stellen wo Spielerh und Spielerb dem array entspricht ein S gesetzt werden.
Meine weitere idee ist es, diesen Spieler dann zu bewegen in einer switch case abfrage später.
Das ganze habe ich mit normalen variablen schon gut gelöst bekommen, doch bei arrays bleibe ich schon bei der Positionierung des spielers hängen

Hier dann mal mein code bis jetzt

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
#include <iostream>
using namespace std;
int spielerh = 4;
int spielerb = 5;
int main()

{
    char map[11][11] ={
        "##########",
        "#      #",
        "#      #",
        "#      #",
        "#      #",
        "#      #",
        "#      #",
        "#      #",
        "#      #",
        "##########"};
  for(int i=0; i<10; i++)
{
        for(int x=0; x<10; x++)
        {
                cout <<map[i][x];
                if(map[spielerh][spielerb]==map[i][x])
        {
                cout << "s";
                }
                }
                cout << endl;
        }   
        
        
    system("pause");
    return 0;   
        
        
        
        
        
}   



Ich hoffe mal ihr könnt mir helfen, mir gehts halt dich darum, das nun zu lösen, sondern das ganze zu verstehen ^^

MFG Leri :)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

14.01.2013, 20:33

Dein IF hat eine sehr merkwürdige Prüfung. Die Map an der Stelle des Spielers soll den selben Wert haben wie die Map an irgendeiner anderen Stelle? Wirklich?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

3

14.01.2013, 20:35

ja ^^ das gleiche habe ich mir auch gedacht, und schon viel rumprobiert.

Ich müsste ja im richtigen Sinne, prüfen ob die for schleife sprich der wert von x und y mit dem wert von spielerh und spielerb übereinstimmt.

Nur komme ich nicht auf den richtigen Lösungsansatz

4

14.01.2013, 20:39

ich danke dir ^^

habe mir grad so gedacht hmmmm :D

und dann war die lösung da ^^

if(i==spielerh && x==spielerb)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

14.01.2013, 20:43

Was genau bringt die Schleife dann doch gleich noch? Du kennst h und b schließlich schon und somit auch das richtige i und x.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

6

14.01.2013, 21:08

Er gibt allerdings auch etwas aus bei jedem Durchgang. Von daher die Schleife. Das selbe habe ich mich allerdings auch erst gefragt.
„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.“

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

14.01.2013, 21:57

Das gilt für eine der Schleifen, ja. Für die andere aber nicht.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

8

14.01.2013, 22:05

Er hat doch zwei verschachtelte Schleifen und in der inneren Schleife wird das Zeichen der Map ausgegeben. Nach der inneren Schleife wird ein Zeilenumbruch ausgegeben.
Das einzige Problem ist, dass an der Spielerposition zuerst das Zeichen aus dem Map-Array ausgegeben wird und dann noch ein s für Spieler. Dort hat man also ein Zeichen zuviel.
„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.“

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

9

14.01.2013, 22:07

Oh. Das cout da oben habe ich wohl übersehen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige