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

13.08.2013, 12:25

GML Game Maker probleme mit einer frage Programierung

Hi leute ich hab da ein problem mit der programierung einer Frage
wehre toll wen ihr mir helfen könnt


if global.muenzen <= 0
global.muenzen = 0
if lives <= 0
show_question("Did you like to restart level? Cost: 25 Coins")
{
room_restart()
lives = 3
health = 100
global.muenzen -= 25
}

else

{

lives = 3
health = 100
room_goto(room2)
}
}
if health <= 0
{
lives -=1
health = 100
}
if health >100
{
lives +=1
health -=100

}bei else zeigts mir einen fehler un ich weis nicht warum :dash:
übrigens ich benutze Game Maker Studio Professional (v. 1.1.929)

2

13.08.2013, 12:42

Wie lautet denn die Fehlermeldung?

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

3

13.08.2013, 12:52

Wenn du den Quelltext sauber formatiert und eingrückt hättest, wäre dir sofort klar geworden was nicht stimmt.

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
if global.muenzen <= 0
    global.muenzen = 0
if lives <= 0 
    show_question("Did you like to restart level? Cost: 25 Coins") //?
{
    room_restart()
    lives = 3
    health = 100
    global.muenzen -= 25
}
else
{
    lives = 3
    health = 100
    room_goto(room2) 
}
} //?
if health <= 0
{
    lives -=1
    health = 100
}
if health >100 
{
    lives +=1
    health -=100
}

4

13.08.2013, 14:57

Hier die Fehlermeldung


In object control, event Step, action 1 at line 12: Unexpected
symbol in expression.


und unter

Zitat

Wenn du den Quelltext sauber formatiert und eingrückt hättest, wäre dir sofort klar geworden was nicht stimmt.
versteh ich nicht. ?( Bitte genauer :search:
ich bin noch nicht arg mit dem Programm vertraut
:crazy:

De_Struktor

unregistriert

5

13.08.2013, 15:39

was soll denn das ab Zeile 4: es kommt:

C#-Quelltext

1
2
3
4
5
6
7
8
if lives <= 0 
{
 show_question("Did you like to restart level? Cost: 25 Coins") //?
    room_restart()
    lives = 3
    health = 100
    global.muenzen -= 25
}


show_question("Did you like to restart level? Cost: 25 Coins") //? muss in den Klammern stehen, würde ich sagen.
also:

C#-Quelltext

1
2
3
4
5
6
7
8
if lives <= 0 
{
 show_question("Did you like to restart level? Cost: 25 Coins") //?
    room_restart()
    lives = 3
    health = 100
    global.muenzen -= 25
}

wenn falsch, sry, kenne mich in gamemaker net so aus.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

6

13.08.2013, 15:45

Eine saubere Formatierung bedeutet vorallem, dass du nach jeder öffnenden geschweiften Klammer mit einem Tab einrückst und bei der schließenden Klammer das Tab weg nimmst. So sind komplexere Funktionen leichter lesbarer und Fehler wie deine sehr leicht zu erkennen.
Denn zwei schließende geschweifte Klammern kommen nie direkt untereinander vor.
Und unter einem if folgt immer eine geschweifte geöffnete Klammer.
Im Post von "Spiele Programmierer"(3) ist die Klammer in Zeile 17 der Fehler. Lösch sie und es sollte funktionieren und mach das was De_Struktor geschrieben hat. Die Klammer dürfte übrigens dein zweites "Unexpected symbol in expression"(unerwartetes Zeichen im Ausdruck) sein.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

De_Struktor

unregistriert

7

13.08.2013, 15:48

... nicht gesehen Nachoman, sry^^

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

8

13.08.2013, 15:52

Ich habs nochmal editiert. Dann dürfte er zumindest Kompilieren. Ob das Programm dann wie vom Threadersteller erwartet läuft ist eine andere Frage.

Ich würde dir empfehlen erst ein Buch zur Programmierung durchzuarbeiten. Danach wirst du wesentlich weniger Probleme haben. Empfehlen würde ich dir C# mit einem guten Einsteigerbuch oder C++ mit dem Einsteigerbuch "C++ für Spieleprogrammierer".
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

9

13.08.2013, 19:29

fielen dank

danke an alle dir mir da geholfen haben das problem ist jetzt behoben
aber sobalt ich play drücke hängt sich das spiel auf und es kommt aber keine fehlermeldung
:dash:
edit: habe bereiz ein java grundlagen buch sonst wäre ich nichtmal sowweit gekommen aber danke für den tipp :thumbsup:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Kralle« (13.08.2013, 19:38)


NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

10

13.08.2013, 19:40

Vermutlich weil du ständig resetest :vain:
Hier mal meine vermutete! Lösung:

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
if global.muenzen <= 0
{
    global.muenzen = 0
}
if lives <= 0 
{
    lives = 3
    health = 100
    if show_question("Did you like to restart level? Cost: 25 Coins")
    {
        room_restart()
        global.muenzen -= 25
    }
    else
    {
        room_goto(room2) 
    }
}
if health <= 0
{
    lives -=1
    health = 100
}
if health > 200 
{
    lives +=1
    health -=100
}

Kauf dir nen Buch wenn solche leicht zu behebenen Fehler nicht länger eine stunden- oder tagelange Verzögerung sind(abgesehen davon, wird dir nicht immer jemand eine Komplettlösung schicken).

Find die Idee gut, dass man neue Leben bekommt wenn man über 100 Leben kommt. Das würde allerdings ständig passieren und es würde sich gegenseitig aufheben. Daher bekommt jetzt erst dann ein Leben wenn man über 200 Gesundheit hat.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »NachoMan« (13.08.2013, 19:46)


Werbeanzeige