Ngân hàng câu hỏi của chương

Câu hỏi: Tổng hợp trắc nghiệm PRU213 - Assignment

100 câu trắc nghiệm kèm lời giải của môn Game Programming with C# - Lập trình Game với C#, xếp theo thứ tự nhập vào ngân hàng. Trang 5/5 — câu 81–100.

Danh sách câu hỏi

100/100 câuHết danh sách
8181. Which is the correct way to define a function with parameters?4 lựa chọnDễ100% trả lời đúng
Avoid Move { }
Bvoid Move(float speed, Vector3 direction) { }
Cvoid Move[float speed, Vector3 direction] { }
Dvoid Move{float speed, Vector3 direction} { }
Lời giải

Để định nghĩa một hàm có tham số, chúng ta cần sử dụng cú pháp chính xác. Trong đó, tên hàm được viết trước dấu ngoặc nhọn, sau đó là danh sách các tham số trong ngoặc nhọn. Mỗi tham số được viết dưới dạng loại dữ liệu tham số (ví dụ float, Vector3), sau đó là tên tham số. Ví dụ,

Lời giải
void Move(float speed, Vector3 direction) {
}

là một định nghĩa hàm chính xác, nơi Move là tên hàm, speed và direction là hai tham số có loại dữ liệu float và Vector3 tương ứng. Cú pháp này cho phép chúng ta truyền vào hàm các giá trị cụ thể cho các tham số, giúp hàm thực hiện các tác vụ phức tạp.

Mở trang câu hỏi này →
8282. What is the difference between Start() and Awake()?4 lựa chọnDễ100% trả lời đúng
AStart() is called first
BUpdate() is called between them
CThey are exactly the same
DAwake() is called before Start(), even if script is disabled
Lời giải
Start() và Awake() là hai phương thức quan trọng trong Unity. Start() được gọi khi một đối tượng được khởi tạo và sẵn sàng để hoạt động. Trong khi đó, Awake() được gọi ngay khi một đối tượng được tạo ra, ngay cả khi nó bị vô hiệu hóa. Điều này có nghĩa là Awake() sẽ được gọi trước Start(), ngay cả khi script bị vô hiệu hóa. Điều này rất quan trọng vì nó cho phép bạn thực hiện các hành động cần thiết ngay khi đối tượng được tạo ra, ngay cả khi nó không hoạt động.
Mở trang câu hỏi này →
8383. What does the [SerializeField] attribute do?4 lựa chọnDễ100% trả lời đúng
AMakes a private variable visible in the Inspector
BMakes a variable constant
CCreates a new variable
DDeletes the variable
Lời giải
Thuộc tính [SerializeField] trong Unity là một thuộc tính đặc biệt được sử dụng để chỉ định một biến có thể được nhìn thấy và chỉnh sửa trong Inspector. Điều này cho phép bạn tạo ra các biến có thể được chỉnh sửa trực tiếp trong Inspector, thay vì phải sử dụng các phương thức getter và setter. Thuộc tính này thường được sử dụng để tạo ra các biến có thể được chỉnh sửa trong thời gian chạy, chẳng hạn như biến số liệu thống kê hoặc biến trạng thái của một đối tượng. Tuy nhiên, cần lưu ý rằng thuộc tính này chỉ có tác dụng trong thời gian chạy và không ảnh hưởng đến mã nguồn của bạn.
Mở trang câu hỏi này →
8484. What does the following code do:4 lựa chọncó codeDễ
Đề bài
transform.Translate(Vector3.forward * speed * Time.deltaTime);
ADeletes the object
BRotates the object forward
CMoves the object forward at a constant speed
DScales the object
Lời giải
Mã code trên sử dụng phương thức Translate của lớp Transform để di chuyển đối tượng theo hướng trước (forward) trong không gian 3D. Phương thức Translate nhận vào một vectơ đại diện cho vị trí di chuyển. Trong trường hợp này, vectơ được tạo bằng cách nhân vectơ hướng trước (Vector3.forward) với tốc độ (speed) và thời gian delta (Time.deltaTime). Thời gian delta là một giá trị nhỏ đại diện cho thời gian đã trôi qua kể từ lần cập nhật cuối cùng của khung hình. Việc nhân tốc độ với thời gian delta giúp đối tượng di chuyển với tốc độ không đổi, không phụ thuộc vào tốc độ khung hình. Điều này đảm bảo rằng đối tượng di chuyển đều đặn và không bị giật khi tốc độ khung hình thay đổi.
Mở trang câu hỏi này →
8585. Which method is called once when the script is first loaded?4 lựa chọnKhó33% trả lời đúng
AAwake()
BUpdate()
CFixedUpdate()
DStart()
Lời giải
Khi một script được tải vào trò chơi Unity lần đầu tiên, phương thức nào được gọi một lần duy nhất? Trong Unity, phương thức Awake() được gọi ngay khi một đối tượng được tạo ra và trước khi Start() được gọi. Điều này có nghĩa là phương thức Awake() được gọi một lần duy nhất khi đối tượng được tạo ra, và sau đó nó sẽ không được gọi lại khi trò chơi chạy. Điều này giúp bạn có thể thực hiện các tác vụ cần thiết ngay khi đối tượng được tạo ra, như khởi tạo các biến hoặc thực hiện các tác vụ cần thiết.
Mở trang câu hỏi này →
8686. Which data type is used to store decimal numbers?4 lựa chọnDễ100% trả lời đúng
Aint
Bfloat
Cbool
Dchar
Lời giải
Để lưu trữ các số thập phân, ta sử dụng dữ liệu kiểu float. Float là một trong những dữ liệu cơ bản trong lập trình, được sử dụng rộng rãi để biểu diễn các số có phần nguyên và phần thập phân. Ví dụ, số 3,14 là một số thập phân, và ta có thể lưu trữ nó dưới dạng float trong chương trình. Ngoài ra, float cũng được sử dụng để biểu diễn các số lớn và nhỏ, giúp cho việc tính toán và xử lý dữ liệu trở nên dễ dàng hơn. Tuy nhiên, cần lưu ý rằng float có thể dẫn đến các vấn đề về độ chính xác, đặc biệt là khi làm việc với các số lớn hoặc nhỏ.
Mở trang câu hỏi này →
8787. Which property is used to move an object in Unity?4 lựa chọnTrung bình
Atransform.position
Btransform.move
Ctransform.location
Dposition.transform
Lời giải

