JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Variabel Problem
Gehe zu Seite Zurück  1, 2, 3  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 17:01    Titel: Antworten mit Zitat

versteh ich net^^
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 17:11    Titel: Antworten mit Zitat

Ich hab nochmal ALLES durchstudiert und bin zu dem Entschluss gekommen, dass hier viele was durcheinander gebracht haben, was dann auch mich wieder durcheinander gebracht hat Wink

Einfach mit strcpy lösen, denn du wolltest ja

Zitat:

nun soll im Feld z.b. [1][15] input gespeichert werden, also
level[1][15] = input;


Wäre doch einfach, wie Hazel schon (ähnlich) gemeint hat
Code:

strcpy(level[1][15],input);


Evtl. hast du dich nur vertan, probiers nochmal.

Könnte evtl. aber Probleme geben, da input 255 und level 200 hat - aber evtl. auch nur wenn man mehr als 199 Zeichen bei input eingibt - aber das lassen wir mal Nebensache sein.
Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 18:06    Titel: Antworten mit Zitat

wie ich schon erwähnt hatte kommt dort
'strcpy' : cannot convert parameter 1 from 'char' to 'char *'

egal ob input 200 ist oder 255
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 18:11    Titel: Antworten mit Zitat

Zum zweiten: Schreib mal wie genau du die Funktion benutzt hast. Es muss an dir liegen.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 18:31    Titel: Antworten mit Zitat

Jo poste am besten die Funktion, dann können wir vielleicht weiterhelfen Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 18:52    Titel: Antworten mit Zitat

du hast sie doch oben schon geschrieben

level[x][y] ist als char und input als char [255]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 19:12    Titel: Antworten mit Zitat

Ich habe gefragt wie du die Funktion benutzt und nicht was du für Variablen benutzt.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 19:50    Titel: Antworten mit Zitat

Also ich hab das jetzt mal selbst probiert und folgedendes festgestellt:

strcpy funktioniert bei Feldern mit mehreren Dimensionen nicht, jedenfalls wenn man es so macht. Dann kommt die genannte Fehlermeldung.

Das liegt daran, das im level[200][200] jede einzelne Kombination ja nur 1 Zeichen aufnehmen kann, der Compiler aber bei input von einem String ausgeht und das funktioniert halt nicht, weil er ja nicht weiß, nach welchem System er es in einzelne Elemente speichern soll bzw. scheinbar kein Standard-System dafür besitzt.

Dark, was kann (soll) der Benutzer denn eingeben? Nur einzelne Zeichen? Zahlen? Ganze Level-Namen?
Und Warum werden 2 Dimensionen für eine Eingabe gebraucht?
Wäre level[40000] einsetzbar oder was hat es genau mit den 2 Dimensionen auf sich?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 20:00    Titel: Antworten mit Zitat

der User soll ein levelnamen eingeben ala "mylevel.lvl"
und die [200][200] ist die Feldanzahl meines Spielfeld
also 200 felder breit und 200 felder hoches Spielfeld..
und an einer bestimmten Position soll halt ein Waypoint hingepackt werden und wenn dieser Spieler da drüber geht wird halt das Level geladen das dort hineingepackt wurde...

der string in dem "mylevel.lvl" steht ist ja nur eindimensional ..
das spielfeld ist logischerweise 2 dimensional..
1 dimensonale spielfelder gibt es glaub ich garnicht ;D
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 20:02    Titel: Antworten mit Zitat

Also ich hab das hier gerade probiert und es funktioniert einwandfrei. Ihr könnt wohl beide noch nicht mit Feldern umgehen.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 20:10    Titel: Antworten mit Zitat

Code:

#include <iostream.h>
#include <stdio.h>

#define WIDTH   20
#define HEIGHT   20

void main()
{
   int i, j;
   char input[WIDTH];
   char level[WIDTH][HEIGHT];

   for(i = 0; i < WIDTH; ++i)
      for(j = 0; j < HEIGHT; ++j)
      level[i][j] = 0;

   cout << "Gib was ein: ";
   cin >> input;

   for(i = 0; i < WIDTH; ++i)
   {
      strcpy(level[i], input);
   }

   for(i = 0; i < WIDTH; ++i)
   {
      cout << "Zeile " << i << " ";
      for(j = 0; j < HEIGHT; ++j)
      {
         cout << level[i][j];
      }
      cout << '\n';
   }
}


Und ich habe die Funktion genauso benutzt, wie ich es zuerst geschrieben hatte.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 20:12    Titel: Antworten mit Zitat

lol Laughing

poste mal den KOMPLETTEN code, also ich glaube nicht, dass du dem
level[x][x] mit "normalen" strcpy einen String mit mehr als 1 Zeichen übergeben kannst. Irgendwas besonderes muss da schon dabei sein Wink


Nochmal zum level feld mit 2 dimensionen:

Du kannst z.b. level[20][40] oder was auch immer für 20 oder 40 nimmst, immer nur 1 (char-)zeichen speichern!
Das war doch die ganze Zeit das Problem... weil für ein normales char keine Stringkette, sondern nur ein Zeichen verwendet werden kann.

[update]
ah, da ist der code ja, ich werd ihn mir gleich mal ansehen, ich hab mir dabei aber etwas nicht ganz so umfangreiches vorgestellt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 20:15    Titel: Antworten mit Zitat

Ist eigentlich ganz simpel:

Code:

level[x][y]   -> char
level[x]       -> char *
level            -> char **


Logisch, oder? ;P
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 20:18    Titel: Antworten mit Zitat

Ehrlich gesagt, kapiere ich nicht, was du willst, Dark Rolling Eyes

In ein Spielfeld einen String zerstückelt reinkopieren?

Warum soll in level[x][x] ein level-name (string) kopiert werden.
Ich verstehe den Sinn nicht ganz oder hab dich falsch verstanden Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 14.05.2003, 20:33    Titel: Antworten mit Zitat

ich glaub ihr habt mich immer noch falsch verstanden...
hazels quellcode ist nämlich nicht das was ich meine ..

das "mylevel.lvl" soll auf die kordinate [15][3] und nicht nur auf die zeile [15] siehe hazels quellcode ..

der spieler soll immerhin auf [15][3] und nich aut [15] und dann x beliebe felder danach sogroß wie gerade der String den man eingetipt hat ist ...

also würd dann auf zeile [15] mylevel.lvl stehn toll ..das soll aber nur in einem feld stehn, den der waypoint ist nunmal nicht 5 felder groß sondern nu reins

mm gibt es vieleicht eine andere möglichkeit einen waypoint zu realisieren?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2, 3  Weiter
Seite 2 von 3

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum