Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 14.05.2003, 17:01 Titel: |
|
|
versteh ich net^^ |
|
Nach oben |
|
 |
magynhard Super JLI'ler

Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 14.05.2003, 17:11 Titel: |
|
|
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
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.
 |
|
Nach oben |
|
 |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 14.05.2003, 18:06 Titel: |
|
|
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 |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 14.05.2003, 18:11 Titel: |
|
|
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 |
|
 |
magynhard Super JLI'ler

Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 14.05.2003, 18:31 Titel: |
|
|
Jo poste am besten die Funktion, dann können wir vielleicht weiterhelfen  |
|
Nach oben |
|
 |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 14.05.2003, 18:52 Titel: |
|
|
du hast sie doch oben schon geschrieben
level[x][y] ist als char und input als char [255] |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 14.05.2003, 19:12 Titel: |
|
|
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 |
|
 |
magynhard Super JLI'ler

Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 14.05.2003, 19:50 Titel: |
|
|
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 |
|
 |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 14.05.2003, 20:00 Titel: |
|
|
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 |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 14.05.2003, 20:02 Titel: |
|
|
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 |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 14.05.2003, 20:10 Titel: |
|
|
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 |
|
 |
magynhard Super JLI'ler

Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 14.05.2003, 20:12 Titel: |
|
|
lol
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
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 |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 14.05.2003, 20:15 Titel: |
|
|
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 |
|
 |
magynhard Super JLI'ler

Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 14.05.2003, 20:18 Titel: |
|
|
Ehrlich gesagt, kapiere ich nicht, was du willst, Dark
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  |
|
Nach oben |
|
 |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 14.05.2003, 20:33 Titel: |
|
|
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 |
|
 |
|