Để di chuyển một đối tượng trong Unity, bạn cần sử dụng thuộc tính nào? Trong Unity, có một số thuộc tính liên quan đến vị trí của đối tượng, bao gồm transform.position, transform.move và position.transform. Tuy nhiên, chỉ có transform.position mới được sử dụng để di chuyển đối tượng. Transform.position cho phép bạn thay đổi vị trí của đối tượng bằng cách gán giá trị mới cho nó. Ví dụ, nếu bạn muốn di chuyển đối tượng sang vị trí (1, 2, 3), bạn có thể sử dụng mã lệnh transform.position = new Vector3(1, 2, 3);. Điều này sẽ di chuyển đối tượng sang vị trí mong muốn.

Mở trang câu hỏi này →
Astatic int myVar;
Bpublic int myVar;
Cprivate int myVar;
Dconst int myVar;
Lời giải

Để khai báo một biến có thể nhìn thấy trong Unity Inspector, bạn cần sử dụng từ khóa 'public'. Từ khóa 'public' cho phép biến được truy cập và chỉnh sửa từ bên ngoài lớp. Ví dụ, nếu bạn muốn khai báo một biến 'myVar' là một số nguyên, bạn sẽ viết như sau: 'public int myVar; '. Điều này cho phép biến 'myVar' được nhìn thấy và chỉnh sửa trong Unity Inspector.

Mở trang câu hỏi này →
Askip
Bnext
Cbreak
Dcontinue
Lời giải
Trong lập trình, khi muốn bỏ qua một vòng lặp và chuyển sang vòng lặp tiếp theo, chúng ta sử dụng từ khóa nào? Từ khóa này giúp chúng ta bỏ qua phần còn lại của vòng lặp hiện tại và chuyển sang vòng lặp tiếp theo. Ví dụ, khi chúng ta sử dụng vòng lặp for để lặp qua một mảng, nhưng chúng ta muốn bỏ qua một phần của mảng nào đó, chúng ta có thể sử dụng từ khóa này để thực hiện việc đó. Từ khóa này rất hữu ích khi chúng ta cần thực hiện một số hành động nhất định trong một số trường hợp nhất định. Nó giúp chúng ta giảm thiểu số lần lặp và tăng hiệu suất của chương trình.
Mở trang câu hỏi này →
AVisual Studio
BNetBeans
CEclipse
DSublime Text
Lời giải
Unity là một trong những công cụ phát triển trò chơi phổ biến nhất hiện nay. Khi sử dụng C# để lập trình trong Unity, bạn cần một môi trường tích hợp phát triển (IDE) phù hợp để viết và biên dịch mã. Trong số các lựa chọn trên, Visual Studio là lựa chọn được khuyến nghị bởi Unity. Visual Studio cung cấp các tính năng như code completion, debugging và version control, giúp bạn dễ dàng viết, kiểm tra và quản lý mã của mình. Ngoài ra, Visual Studio cũng hỗ trợ các tính năng như tạo dự án, quản lý tài nguyên và tích hợp với các công cụ khác của Unity. Vì vậy, nếu bạn đang tìm kiếm một IDE để lập trình C# trong Unity, Visual Studio là lựa chọn tốt nhất.
Mở trang câu hỏi này →
9191. What is the correct syntax for an if statement?4 lựa chọnDễ75% trả lời đúng
Aif {condition}
Bif [condition] { }
Cif condition { }
Dif (condition) { }
Lời giải

