Tôi hiện đang làm việc trên trình chỉnh sửa bản đồ cho trò chơi trong trò đùa, sử dụng bản đồ lát. Mức được xây dựng lên ra khỏi khối trong cơ cấu như sau (mặc dù lớn hơn nhiều):Chuyển tuple thành danh sách và quay lại
level1 = (
(1,1,1,1,1,1)
(1,0,0,0,0,1)
(1,0,0,0,0,1)
(1,0,0,0,0,1)
(1,0,0,0,0,1)
(1,1,1,1,1,1))
nơi "1" là một khối đó là một bức tường và "0" là một khối không khí đó là trống rỗng.
Các mã sau đây về cơ bản là một xử lý sự thay đổi của các loại khối:
clicked = pygame.mouse.get_pressed()
if clicked[0] == 1:
currLevel[((mousey+cameraY)/60)][((mousex+cameraX)/60)] = 1
Nhưng kể từ khi mức được lưu trữ trong một tuple, tôi không thể thay đổi giá trị của các khối khác nhau. Làm cách nào để tôi thay đổi các giá trị khác nhau ở cấp độ một cách dễ dàng?
Chỉnh sửa: Đã giải quyết! Cảm ơn các bạn
không sử dụng một tuple, chỉ cần sử dụng một danh sách từ đầu. Nó có thể thực sự làm chậm mã của bạn nếu mức độ của bạn là rất lớn, nếu bạn phải tiếp tục chuyển đổi chúng – jamylak
làm thế nào về đi với danh sách thay vì tuples ngay từ đầu? –
@ user2133308 btw chỉ là một lưu ý tương thích, bạn nên sử dụng phân chia số nguyên '//' thay vì chỉ '/' vì trong Python 3, '/' sẽ thực hiện phân chia dấu phẩy động và vặn mã của bạn. – jamylak