[Thảo Luận] Xin hướng dẫn Switch case

cluvccluvc Posts: 14Registered
edited July 2019 in Game Maker: Studio
như tiêu đề, ví dụ em muốn tạo 1 biến là 
var trangthai ;
rồi ở trong đó có nhiều trạng thái con: ví dụ như tăng tốc, làm chậm, đứng yên v.v.v thì phải làm như thế nào, và dùng lệnh switch trong trường hợp này có được không. 
xin chỉ dạy ! blush

Comments

  • Focker_cFocker_c Posts: 1,577Registered
    Bạn có thể tham khảo và đọc thêm về Switch statement nhé. Cú pháp này có ở nhiều loại ngôn ngữ lập trình kahsc nữa.



    Nhưng mình xin hướng dẫn cơ bản như sau :

    Về cơ bản, câu lệnh "switch" chính là nâng cao của câu lệnh "if".

    Bình thường
    if A>0 {B}
    Tức là nếu có A > 0, thì sẽ xảy ra sự kiện B
    Nhưng nếu mọi chuyện phức tạp hơn,
    như là giờ muốn A = 1 thì xảy ra vụ B
    A = 2 thì xảy ra vụ C , A = 3 thì khác nữa.

    Ví dụ sau :
    {
    switch (vi_tri)
       {
       case 1:
          x = 4;
          y = 5;
       case 2:
          x = 16;
          y = 20;
       case 3:
          x = 70;
          y = 75;
       }
    }
    

    Ở đây, mình switch biến "vi_tri" , để hiểu đoạn code trên, ta hiểu theo cú pháp "if" thôi.
    Nếu vi_tri=1 , khi đó sẽ thực hiện gán tọa độ x=4 và y=5 cho object.
    tương tự với các giá trị khác của "vi_tri".

    Trên đây là cơ bản về cú pháp switch. Nếu bạn học chương trình của của Bộ giáo dục, thì ở sách Tin học lớp 11, về phần lập trình pascal, có cú pháp này nhé. Nó sẽ chi tiết nếu bạn muốn hiểu thêm. :)
  • cluvccluvc Posts: 14Registered
    mình xin phép trình bày lại:
    switch (Tên biến)
    {
    case 1:
    <điều Kiện>;
    <Hành động>;
    case 2:
    <điều Kiện2>;
    <Hành động2>;
    case 3:
    <điều Kiện3>;
    <Hành động3>;
    
    }
    
    mình hiểu như vậy có đúng không. và khi sử dụng thì mình có cần khai báo tên biến ( như trong ví dụ là Vi_tri) trong event Create hoặc step trước không, hay switch nó sẽ tự động tạo ra
  • cluvccluvc Posts: 14Registered
    à hình như mình hiểu sai   :( :( để xem lại sách 11 vậy! hihi
  • Focker_cFocker_c Posts: 1,577Registered
    Như thế này thì đúng nhé.
    switch (Tên biến)
    {
    case <so sánh biến  = điều Kiện 1> :
    <Hành động 1>;
    case <so sánh biến  = điều Kiện 2> :
    <Hành động2>;
    case <so sánh biến  = điều Kiện 3> :
    <Hành động 3>;
    }
    

    Cố lên ! :)
Sign In or Register to comment.