Câu lệnh if trong lập trình là một trong những câu lệnh điều khiển luồng chương trình. Nó được sử dụng để kiểm tra một điều kiện và thực hiện một hành động nếu điều kiện đó là đúng. Syntax của câu lệnh if trong nhiều ngôn ngữ lập trình phổ biến như C, Java, Python, v.v. thường có dạng:

Lời giải
if (condition) {
    // mã lệnh thực hiện nếu condition là true
}

Trong đó, condition là biểu thức điều kiện, có thể là một biến, một biểu thức toán học, một so sánh, v.v. Nếu condition là true, thì mã lệnh trong khối lệnh sẽ được thực hiện. Nếu condition là false, thì mã lệnh trong khối lệnh sẽ bị bỏ qua. Ví dụ:

Lời giải
if (x > 10) {
    System.out.println("x lớn hơn 10");
}

Trong ví dụ trên, nếu x có giá trị lớn hơn 10, thì câu lệnh System.out.println("x lớn hơn 10") sẽ được thực hiện.

Mở trang câu hỏi này →
9292. Which data type is used to store text?4 lựa chọnTrung bình67% trả lời đúng
Aint
Bchar
Ctext
Dstring
Lời giải
Dữ liệu được sử dụng để lưu trữ văn bản là string. String là một loại dữ liệu có thể chứa nhiều ký tự và được sử dụng rộng rãi trong các ứng dụng như lưu trữ thông tin người dùng, nội dung trang web, v.v. Nó cho phép bạn lưu trữ và hiển thị văn bản phức tạp, bao gồm cả các ký tự đặc biệt và các ký tự không phải là chữ cái.
Mở trang câu hỏi này →
9393. What does the != operator do?4 lựa chọnDễ100% trả lời đúng
AAssigns a value
BChecks inequality (not equal)
CChecks equality
DPerforms division
Lời giải
Hàm != trong lập trình là một toán tử so sánh. Nó được sử dụng để kiểm tra xem hai giá trị có khác nhau hay không. Ví dụ, nếu bạn muốn kiểm tra xem một biến có bằng 5 hay không, bạn có thể sử dụng toán tử ==. Nhưng nếu bạn muốn kiểm tra xem một biến có khác 5 hay không, bạn sẽ sử dụng toán tử !=. Điều này có nghĩa là nếu giá trị của biến khác 5, thì toán tử != sẽ trả về giá trị True. Ngược lại, nếu giá trị của biến bằng 5, thì toán tử != sẽ trả về giá trị False. Toán tử != thường được sử dụng trong các điều kiện if và for loop để kiểm tra các giá trị và thực hiện các hành động khác nhau dựa trên kết quả của việc so sánh.
Mở trang câu hỏi này →
9494. What is the correct syntax for a for loop?4 lựa chọnDễ100% trả lời đúng
Afor i = 0 to 10 { }
Bfor (i < 10) { }
Cfor (int i = 0; i < 10; i++) { }
Dloop(10) { }
Lời giải

Một vòng lặp for trong lập trình là một cấu trúc lặp được sử dụng để thực hiện một hành động hoặc một chuỗi hành động nhiều lần. Syntax của một vòng lặp for được sử dụng rộng rãi trong nhiều ngôn ngữ lập trình khác nhau, bao gồm C, C++, Java, Python, v.v. Syntax chính của một vòng lặp for bao gồm ba phần chính: phần khai báo biến, phần điều kiện và phần tăng/giảm biến. Phần khai báo biến được sử dụng để khai báo biến sử dụng trong vòng lặp, phần điều kiện được sử dụng để xác định điều kiện dừng vòng lặp và phần tăng/giảm biến được sử dụng để tăng hoặc giảm giá trị của biến sau mỗi lần lặp. Ví dụ về syntax của một vòng lặp for trong C++ là:

