Xử lí kép lập trình game trên console
Mình có đang lập trình 1 game caro trên console, khi mình đánh 1 con thì thanh TIME sẽ chạy mất dần, nhưng trong khoảng thời gian chạy thanh TIME mình ko thể di chuyển để đánh con cờ khác. Không biết có cách nào để xử lí song song vừa chạy thanh TIME mà vừa có thể di chuyển đánh trên bàn cờ ko? Mình xin cảm ơn
1 Like
Xin chúc mừng
Khi hỏi điều này, bạn đã bước thêm một bước trong thế giới lập trình.
Từ khóa dành cho bạn:
- Tiếng Việt: đa luồng trong C++
- Tiếng Anh: multithreading C++
3 Likes
Trong câu hỏi đã có câu trả lời: “xử lý song song”
Lần đầu tiên trong đời mình dính cái này cũng là progress bar, nhưng mà trong C# nên dễ hơn.
2 Likes
code đồ họa? ý bác là sao e chưa hiểu lắm
em mới năm nhất chưa biết gì về C# :v
Làm hết mình cái project cờ caro này đi, bạn sẽ lên trình nhanh lắm.
Kinh nghiệm từ 1 người đã bị đuổi khỏi HCMUS
2 Likes
hahaha e đang cố. mới vào đã ăn ngay quả đồ án khiếp quá
Hi HoangLong.hcmus.
- Bạn tìm sách về lập trình game để đọc.
https://www.amazon.com/SFML-Game-Development-Jan-Haller/dp/1849696845
- SFML là một thư viện đồ họa thiết kế tốt và doc đầy đủ. (Đọc qua mã nguồn của nó trên git).
- Chuẩn C++ mới hiện đại.
- Có code đầy đủ đi kèm.
- Vấn đề của bạn có vẻ ở vòng lặp game.
https://yinyangit.wordpress.com/2012/03/17/game-dev-tao-vong-lap-game-game-loop/
Thường khi lập trình trên conole vấn đề là hàm bắt sự kiện hay bị lock, các hàm update ui thường bị nháy.
Cách giải quyết thì áp dụng vòng lặp game vào.
1 Bắt sự kiến nhập -> update vị trí muốn đánh quan cờ, lấy time để update thanh thời gian -> đẩy hết buffer lên màn hình. Quay lai.
1 Like
Không cần multi-threading mới có thể xử lý 2 (n) việc cùng lúc. 1 loop với event polling cũng dư rồi.
4 Likes
em vừa fix đc rồi anh. tks a nhiều <3