x = x0 + vx0*time;
// The z-location is influenced by the acceleration
// due to gravity.
double g = -9.81;
z = z0 + vz0*time + 0.5*g*time*time;
// Update the display
updateDisplay();
// If the beanbag hits the ground, stop
// the simulation.
if ( z <= 1.4 ) {
gameTimer.stop();
}
}
}
10.4 Linear Momentum and Impulse
10.4.1 Conservation of Linear Momentum
10.4.2 Two-Body Linear Collisions
class GameUpdater implements ActionListener {
public void actionPerformed(ActionEvent event) {
// Determine if a collision occurs and if it
// does, change the velocities of the spheres.
// A collision occurs if the distance between the
// centers of the spheres is less than twice their
// radii.
double distance = Math.abs(x1 - x2);
double tmp = 1.0/(mass1 + mass2);
if ( distance <= 2.0*sphereRadius ) {
double newVx1 = (mass1 - e*mass2)*vx1*tmp +
(1.0 + e)*mass2*vx2*tmp;
double newVx2 = (1.0 + e)*mass1*vx1*tmp +
(mass2 - e*mass1)*vx2*tmp;
vx1 = newVx1;
vx2 = newVx2;
}
// Compute the new location of the spheres.
double timeIncrement = 0.07;
x1 = x1 + timeIncrement*vx1;
x2 = x2 + timeIncrement*vx2;
// Update the display.
updateDisplay();
// If either of the spheres hits the outer edge
// of the display, stop the simulation.
Graphics g = drawingPanel.getGraphics();
int width = drawingPanel.getWidth() - 1;
int height = drawingPanel.getHeight() - 1;
if ( 10.0*(x1 + sphereRadius) > width ||
10.0*(x1 - sphereRadius) < 0.0 ||
10.0*(x2 + sphereRadius) > width ||
10.0*(x2 - sphereRadius) < 0.0 ) {
gameTimer.stop();
}
}
}
}
10.5. Explosion Basics
An explosion as defined in this chapter is a sudden release of energy. The energy released might be the result of a chemical reaction, nuclear fission, or some other process. Explosions happen in very short time durations, typically in thousandths of a second (milliseconds).
Because the blast wave expands outwards so rapidly, behind the blast wave is a region of low air pressure. This low-pressure region “sucks” the air along with it, causing a wind that initially follows the blast wave. As the blast wave continues outward, the relative pressure in front of and behind the blast wave changes such that the direction of the wind can reverse direction, and for a time it can blow in towards the point of explosion.
10.5.1 Explosive Types
Gunpowder
Nitroglycerine
Dynamite
TNT
Ammonium Nitrate
C4
10.5.2. Blast Damage
TNT Explosion Model
- Yêu cầu SV chuẩn bị:
- Đọc chương 2,3,4,6,13 trong [3]
- Đọc các phần tương ứng trong tài liệu [5].
- Chú ý nghe giảng.
- Tích cực tham gia phát biểu ý kiến
Bài giảng 11: Tác động bằng các thiết bị điều khiển
Tiết thứ: 34-37 Tuần thứ: 12+13
- Mục đích, yêu cầu:
• Nắm được cách lập trình cho các thiết bị điều khiển game như tay cầm, chuột, cảm biến chạm.
- Hình thức tổ chức dạy học: Lý thuyết, tự học, tự nghiên cứu
- Thời gian: Lý thuyết, thảo luận: 4t; Thực hành: 3t Tự học, tự nghiên cứu: 8t
- Địa điểm: Giảng đường do P2 phân công.
- Nội dung chính:
Lý thuyết:
Điều khiển chuột
Đọc vị trí con trỏ chuột.
Lắng nghe nút bấm chuột.
Cài đặt cho vị trí chuột.
Tốc độ chuột, làm việc với con lăn
Tay cầm.
Điều khiển tay cầm.
Lắng nghe nút tay cầm.
Đọc các đánh dấu tay cầm.
Cảm biến chạm
Điều khiển cảm biến chạm.
Lắng nghe thao tác chạm.
Quản lý vị trí chạm.
Thực hành:
Xây dựng chương trình sao cho có thể dùng tay di chuyển các đối tượng trên màn hình đến vị trí mới.
- Yêu cầu SV chuẩn bị:
- Đọc chương 5 trong [1]
- Chú ý nghe giảng.
Bài giảng 12: Trí tuệ nhân tạo cho game
Tiết thứ: 38-41 Tuần thứ: 13+14
- Mục đích, yêu cầu:
• Nắm được các ứng dụng của AI trong game.
- Hình thức tổ chức dạy học: Lý thuyết, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 4t; Tự học, tự nghiên cứu: 8t
- Địa điểm: Giảng đường do P2 phân công.
- Nội dung chính:
Giới thiệu về AI cho game
Săn đuổi và tránh né.
Di chuyển dựa theo hàm đánh giá tiềm năng.
Giải thuật tìm đường đi.
Tìm đường đi theo A*
Máy học.
Mạng neural
Cơ sở luật trong AI.
- Yêu cầu SV chuẩn bị:
- Đọc tài liệu [2]
- Chú ý nghe giảng.
Bài 13. Quản lý âm thanh.
Tiết thứ: 42-45 Tuần thứ: 14+15
- Mục đích, yêu cầu:
• Nắm được cách cài đặt âm thanh cho game theo thời gian và theo hoạt cảnh.
- Hình thức tổ chức dạy học: Lý thuyết, thực hành, tự học, tự nghiên cứu
- Thời gian: Lý thuyết: 4t; Tự học, tự nghiên cứu: 8t
- Địa điểm: Giảng đường do P2 phân công.
Lý thuyết:
12.1 Chương trình phát âm thanh.
12.2 Thủ tục khởi tạo âm thanh.
Nhận diện driver
Quản lý kho âm thanh.
Thiết lập âm lượng.
THay đổi âm lượng.
12.3 Một ví dụ cụ thể.
Load 1 file âm thanh
Chạy 1 file âm thanh.
Dừng 1 file âm thanh.
Can thiệp vào mixer
Bật micro.
Tắt mic.
Điều chỉnh âm lượng.
Thực hành:
Xây dựng chương trình thay đổi âm thanh phát ra tùy theo hoạt cảnh.
- Yêu cầu SV chuẩn bị:
- Đọc tài liệu [1]
- Đọc các phần tương ứng trong tài liệu [5].
- Chú ý nghe giảng.
Chia sẻ với bạn bè của bạn: |