Đèn giao thông--Có bác nào pro hướng dẫn mình viết bài tập này với...Sao mà khó quá vậy

hoangquan227

New Member
7/12/10
2
0
0
Bài tập thực hành số 9 (multi-threading)

Dùng kỹ thuật lập trình multi-threading hoặc Timer trong Java, viết một chương trình như mô tả sau đây:
• Xe đỏ di chuyển từ trái qua phải, xe xanh di chuyển từ phải qua trái, mỗi xe đi với tốc độ ngẫu nhiên. Khi hai xe đang di chuyển, một cảnh sát sẽ xuất hiện tại một vị trí ngẫu nhiên trên đường đi.

• Nếu xe nào gặp cảnh sát thì xe đó phải dừng lại và xe kia không được tông vào xe dừng. Sau đó hai xe vượt qua nhau và tiếp tục đi với tốc độ chậm hơn ban đầu. Lúc đó cảnh sát biến mất.


• Nếu trong lúc di chuyển mà không xe nào gặp cảnh sát (hoặc cảnh sát xuất hiện sau khi xe đi qua) thì 2 xe sẽ bị tông nhau. Nếu 2 xe tông nhau, ta cho hai xe dừng tại vị trí xảy ra tai nạn rồi ghi nhận lại tọa độ và thời điểm xảy ra tai nạn. Các thông tin này được thông báo ra màn hình bởi một dialog. Khi nhấn vào button “OK” của dialog thì hai xe sẽ trở về vị trí xuất phát.
Sinh viên có thể dùng các control, container của Java và thêm các ý tưởng của mình sao cho phù hợp với yêu cầu của đề bài.



 

JackV

Administrator
Staff member
Ðề: Đèn giao thông--Có bác nào pro hướng dẫn mình viết bài tập này với...Sao mà khó quá vậy

Cái này phức tạp nhỉ, dùng 3 luồng cho các đối tượng chính hoạt động, 1 luồng cũng được.
Lấy vị trí điểm đầu của xe làm điểm mốc để so sánh với vị trí xuất hiện của cảnh sát.

Trước tiên bạn viết sao cho 2 xe đi đến giữa tự dừng lại không đụng nhau rồi chúng ta bàn tiếp.