Chương 3. Biến và mảng

 

Biến và mảng rất cần thiết cho lập trình máy tính và thiết kế game. Nếu không có chúng trò chơi sẽ không hoạt động.
Trong chương này chúng ta sẽ đề cập đến những vấn đề sau:
  • Biến là gì?
  • Tại sao biến lại quan trọng?
  • Các loại biến khác nhau trong C2?
  • Học về mảng
Bài 1. Giới thiệu về các biến

 

Lập trình máy tính dựa trên các nguyên tắc toán học. sau tất cả, cái máy tính đầu tiên được lập trình để giải các phương trình, và sau đó các ứng dụng được phát triển. bạn có thể đã nghe nói về các biến trong các lớp học toán. Trong máy tính, các biến này rất cần thiết để tạo ứng dụng và chúng rất quan trọng trong các trò chơi. Ngay cả một trò chơi độc lập nhỏ bé cũng có thể chứa hàng trăm biến.
Biến là nơi bạn có thể lưu trữ một lượng nhỏ dữ liệu. những dữ liệu này có thể là một cái tên, một con số, một ngày, một đối tượng trò chơi hoặc có thể là một thông tin đúng hoặc sai. Các biến cần thiết cho trò chơi vì chúng lưu trữ các mục sau:
  • Điểm
  • Tên người chơi
  • Đối tượng trò chơi
  • Vị trí chuột
  • Đầu vào bàn phím
Để lưu trữ dữ liệu, bạn phải sử dụng đúng loại biến. chúng ta có thể suy nghĩ về các biến như các hộp và những cái bạn đưa vào hộp này phụ thuộc vào loại hộp mà nó có.
 
Trong hầu hết ngôn ngữ lập trình gốc, bạn phải khai báo một biến và kiểu của nó.


1. Biến số

Hãy đi qua một vài loại chính của biến. đầu tiên là biến số. biến này chỉ lưu trữ số, ko có chữ cái. Điều này có nghĩa là, nếu bạn cố đặt một cái tên trong nó “John Bura”, nó sẽ không hoạt động.
 
2. Các biến số nguyên

 

Có rất nhiều loại khác nhau của các biến số. các biến số nguyên, được gọi là bién Int, có thể là số nguyên dương và âm – bạn không thể có số thập phân. Vì vậy, bạn có thể đặt -1 là một biến số nguyên chứ không được đặt là 1,2.


3. Biến số thực

Các biến số thực có thể là âm hoặc dương, và chúng cũng có thể là số thập phân. Một biến thực có thể là 1,0; -40,4; 100,1 chẳng hạn.
Cũng có nhiều loại biến số khác. Chúng được sử dụng trong các tình huống cụ thể hơn. Đối với hầu hết các phần. biến số nguyên và số thực là những gì bạn cần biết – hãy chắc chắn đừng lẫn lộn chúng. Nếu bạn chạy một ứng dụng với một loại không phù hợp, rất có thể nó sẽ không hoạt động.


4. Biến chuỗi

Còn một loại biến khác thực sự rất quan trọng. Loại biến này được gọi là biến chuỗi. biến chuỗi bao gồm các chữ cái hoặc các từ. điều này có nghĩa là nếu bạn muốn ghi lại tên các nhân vật, thì bạn phải sử dụng biến chuỗi. trong hầu hết các ngôn ngữ lập trình, biến chuỗi phải ở trong dấu ngoặc kép, ví dụ “John Bura”. Các trích dẫn báo cho máy tính biết rằng các kí tự bên trong thực sự là các chuỗi mà máy tính có thể sử dụng.
 
Khi bạn đặt một số 1 vào trong chuỗi, nó là số thực 1 hay chỉ là số giả? Đó chỉ là một số giả vì đây không phải là số – chúng là chuỗi. mặc dù chuỗi hiển thị số 1, nhưng nó không thực sự là số 1. Các chuỗi để hiển thị kí tự, và các số có nghĩa là để làm toán. Chuỗi không có nghĩa là làm toán, chúng chỉ giữ các kí tự. nếu bạn cố gắng làm toán với một chuỗi, nó sẽ không hoạt động (ngoại trừ trong JavaScript).
Chuỗi không nên được sử dụng cho tính toán – chúng chứa và hiển thị các nhân vật. nếu chúng ta có chuỗi “1”, nó sẽ được ghi lại dưới dạng một kí tự thay vì một số nguyên có thể được sử dụng cho tính toán.


5. Biến logic

