Objekt will sich nicht ändern. Oder liegt das an einer Variable?

  • GM 7

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Objekt will sich nicht ändern. Oder liegt das an einer Variable?

    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

    GML-Quellcode

    1. //global.phase ist die variable die anzeigt in welcher phase eines spielzugs das spiel sich befindet
    2. if (global.phase == 0)
    3. {
    4. //global.carddrawpone wird nach einem abgeschloßenen Spielzug wieder auf 0 gesetzt damit der Spieler nur eine Karte pro Zug ziehen kann
    5. if (global.carddrawpone == 0)
    6. {
    7. global.carddrawpone = 1
    8. //global.hc1/2/3... sind die "Kartenslots" die maximale Anzahl von Karten ist 5.
    9. if (global.hc1 == 0)
    10. {
    11. path_start(move1,8,0,absolute)
    12. global.handcardspone += 1
    13. global.hc1 = 1
    14. exit
    15. }
    16. if (global.hc2 == 0)
    17. {
    18. path_start(move2,9,0,absolute)
    19. global.handcardspone += 1
    20. global.hc2 = 1
    21. exit
    22. }
    23. if (global.hc3 == 0)
    24. {
    25. path_start(move3,10,0,absolute)
    26. global.handcardspone += 1
    27. global.hc3 = 1
    28. exit
    29. }
    30. if (global.hc4== 0)
    31. {
    32. path_start(move4,11,0,absolute)
    33. global.handcardspone += 1
    34. global.hc4 = 1
    35. exit
    36. }
    37. if (global.hc5 == 0)
    38. {
    39. path_start(move5,12,0,absolute)
    40. global.handcardspone += 1
    41. global.hc5 = 1
    42. exit
    43. }
    44. }
    45. }
    Alles anzeigen


    Action End of Path

    GML-Quellcode

    1. instance_change(cardchangesystem,1)


    Jetzt das Event "cardchangesystem":

    Action Create

    GML-Quellcode

    1. //nun wird aus 5 verschiedenen karten eine zufällig gewählt die noch nicht gezogen wurde
    2. global.shuffle += random(5)
    3. if (global.shuffle == 0)
    4. {
    5. //das habe ich eingebaut für den fall das global.shuffle einfach nicht geändert wird.
    6. sound_play(error)
    7. }
    8. if (global.shuffle == 1)
    9. {
    10. //global.card001-005 sind variablen die angeben wie oft eine karte schon gezogen wurde, immoment darf jede karte nur 1mal ausgewürfelt werden
    11. if (global.card001 < 1)
    12. {
    13. global.card001 += 1
    14. instance_change(001,1)
    15. }
    16. }
    17. if (global.shuffle == 2)
    18. {
    19. if (global.card002 < 1)
    20. {
    21. global.card002 += 1
    22. instance_change(002,1)
    23. }
    24. }
    25. if (global.shuffle == 3)
    26. {
    27. if (global.card003 < 1)
    28. {
    29. global.card003 += 1
    30. instance_change(003,1)
    31. }
    32. }
    33. if (global.shuffle == 4)
    34. {
    35. if (global.card004 < 1)
    36. {
    37. global.card004 += 1
    38. instance_change(004,1)
    39. }
    40. }
    41. if (global.shuffle == 5)
    42. {
    43. if (global.card005 < 1)
    44. {
    45. global.card005 += 1
    46. instance_change(005,1)
    47. }
    48. }
    49. set variable global.shuffle to 0
    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.