Lời giải
for (int i = 0; i < 10; i++) {
}
Mở trang câu hỏi này →
AKeyboard.GetKey()
BKeyBoard.Check()
CInput.GetKey()
DGetKeyboard()
Lời giải
Để phát hiện đầu vào từ bàn phím trong Unity, bạn cần sử dụng hàm Input.GetKey(). Hàm này sẽ trả về giá trị true nếu phím được nhấn và false nếu không. Bạn có thể sử dụng nó trong hàm Update() để kiểm tra xem phím nào đang được nhấn. Ví dụ, bạn có thể sử dụng nó để di chuyển nhân vật trong trò chơi khi nhấn phím W, A, S, D. Ngoài ra, bạn cũng có thể sử dụng hàm Input.GetKeyUp() để kiểm tra xem phím nào đã được thả ra.
Mở trang câu hỏi này →
9696. Which operator is used for OR logic?4 lựa chọnDễ100% trả lời đúng
A&&
B!
C|
D||
Lời giải

Để thực hiện phép logic OR, ta sử dụng toán tử ||. Ví dụ, trong một chương trình, ta muốn kiểm tra xem một người dùng có phải là admin và có quyền truy cập vào hệ thống hay không. Ta có thể sử dụng toán tử || để thực hiện phép logic này. Ví dụ:

Lời giải
if (user.isAdmin || user.hasAccess) {
  ...
}

Trong trường hợp này, nếu người dùng là admin hoặc có quyền truy cập vào hệ thống, thì phép logic sẽ được thực hiện.

Mở trang câu hỏi này →
9797. Which method detects when a key is released?4 lựa chọnTrung bình67% trả lời đúng
AInput.GetKey()
BInput.ReleaseKey()
CInput.GetKeyUp()
DInput.GetKeyDown()
Lời giải
Để phát hiện khi một phím được thả ra, bạn cần sử dụng phương pháp Input.GetKeyUp(). Phương pháp này sẽ trả về giá trị true khi phím được nhấn và sau đó thả ra. Điều này khác với Input.GetKey(), phương pháp này chỉ trả về giá trị true khi phím đang được nhấn. Còn Input.GetKeyUp() sẽ trả về giá trị true khi phím được thả ra. Vì vậy, nếu bạn muốn phát hiện khi một phím được thả ra, bạn nên sử dụng Input.GetKeyUp().
Mở trang câu hỏi này →
9898. Which keyword is used with if to provide an alternative condition?4 lựa chọnDễ100% trả lời đúng
Athen
Belse if
Celif
Dotherwise
Lời giải
Câu lệnh if trong lập trình thường được sử dụng để kiểm tra một điều kiện nào đó. Để cung cấp một điều kiện thay thế, chúng ta sử dụng từ khóa "elif". Từ khóa "elif" được sử dụng để kiểm tra một điều kiện khác nếu điều kiện trước đó không được đáp ứng. Ví dụ: if x > 5: print('x lớn hơn 5') elif x == 5: print('x bằng 5') elif x < 5: print('x nhỏ hơn 5') Câu lệnh trên sẽ in ra 'x lớn hơn 5' nếu x lớn hơn 5, 'x bằng 5' nếu x bằng 5 và 'x nhỏ hơn 5' nếu x nhỏ hơn 5.
Mở trang câu hỏi này →
A+
B*
C/
D-
Lời giải
Để thực hiện phép cộng trong C#, bạn cần sử dụng toán tử cộng (+). Toán tử này được sử dụng để kết hợp hai hoặc nhiều giá trị số lại với nhau. Ví dụ: int a = 5; int b = 7; int c = a + b; trong đó c sẽ có giá trị là 12. Ngoài ra, toán tử cộng cũng có thể được sử dụng với các giá trị khác như chuỗi, nhưng trong trường hợp đó, nó sẽ thực hiện phép nối chuỗi. Ví dụ: string a = "Hello"; string b = "World"; string c = a + " " + b; trong đó c sẽ có giá trị là "Hello World". Toán tử cộng là một trong những toán tử cơ bản trong C# và được sử dụng rộng rãi trong lập trình.
Mở trang câu hỏi này →
Aprotected
Bpublic
Cprivate
Dinternal
Lời giải
Để một biến có thể truy cập từ các script khác, chúng ta cần sử dụng từ khóa 'public'. Từ khóa này cho phép biến được truy cập từ bất kỳ đâu, bao gồm cả các script khác trong cùng một chương trình hoặc từ các chương trình khác.
Mở trang câu hỏi này →