Kiểu biến cuối cùng mà ta cần nhắc đến đó chính là biến logic. Biến logic là biến đúng hay sai, và chúng rất quan trọng khi làm game. Chúng được sử dụng khi có sự lựa chọn. sau đây là ví dụ:
  • isAlive
  • isShooting
  • isInAppPurchaseCompleted
  • isConnectedToInternet
Hầu hết các biến đều bắt đầu bằng các từ này. Điều này thường được sử dụng để biểu thị rằng biến mà chúng ta đang sử dụng là một logic. Khi bạn tạo một trò chơi, bạn sẽ có xu hướng tạo rất nhiều biến logic bởi vì có rất nhiều trạng thái mà đối tượng trò chơi có thể có. Thông thường, các trạng thái này chỉ có 2 lựa chọn, và điều tốt nhất đó chính là sử dụng một biến logic.
 
Đôi khi bạn phải sử dụng một biến số nguyên thay vì logic. Thông thường thì 0 là sai còn 1 là đúng. Chúng ta sẽ sử dụng chúng trong C2 sau này.


6. Các biến khác

Khi nói về sản xuất trò chơi, có rất nhiều các biến cụ thể khác nhau từ môi trường này đến môi trường khác. Đôi khi, có các biến GameObject, và cũng có thể là toàn bộ các biến cụ thể hơn.

 

Bài 2. Khai báo biến
 
Nếu bạn muốn lưu trữ bất kì dữ liệu nào trong biến, trước tiên bạn phải khai báo chúng. Trong backend của C2, có rất nhiều biến đã được khai báo cho bạn. điều này có nghĩa là C2 đưa ra công việc khai báo biến. các biến được chăm sóc cho bạn bao gồm:
  • bàn phím
  • vị trí chuột
  • góc chuột
  • loại trình duyệt web
Viết các biến trong đoạn mã

 

Khi chúng ta sử dụng C2, có rất nhiều các công đoạn khó khăn đã được thực hiện cho chúng ta. Vì vậy, ta sẽ khai báo biến trong code như thế nào? Thông thường, các biến được khai báo ở đầu tài liệu mã hóa:
 
Int score;
Real timescale = 1.2;
Bool isDead;
Bool isShooting = false;
String name = “John Bura”;
 
Hãy nhìn vào chúng. Loại biến được liệt kê đầu tiên. Trong trường hợp này, chúng ta có các biến Int, Real, Bool (Boolean), và String. Tiếp theo chúng ta có tên của biến. nếu bạn cẩn thận, bạn có thể thấy các biến nhất định có 1 dấu = và một số thì không có. Khi chúng ta có một biến với dấu bằng, chúng ta khởi tạo nó. Điều này có nghĩa là chúng ta thiết lập thông tin trong nó ngay. Thỉnh thoảng bạn cần làm điều này vào những lúc khác. Ví dụ, một điểm số không cần được khởi tạo bởi vì chúng ta sẽ thay đổi điểm số khi trò chơi phát triển.
 
Như bạn đã biết, bạn có thể khởi tạo một biến Boolean thành đúng hoặc sai – đây là 2 trạng thái duy nhất một biến Boolean có thể được nhập. bạn cũng nhận thấy rằng có đầu ngoặc kép ở biến chuỗi.
 
Đây là một ví dụ bị lỗi:
 
Int score = -1.2;
Bool isDead = “false”;
String name = John Bura;
Có một vài thứ sai trong ví dụ này. Đầu tiên, biến Intkhông được có thập phân. Thứ hai, biến Boolcó dấu ngoặc kép. Cuối cùng, biến Stringkhông có ngoặc kép. Trong hầu hết các môi trường, điều này sẽ khiến chương trình không làm việc. tuy nhiên, trong HTML5 hoặc JavaScript, biến được thay đổi để phù hợp với tình huống.



WAITING FOR LUV
Bạn có muốn cải thiện khả năng thiết kế đồ họa của mình? Chắc hẳn các bạn cũng biết, nếu các dòng code là linh hồn của một trò chơi, thì đồ họa chính là bộ mặt của trò chơi đó. Đồ họa đẹp, dễ nhìn sẽ khiến trò chơi của bạn tăng tỉ lệ hấp dẫn người xem đến 90%. Hiện tại có hai công cụ hỗ trợ thiết kế đồ họa game tiện nhất mà mình biết, đó là Photoshop và Illustrator. Mình sẽ cố gắng tìm kiếm và chia sẻ các đồ họa game miễn phí cho các bạn tại blog này; tuy nhiên, một trò chơi mà 100% do chính mình tạo ra vẫn hơn là đi cóp nhặt hình ảnh từ nơi khác đúng không nào. Tiện đây, mình có chia sẻ một khóa học thiết kế đồ họa Game 2D cho Mobile. Các bạn có thể tham khảo dưới đây để được giảm 40% học phí nhé.



