12/08/2018, 13:40

Giới thiệu về làm game Rắn cho nokia

Trở lại với thời trẻ trâu cấp 3, trong giờ học cắm cúi chơi rắn cho bằng bạn bằng bè trên chiếc nokia huyền thoại. Thời gian gần đây tìm hiều ngôn ngữ python tôi vô tình biết được cách tạo ra game huyền thoại đó. Cách thức của trò chơi là có một chú rắn con háu ăn thèm lớn. Chú ta đi ăn cho ...

snake_sejarah.jpg

Trở lại với thời trẻ trâu cấp 3, trong giờ học cắm cúi chơi rắn cho bằng bạn bằng bè trên chiếc nokia huyền thoại. Thời gian gần đây tìm hiều ngôn ngữ python tôi vô tình biết được cách tạo ra game huyền thoại đó.

Cách thức của trò chơi là có một chú rắn con háu ăn thèm lớn. Chú ta đi ăn cho đến khi cơ thể quá dài đến nỗi đòi ăn chính mình và chít. Bạn có thể tìm hiểu mô tả tốt hơn về trò chơi qua trang wikipedia.

Để xây dựng game chúng ta có 3 class là Snake, Body, và Food.

Snake Class:

class Snake(object):

    def __init__(self, x, y, window):
        # initialize snake:
        # - tạo snake
        # - tạo body
        # - tạo vị trí x, y

    def eat_food(self, food):
        # tạo ra và di chuyển food
        # stretch body
        # điểm số
        # tăng tôc độ

    def update(self):
        # update vị trí

    def render(self):
        # vẽ rắn

    def move(self):
        # di chuyển

Body class:

class Body(object):

    def __init__(self, x, y, char='#'):
        self.x = x
        self.y = y
        self.char = char

    @property
    def coor(self):
        return self.x, self.y

Food class:

class Food(object):
    def __init__(self, window, char='*'):
        # tạo random x, y

    def render(self):
        # vẽ

    def randomize(self):
        # sinh random

Khi có các class để chạy game ta sử dụng vòng lặp while:

while True:
    # xóa màn hình
    # hiển thị snake
    # hiển thị food
    # hiển thị score
    # chờ keypress
    # trả lời keypress event
    # dừng game nếu head hit body

game có thể chay trực tiếp trên pc. 13875036_1076607299074689_573454521_n.png

Bên trên là các class và function chính. Các bạn có thể tải code về chạy.

Cảm ơn các bạn đã đọc bài.

0