Hi, ich habe mal angefangen zum Spaß ein Kartenspiel zu programmieren, allerdings gibt es beim Ziehen vom Kartenstapel ein Problem. Irgendwo scheint ein Fehler im Code zu liegen, ich werde versuchen die Situation ganz zu beschreiben.
Im Raum gibt es bisher nur zwei Objekte "mouse" (die maus) und "card" (der Ziehstapel).
Wenn ich auf den Kartenstapel klicke bewegt sich die Oberste Karte ("card") auf die Position des ersten Slots, stoppt den Pfad auch, aber verschwindet dann einfach.
"card" hat diesen Code:
Action Left Pressed
Alles anzeigen
Action End of Path
Jetzt das Event "cardchangesystem":
Action Create
Alles anzeigen
Hoffe jemand findet den Fehler, die Events für die Karten 001-005 müssten eigentlich auf jeden fall auftauchen wenn ein objekt zu einer der karten wird.
Im Raum gibt es bisher nur zwei Objekte "mouse" (die maus) und "card" (der Ziehstapel).
Wenn ich auf den Kartenstapel klicke bewegt sich die Oberste Karte ("card") auf die Position des ersten Slots, stoppt den Pfad auch, aber verschwindet dann einfach.
"card" hat diesen Code:
Action Left Pressed
GML-Quellcode
- //global.phase ist die variable die anzeigt in welcher phase eines spielzugs das spiel sich befindet
- if (global.phase == 0)
- {
- //global.carddrawpone wird nach einem abgeschloßenen Spielzug wieder auf 0 gesetzt damit der Spieler nur eine Karte pro Zug ziehen kann
- if (global.carddrawpone == 0)
- {
- global.carddrawpone = 1
- //global.hc1/2/3... sind die "Kartenslots" die maximale Anzahl von Karten ist 5.
- if (global.hc1 == 0)
- {
- path_start(move1,8,0,absolute)
- global.handcardspone += 1
- global.hc1 = 1
- exit
- }
- if (global.hc2 == 0)
- {
- path_start(move2,9,0,absolute)
- global.handcardspone += 1
- global.hc2 = 1
- exit
- }
- if (global.hc3 == 0)
- {
- path_start(move3,10,0,absolute)
- global.handcardspone += 1
- global.hc3 = 1
- exit
- }
- if (global.hc4== 0)
- {
- path_start(move4,11,0,absolute)
- global.handcardspone += 1
- global.hc4 = 1
- exit
- }
- if (global.hc5 == 0)
- {
- path_start(move5,12,0,absolute)
- global.handcardspone += 1
- global.hc5 = 1
- exit
- }
- }
- }
Action End of Path
Jetzt das Event "cardchangesystem":
Action Create
GML-Quellcode
- //nun wird aus 5 verschiedenen karten eine zufällig gewählt die noch nicht gezogen wurde
- global.shuffle += random(5)
- if (global.shuffle == 0)
- {
- //das habe ich eingebaut für den fall das global.shuffle einfach nicht geändert wird.
- sound_play(error)
- }
- if (global.shuffle == 1)
- {
- //global.card001-005 sind variablen die angeben wie oft eine karte schon gezogen wurde, immoment darf jede karte nur 1mal ausgewürfelt werden
- if (global.card001 < 1)
- {
- global.card001 += 1
- instance_change(001,1)
- }
- }
- if (global.shuffle == 2)
- {
- if (global.card002 < 1)
- {
- global.card002 += 1
- instance_change(002,1)
- }
- }
- if (global.shuffle == 3)
- {
- if (global.card003 < 1)
- {
- global.card003 += 1
- instance_change(003,1)
- }
- }
- if (global.shuffle == 4)
- {
- if (global.card004 < 1)
- {
- global.card004 += 1
- instance_change(004,1)
- }
- }
- if (global.shuffle == 5)
- {
- if (global.card005 < 1)
- {
- global.card005 += 1
- instance_change(005,1)
- }
- }
- set variable global.shuffle to 0
Hoffe jemand findet den Fehler, die Events für die Karten 001-005 müssten eigentlich auf jeden fall auftauchen wenn ein objekt zu einer der karten wird.