Bài 3. Biến trong JavaScript

 

C2 xuất game sang HTML5, điều này có nghĩa là rất nhiều chức năng trong C2 được viết bằng JavaScritpt (JS). Trong JS, loại của biến không được xác định cho đến khi bạn khởi tạo nó. Mặc dù điều này làm JS trở nên dễ dàng hơn, nhưng nó cũng có ưu nhược điểm. nhược điểm lớn nhất là đôi khi bạn quên rằng các biến thuộc loại nào, dẫn đến kết quả không mong muốn khi chạy ứng dụng. 


Kiểm tra mã JS


JS là một ngôn ngữ web rất phổ biến. nó dễ dàng code hơn hầu hết các ngôn ngữ lập trình khác.
 
Chúng ta hãy xem xét một số ví dụ về mã JS.
 
var score;
var timescale = 1.2;
var name = “John Bura”;
var playerName;
 
Bạn sẽ nhận ra rằng tất cả các biến đơn giản được gọi là var thay vì Int, Bool, String Real. Điều này có nghĩa là, đến khi bạn khởi tạo biến, var có thể là bất cứ cái gì bạn muốn.
 
Vì vậy trong trường hợp này, score ko phải là một số, nó đơn giản chỉ là 1 biến. tuy nhiên timecase lại là một biến số bởi vì ta khởi tạo nó với dấu =. Tương tự, var name là một chuỗi trong khi đó var playerName chỉ đơn giản là một biến. bản chất của chúng không được thiết lập cho tới khi chúng được khởi tạo. JS trở nên phổ biến vì bạn có thể có ít mã khó nhằn hơn và nó vẫn hoạt động.
Bây giờ, trong JS, có một vài thứ không xảy ra trong hầu hết các môi trường – bạn có thể trộn và kết hợp các biến. tôi khuyên bạn không nên làm điều này. Là một lập trình viên đã bắt đầu với các giá trị nguyên và chuỗi, tôi đánh giá cao việc bạn giữ nguyên các biến đã tổ chức. nếu bạn trộn lẫn và kết hợp các biến và đơn giản là ko quan tâm, bạn sẽ gặp khó khăn khi xuất bản game – và xuất bản game là việc rất quan trọng đấy.

 

Bởi vì C2 được xuất từ JS nên rất quan trọng về việc hiểu một chút căn bản cách hoạt động của nó. Điều quan trọng hơn là biết về các biến hiện tại, bởi vì ngay cả trong JS bạn cũng phải sử dụng các loại biến khác nhau.

 

Bài 4. Biến trong Construct 2

 

Giống như hầu hết các thứ trong C2, biến rất đơn giản. mặc dù là việc thêm các biến vô cùng khó nhằn với các ngôn ngữ lập trình khác nhưng với C2 nó chỉ là trò trẻ con.


1. Thêm biến

Thêm biến vào trong trò chơi thực sự rất quan trọng. nếu không có biến, bạn không thể lưu trữ bất kì dữ liệu nào. Điều này sẽ làm cho trò chơi hầu như không có tính năng gì, và nó sẽ hạn chế game của bạn thành một game nhỏ.
Để thêm biến, đi tới event sheet và kích chuột phải vào nó. Nó sẽ cho bạn một menu. Kích vào biểu tượng Add event sẽ cho phép bạn thêm biến:

 

 

Có 2 loại biến trong C2: global (toàn cầu) và local (địa phương). Biến có thể được nhìn ở các nơi khác nhau. Biến toàn cầu sẽ được nhìn thấy trong toàn bộ trò chơi. Còn biến địa phương chỉ có thể nhìnbơi một đối tượng game hoặc một tính năng.
 
2. Tạo biến toàn cầu

 

Kích chuột phải vào event sheet và chọn Add global variable:
 
 
Như bạn thấy ở ảnh chụp màn hình trước, có 4 phần. bạn có thể đặt tên cho biến một cách dễ nhớ. Đặt một cái tên dễ nhớ sẽ khiến quá trình xây dựng trơ nên trơn tru hơn. Có thể đặt như là score, numberOfShoothay là powerUpLevel. Bạn ko được để dấu cách ở tên biến – máy tính sẽ ko cho phép.
 
