Để chƣơng trình có thể hoạt động đƣợc đầu tiên ta cần phải tạo dữ liệu cho chƣơng trình, mà ở đây chính là dữ liệu của các đối tƣợng.
56
Đối tƣợng quả bóng: Khi quả bóng di chuyển và va chạm sẽ có các giá trị là tọa độ, vận tốc sẽ thay đổi. Khi bóng đƣợc di chuyển giữa 2 đội muốn biết đội nào cầm bóng và sút bóng ta cần có thêm một thuộc tính ở dạng True và False.
Đối tƣợng là cầu thủ: Các giá trị thuộc tính là tọa độ cầu thủ, vận tốc cầu thủ, hƣớng cầu thủ di chuyển và điểm số ngƣời chơi nếu nhƣ cầu thủ đó ghi bàn.
Một dữ liệu không thể thiếu trong chƣơng trình Elm đó là tín hiệu, là những dữ liệu từ bên ngoài tác động vào các đối tƣợng và làm chúng thay đổi theo ý của ngƣời chơi. Trong chƣơng trình này các tín hiệu đầu vào đều là từ bàn phím.
Ngoài ra còn một số kiểu dữ liệu khác nhƣ: Kiểu Keys là giá trị nhập vào từ bàn phím giao động trong 3 giá trị là (-1, 0, 1). Kiểu trạng thái chơi (State) có hai giá trị là Play và Pause. Kiểu hƣớng di chuyển cầu thủ (Direction) có 4 giá trị là sang trái, sang phải, lên trên và xuống dƣới.
Ball
x: Tọa độ x y: Tọa độ y vx: Tốc độ vx vy: Tốc độ vy
shoot1: Bóng thuộc cầu thủ A shoot1: Bóng thuộc cầu thủ B
Player
x: Tọa độ x y: Tọa độ y vx: Tốc độ vx vy: Tốc độ vy
dir: Hƣớng di chuyển ngƣời chơi score: Điểm ngƣời chơi
Signal Input
shift : True || False space: True || Flase enter: True || Flase dir1: Keys
dir2: Keys
delta: Time (kiểu thời gian)
Keys
x: Int y: Int
57
Bƣớc tiếp theo sau khi xây dựng đƣợc dữ liệu ta sẽ phân tích các quá trình phản ứng trong trò chơi:
Khi bóng bắt đầu đƣợc phát đi nếu va trạm vào các biên của sân bóng sẽ đƣợc nẩy lại và thay đổi vận tốc.
Nếu bóng bay vào khung thành thì sẽ đƣợc tính điểm cho đội ghi điểm. Đội nào ghi đƣợc 5 điểm trƣớc coi nhƣ thắng và kết thúc trò chơi. Muốn chơi lại ta cần nhấn phím để khởi động lại trò chơi.
Nếu bóng gập cầu thủ thì sẽ di chuyển theo cầu thủ.
Còn với cầu thủ sẽ di chuyển theo hƣớng mà bóng nó bay mục đính là bắt bóng và dắt bóng sau đó có thể đánh bóng đi nếu ở vị trí đẹp.
Ngoài ra khi hai cầu thủ va chạm vào nhau nó sẽ cản cầu thủ đối phƣơng di chuyển.
Tất cả các quá trình phản ứng sẽ xảy ra nếu nhƣ các tín hiệu đầu vào từ bàn phím tác động vào các đối tƣợng.
Hình 3.3: Mô hình các kiểu dữ liệu trong trò chơi
Direction Left Right Down Up State Play Pause
58