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

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

21

14.04.2003, 12:27

Binde mal <stdio.h> ein.
Was der andere Fehler ist, weiß ich nicht.

char Text[256];
Text = "Hallo!";

Geht nicht.

char* Text;
Text = "Hallo!";

Geht, weil das ein Zeiger ist. Ein Array kann man so einfach nicht verändern.

Shark_3D

Treue Seele

  • »Shark_3D« ist der Autor dieses Themas

Beiträge: 311

Wohnort: Hannover

Beruf: Schüler

  • Private Nachricht senden

22

14.04.2003, 12:32

Komisch.Auch wenn ich die stdio einbinde immer noch das selbe.
Am besten Ich mach das ganue noch mal von vorn .
Die Header is twahrscheinlich zugemüllt.
"Immer die doppelte Menge"
(Kaufmannsregel Nr.355 von der Lehrkassette 3)

Shark_3D

Treue Seele

  • »Shark_3D« ist der Autor dieses Themas

Beiträge: 311

Wohnort: Hannover

Beruf: Schüler

  • Private Nachricht senden

23

14.04.2003, 12:47

Es geht immer noch net;
Das sind doch wohl absurde Fehler.

ShipTypeList ist doch ne zeile drüber definiert und der Compiler weis net was es ist.
"Immer die doppelte Menge"
(Kaufmannsregel Nr.355 von der Lehrkassette 3)

Shark_3D

Treue Seele

  • »Shark_3D« ist der Autor dieses Themas

Beiträge: 311

Wohnort: Hannover

Beruf: Schüler

  • Private Nachricht senden

24

14.04.2003, 12:59

HA ich habs geschafft;

25 Fehler waren weg als ich das in eine Funktion geschrieben hab. Und strcpy hab ich einfach enntfernt.
"Immer die doppelte Menge"
(Kaufmannsregel Nr.355 von der Lehrkassette 3)

Shark_3D

Treue Seele

  • »Shark_3D« ist der Autor dieses Themas

Beiträge: 311

Wohnort: Hannover

Beruf: Schüler

  • Private Nachricht senden

25

14.04.2003, 13:02

Aber wie soll ich nun die Auswahl proggen.
also dass fleet[1]das schiff ist was man zuerst wählt.usw.

Muss man ne eigene Function schreiben von wgen:

Quellcode

1
2
3
if(ship.chosen == true)
{fleet1 == ship)
}




Msus ich jetzt für jedes Schiff schreiben:


Welches Schiff wollen sie?
1.schiff1
2.schiff2
3.schiff3
4.schiff4


Quellcode

1
2
3
4
5
if(input == 1 || shiff1)
{
MyPlayer.fleet[1].type = &ShipTypeList[0];
}
else{if(input ==...


usw.?
"Immer die doppelte Menge"
(Kaufmannsregel Nr.355 von der Lehrkassette 3)

Shark_3D

Treue Seele

  • »Shark_3D« ist der Autor dieses Themas

Beiträge: 311

Wohnort: Hannover

Beruf: Schüler

  • Private Nachricht senden

26

15.04.2003, 10:46

Juhuu!!
Ich galub ich hab noch nie so viel erreciht wie gestern!!!

Die Abfrage klappt und ich widme mich jetzt dem Kampfsystem(wird wahrscheinlich wieder ein neues Thread füllen *joke(hofffentlich :) ))


Hier der fertige abfrage Code:


Quellcode

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
int initGame()
{
  MyPlayer.Money = 3000;
  int  input;
  cout << "Welches Schiff willst du?" << endl;

  cout << "1.schiff1" << endl; 
  cout << "2.schiff2" << endl;
  cout << "3.schiff3" << endl;
  cout << "4.schiff4" << endl;

 

for(int i = 1;i < 5;i++)
{
    


    cout << "Waehle dein " << i <<". Schiff: ";
    cin  >> input;
    if(MyPlayer.Money < 500 )
    {    
cout << " Du kannst kein Raumschiff mehr kaufen!(Zu wenig Kohle)" << MyPlayer.Money << endl;
        MyPlayer.NumofShips = i;
    break;
    }else{
if(MyPlayer.Money < ShipTypeList[input-1].costs)
    {
cout << " Zu wenig bares fuer das Schiff" <<    MyPlayer.Money << endl;
        i-=  1;
            
        continue;
    }
  if(input ==  1)
  { 
      MyPlayer.fleet[i].Type = &ShipTypeList[0];
      MyPlayer.Money -= ShipTypeList[0].costs;
  }else{

if(input ==  2 )
 {
MyPlayer.fleet[i].Type = &ShipTypeList[1];
MyPlayer.Money  -= ShipTypeList[1].costs;
}else{

if(input ==  3)
{
MyPlayer.fleet[i].Type = &ShipTypeList[2];
MyPlayer.Money  -= ShipTypeList[2].costs;

}else{


f(input ==  4)
{
 MyPlayer.fleet[i].Type = &ShipTypeList[3];
MyPlayer.Money  -=   ShipTypeList[1].costs;
}else{

cout << "Bitte geben sie die ID de Schiffes ein ein"<< endl ;
                 initGame();
              }
          }
      }
  }
}
}
  return 0;
}



So is tvielleicht ein bissel zu gross der Post aber ich bin nun mal so froh das mal was klappt. DAs Ding ist natürlich net wirjklich toll aber das optimieren kommt noch.

Ich wollte z.B. input als char speichern und dann als Eingabe den Namen des Schiffes oder die ID zur verfügung stellen.Aber das Programm beendete sich mit einer Xp sendet nach HAuse Meldung.

Nun hab ichs debuggt und heraus kam eine nicht berücksichtigte ausnahme sobald man den Namen des Schiffes eingibt.

Und ich will , dass wenn der Player kein Gold hat net erst noch gefragt wird ob er ein Schiff kaufen will.Jetzt ist es ja noch so dass wenn der Player 0 Gold hat er immer noch einmal wählen kann und dann erst der Fehler kommt.

puh ziemlich grosser Post .
cu
"Immer die doppelte Menge"
(Kaufmannsregel Nr.355 von der Lehrkassette 3)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

27

15.04.2003, 11:35

Klar - Du fragst ja auch erst die Eingabe ab, und prüfst dann erst, ob der Spieler zu wenig Geld hat.

Werbeanzeige