Như bạn cũng thấy ở đây, bạn có 2 TypeNumberText. Phần intial valuelà nơi bạn có thể khởi tạo các biến. C2 sẽ tự động khởi tạo phần này cho bạn; tuy nhiên, nếu bạn muốn có 1 con số hay cái tên, bạn có thể đặt nó vào đây. Hãy nhớ rằng, nếu bạn làm một biến văn bản, bạn sẽ không thể tính toán với nó, bạn chỉ có thể tính toán với các biến số.
Phần Description là phần mô tả, nó sẽ giúp bạn dễ nhận ra biến này là cái gì, phòng khi trò chơi của bạn có hơn 100 biến :’))).


3. Tạo biến điểm số

Hãy tạo ra một biến Score để theo dõi điểm số. một lần nữa, biến lưu trữ các dữ liệu. chúng ta cần phải thiết lập một biến Score để lưu trữ dữ liệu điểm số. bất cứ khi nào bạn cần lưu trữ một lượng thông tin nhỏ, bạn cần tạo một biến.
 
 
Tiếp tục và ấn OK.
 
 
Ở ảnh trước, bạn có thể thấy biến Score trông như thế nào trong C2. Bạn có thể thấy nó ở đầu event sheet – nó sẽ ở đầu event sheet, giống như các biến trong ngôn ngữ lập trình khác.
 
4. Thêm một biến vào một sprite

 

Hãy thêm một biến địa phương. Thêm một sprite vào trò chơi và chọn nó. Bạn sẽ thấy cài này, trong cửa sổ Properties ở bên tay phải có một thứ được gọi là Instance variable(biến thực thể). Đây chính là biến địa phương, nó có nghĩa là đối tượng này chỉ là một đối tượng trò chơi mà sử dụng các biến này. Thông thường, các biến thực thể thường là các biến như sinh mạng, máu, giáp và các chỉ số khác. Mội đối tượng game lại có các biến khác nhau.
 
 
Tiếp tục và kích vào Instance variable.
 
 
Kích vào dấu cộng để thêm biến. cửa sổ New Instance variable sẽ xuất hiện:
 

 

Tại đây bạn sẽ thấy một hộp thoại giống như hộp thoại của biến toàn cầu. sự khác biệt duy nhất là bây giờ bạn có thể thêm loại Boolean. Hầu hết các phần, các tùy chọn đều giống nhau.
 
5. Tạo một biến sinh mạng

 

Hãy đi tiếp và tạo một biến health và gán cho nó Intial value là 100 trong cửa sổ trước. bạn có thể đặt tên biến là bất cứ thứ gì bạn muốn. bạn có thể đặt là banananếu bạn thích. Đặt tên cho biến sẽ giúp ta dễ hiểu giá trị mà biến đang giữ. Bằng cách thiết lập biến health, chúng ta hiện tại đang có một hòm chứa các con số sinh mạng. bằng cách này, ta có thêm sự kiện để cộng hoặc trừ giá trị sinh mạng. chúng ta có thể thiết lập game logic để di chuyển tới màn hình game over nếu sinh mạng dưới 0. Game logic đơn giản chỉ là logic cần để tạo game. Nó cũng có thể được gọi là programming. Chú ý healthkhông được viết hoa. Điều này là do biến địa phương thường không được viết hoa. Điều này không có quy ước cụ thể nhưng các lập trình viên thường coi biến toàn cầu viết hoa còn biến địa phương thì ko. Lí do là để khi bạn nhìn vào màn hình, bạn có thể nhận ra ngay đâu là biến toàn cầu, đâu là biến địa phương. Các lập trình viên khác có thể có cách phân biệt khác. Chính vì vậy nếu có làm việc với họ, hãy chắc chắn rằng bạn biết họ nghĩ gì. 

 

Nếu bạn có được một màn hình như bên trên, kích OK.
 
 
Bây giờ bạn đã có một biến thực thể rồi đấy.
 
6. Giới thiệu về mảng

 

Mảng thật sự ảnh hưởng đến thiết kế game. Về cơ bản, mảng là một lưới dữ liệu. chúng ta có thể lấp đầy mạng lưới này với bất kì thông tin nào mà chúng ta muốn. trong quá khứ, mảng được sử dụng rất nhiều vì công nghệ bị hạn chế, thậm chí ngày nay vẫn được sử dụng và rất hữu ích. Đây là một hình đại diện của mảng:

 

NỘI DUNG BỊ GIỚI HẠN

Hết phần nội dung được xem trước.

Nội dung phần bên dưới giới hạn cho Thành viên Trả phí sử dụng.

Bạn cần có tài khoản Trình độ 5 trở lên để xem tiếp khóa học này.

  • Để được truy cập bạn hãy tiến hành Đăng ký
  • Nếu bạn đã có tài khoản, hãy tiến hành Đăng nhập

Trả lời