Trang

20/1/13

Đồ án cuối kì - NMCNTT1: Game bắn máy bay B52 - giai đoạn 2

Phác thảo giai đoạn 2: Đi vào cụ thể

Trên màn hình người chơi sẽ có 2 bảng như thế này:

Sau khi vẽ 3 máy bay sẽ được hình sau: tọa độ máy bay có thể thay đổi tùy thuộc vào bạn chọn

---Tiếp theo: lận lượt mỗi người chơi sẽ chọn tọa độ và bấm space để bắn trên “trận địa bắn địch”
+ Nếu trúng thân: ô hiện màu lam
+ Nếu trúng đầu: ô hiện mày đỏ.
+Nếu trật: ô hiện chữ X
--> người nào bắn trúng cả 3 đầu máy bay địch sẽ chiến thắng và trò chơi kết thúc.
Thuật toán:
Kết nối và truyền dữ liệu 2 máy, nhờ sự giúp đỡ của Thầy: Trương Phước Hưng
Lập trình Socket:
Xây dựng các trận địa trên mảng 2 chiều.
1)      Hàm vemaybay: hàm trả về giá trị kiểu int
Input: Mảng 2 chiều arr[n][n] , tọa độ đỉnh (int x,int y), hướng (int h {đông=1; tây=2; nam=3; bắc=4} )
Xử lí:
+Nếu máy bay vẽ không được (ra khỏi khung, chồng lấn với máy bay khác) trả về giá trị của hàm bằng 0, hiển thị trên màn hình là dấu X và xác định (Enter) không được.
+Nếu vẽ được: các ô thân máy bay nhận giá trị 1, ô đầu máy bay nhận giá trị 2. Trả về giá trị của hàm = 1
Output: 
+Trả về giá trị 1 (vẽ được)
+Trả về giá trị 0 (không vẽ được)
2)      Hàm hiển thị ht :
Input: tọa độ ô (x,y), mảng arr[][]
Xử lí:
+nếu ô arr[x][y] == 1 hiển thị màu xanh
+nếu ô arr[x][y] ==2 hiển thị màu đỏ
+nếu ô arr[x][y] ==0 hiển thị dấu x

3)      Hàm banmaybay : giá trị trả về void
+ Input: tọa độ đạn (int x, int y), mảng trận địa địch tdd[n][n],  mảng trận địa bắn của ta t[n][n]
+ Xử lí:
Gán t[x][y] = tdd[x][y]
Dùng hàm hiển thị:
 + tô màu ô (x,y) vừa bắn trên bảng trận địa bắn
 + tô màu ô (x,y) vừa bắn trên bảng trận địa máy bay của địch

  .............
To be continue

Không có nhận xét nào:

Đăng nhận xét