Lập trình game java cơ bản - Bắt đầu với việc làm game

Xin chào các bạn đã quay trở lại với blog.
Bài hôm nay chúng ta sẽ tiếp tục series tìm hiểu về lập trình game cơ bản (với ngôn ngữ sử dụng ở đây là Java nhé).

Ok, bắt đầu nào!!!
Đầu tiên mình sẽ nói qua nội dung mà hôm nay chúng ta sẽ tìm hiểu (nói chung là mấy cái cơ bản thôi, nên khá chán)
  1. Một số thứ cần thiết để bắt đầu
  2. Nhắc lại một số khái niệm cơ bản về lập trình hướng đối tượng (OOP)
  3. Chương trình "Hello World" thần thánh :))




1, Một số thứ cần thiết để bắt đầu:
Để làm game ta cần có một trình soạn thảo để viết code vào đấy (trên Windows có sẵn notepad hoặc nếu bạn dùng Linux sẽ có gedit chẳng hạn). Nhưng code bằng trình soạn thảo thì việc debug sẽ rất khó khăn. Bây giờ IDE có rất là nhiều, bạn có thể chọn một IDE riêng cho mình, ở đây mình sẽ chọn Eclipse :).
Đây là link download Eclipse từ trang chủ: Eclipse download
Do chúng ta sử dụng Java để code cho nên chúng ta sẽ phải cài đặt gói JDK (Java Development Kit), Bạn vào trang chủ của Oracle để download và cài đặt nhé (Vì trên mạng có rất nhiều bài hướng dẫn rồi nên mình sẽ không nói thêm ở đây)
Đây là link download JDK: JDK download

Ok, vậy là ta đã có thể bắt đầu lập trình game (ở đây đang là game desktop thôi nha, còn ví dụ bạn muốn lập trình game trên nền tảng di động như Android thì phải cài thêm Android SDK nữa, nhưng ở đây ta chỉ làm quen với lập trình game cơ bản, vấn đề kia sẽ nói sau, hehe :D)

2, Nhắc lại một số khái niệm cơ bản về lập trình hướng đối tượng:
Lập trình hướng đối tượng là gì? Cái này google sẽ ra một mớ :)), các bạn tự tìm hiểu nhé.
Vì sao người ta dùng lập trình hướng đối tượng rộng rãi như vậy?
Đơn giản là vì nó mạnh, mạnh ở chỗ đó là nó mô phỏng lại một thực thể ở thế giớ bên ngoài đây vào bên trong chương trình luôn, do đó chương trình sẽ rất dễ quản lý thông qua các đối tượng(object), mọi thuộc tính (attribute / properties) của đối tượng sẽ được che dấu đi và tất cả mọi thứ sẽ được đóng gói (encapsulation) vào hết trong đối tượng.Người dùng sẽ giao tiếp với đối tượng thông qua các phương thức (method).
* Ví dụ: ta có một đối tướng Girl, đối tượng này sẽ có các thuộc tính như: số đo 3 vòng, tuổi, vv..., các method (hay hành động) như nói, ăn, đi, vv...,

Ngoài ra trong OOP còn có khái niệm kếthừa (inheritance), nhờ có cái này mà chương trình của chúng ta sẽ gọn gàng, sạch đẹp, vi diệu =)), nó cho phép ta tái sử dụng lại mã nguồn (trong các bài sau các bạn sẽ thấy nó được dùng rất nhiều)

Một khái niệm khá quan trọng nữa đó là tính đa hình (polymorphism):
Các phương thức dùng trả lời cho một thông điệp sẽ tùy theo đối tượng mà thông điệp đó được gửi tới sẽ có phản ứng khác nhau.
* Ví dụ như: có 2 đối tượng coderA và coderB làm bài test, người ta cho 1 yêu cầu (thông điệp) cho 2 đối tượng này là 1 bài toán, thì 2 người này sẽ nhận thông điệp này và giải ra hai cách khác nhau chẳng hạn, :).

3, Chương trình "Hello World" thần thánh:
Chương trình này không phải là chương trình Hello World chạy trên console nữa mà ta sẽ tạo 1 frame (cửa số windows ấy, như windows form bên C# ý), và hiển thị chữ "Hello World" ra.

Các bạn tạo mới một project, sau đó tạo một class đặt tên là Hello, kế thừa JFrame (Lớp này sẽ biểu diễn cho chúng ta một cửa sổ)


Sau đó các bạn gõ đoạn code đơn giản sau vào:
package com.blogspot.xuho95;

import java.awt.Graphics;
import javax.swing.JFrame;

public class Hello extends JFrame{
 public Hello() {
  setTitle("Hello"); // Tiêu đề form sẽ là Hello
  setVisible(true); // Cho nhìn thấy form, nếu truyền false sẽ ko thấy form
  setSize(400, 400); // đặt kích thước form là 400x400 px.
 }
 @Override
 public void paint(Graphics g) {
  super.paint(g);
  g.drawString("Hello world", 100, 100); // Vẽ xâu "Hello world" tại vị trí (100, 100)
 }
 public static void main(String[] args) {
  new Hello(); // tạo mới một form
 }
}

Sau đó các bạn chạy thử đoạn code đó sẽ có kết quả như sau:




Mình đã comment ở đoạn code.
Phương thức  public void pain(Graphics g) là phương thức để vẽ lên form, ở đây mình vẽ lên form một xâu ký tự tại vị trí (x, y) = (100, 100) với x là trục hoành, y là trục tung của form.

Lưu ý:
Khác với trục tọa độ mà ta thường gặp trong toán học, với tung độ tăng dần từ dưới lên trên, thì ở trục tọa độ của form nó ngược lại, có nghĩa là tung độ tăng dần từ trên xuống dưới, hay nói cách khác là góc tọa độ ở form nằm ở góc trên bên trái. Các bạn nhớ lưu ý vấn đề này để các bài sau tránh nhầm lẫn :)

Bài hôm nay mình xin dừng ở đây, mong các bạn đóng góp ý kiến để các bài sau mình bổ sung thêm, các ơn các bạn đã theo dõi bài viết, hẹn gặp lại.

SHARE

Xuho

  • Image
  • Image
  • Image
  • Image
  • Image

0 comments:

Post a Comment