Nếu mệt mỏi với việc viết mã, sao không thử cho sushi bay lượn nhỉ?
Tôi đã tạo ra một tiện ích mở rộng vui nhộn (joke extension) cho VSCode có tên là SUSHI-Theme dành cho những ai đang mệt mỏi với việc viết mã.

Chỉ đơn giản là "sushi bay lượn theo nhịp gõ phím của bạn", chỉ vậy thôi...
Trong ảnh GIF ở trên chỉ có Ikura (Trứng cá hồi), nhưng còn có cả Maguro (Cá ngừ), Ebi (Tôm), v.v.
Tùy thuộc vào cách điều chỉnh tham số, màn hình có thể hơi ồn ào và làm bạn khó nhìn mã, nhưng dù sao khi mệt mỏi thì mã cũng chẳng lọt vào đầu được đâu, nên cứ ngoan ngoãn ngắm sushi có khi lại là cách giải trí tuyệt vời đấy.
Các tính năng chính
Chỉ báo Sushi (Sushi Indicator)

Chế độ Sôi động (Fever Mode)

Điểm đặc biệt
Để cân bằng giữa chuyển động của sushi và sự nhẹ nhàng cần thiết cho một tiện ích mở rộng vui nhộn, tôi đã không sử dụng các engine game nặng nề mà tự phát triển một engine nhẹ nhàng từ đầu dành riêng cho tiện ích này.
Tiện ích mở rộng sau khi được build chỉ chứa mã tự viết (ngoại trừ những gì VSCode cung cấp) và không phụ thuộc vào bất kỳ thư viện bên ngoài nào.
Các tham số (Parameters)
Trạng thái mặc định được thiết lập sao cho ít gây cản trở việc viết mã nhất có thể.

"Nhưng thế thì không thú vị chút nào!" Đối với những ai nghĩ vậy, tôi đã chuẩn bị sẵn các tham số để bạn có thể tùy chỉnh thỏa thích, thậm chí đánh đổi cả hiệu năng của PC.
Bạn có thể vào màn hình cài đặt từ bên dưới:

Cơ bản (Hiển thị・Phân loại)
-
sushiTheme.effectType (Loại sushi rơi xuống)
Chọn hiệu ứng sushi bay khi gõ phím. (Mặc định: Ngẫu nhiên). Mặc định là ngẫu nhiên, nhưng bạn có thể cho rơi liên tục chỉ một "món tủ" từ Cá ngừ (Maguro), Trứng cá hồi (Ikura), Tôm (Ebi), Trà xanh (Matcha). Hãy dùng khi bạn nghĩ "Hôm nay mình thèm cá ngừ". -
sushiTheme.enableStatusBar (Hiển thị Thanh trạng thái / Chỉ báo bộ nhớ Sushi)
Hiển thị Thanh trạng thái (Chỉ báo bộ nhớ Sushi). Tính năng này thể hiện lượng bộ nhớ PC đang sử dụng bằng số lượng sushi. -
sushiTheme.particleLifespanMultiplier (Độ tươi của sushi / Thời gian hiển thị)
Đặt hệ số nhân cho thời gian hiển thị (tuổi thọ) của sushi. Giá trị càng lớn thì sushi ở lại trên màn hình càng lâu, dồn lại thành đống ở dưới đáy màn hình, nhưng sẽ tiêu tốn nhiều bộ nhớ hơn. ※Xin chú ý đến việc tiêu thụ bộ nhớ.
Tinh chỉnh Engine Vật lý (Chuyển động・Tường・Va chạm)
Bạn có thể kiểm soát các đặc tính của engine vật lý.
-
sushiTheme.enableParticleCollision (Va chạm vật lý giữa các hạt sushi)
Bật va chạm vật lý giữa các hạt sushi. Khi bật tính năng này, các miếng sushi sẽ va vào nhau và nảy lên một cách chân thực. Đây là cài đặt bắt buộc nếu bạn muốn tạo thành một "núi sushi". (Có thể ảnh hưởng đến hiệu suất nếu tạo ra nhiều hạt). -
sushiTheme.particleSpeedMultiplier (Tốc độ bắn)
Hệ số nhân tốc độ cho sushi bay (Mặc định: 1.3. Ví dụ: 1.3 là tốc độ gấp 1.3 lần). Điều chỉnh tốc độ ban đầu của sushi khi vừa gõ phím. Nếu tăng giá trị này, mỗi khi bạn gõ phím, sushi sẽ bay ra với tốc độ kinh hoàng như thể kẻ thù truyền kiếp. -
sushiTheme.bounceTopDistance (Khoảng cách đến trần nhà)
Khoảng cách (tính bằng pixel) mà sushi bay lên từ con trỏ văn bản trước khi nảy ngược lại. Đặt bằng 0 để vô hiệu hóa độ nảy (trần nhà sẽ biến mất và tùy loại sushi mà chúng bay vút lên trên rồi biến mất). -
sushiTheme.bounceBottomDistance (Khoảng cách đến sàn nhà) Đặt khoảng cách đến bức tường (sàn) bên dưới. Đặt bằng 0 nghĩa là không có sàn (rơi vô tận). Giá trị càng lớn thì điểm nảy sẽ càng thấp ở phía dưới màn hình.
-
sushiTheme.bounceLeftDistance / bounceRightDistance (Tường trái / phải) Đặt khoảng cách đến bức tường bên trái/phải. Đặt bằng 0 để vô hiệu hóa bức tường bên trái/phải. Nếu bạn thiết lập tường ở cả 4 phía và tăng hệ số nảy, nó sẽ trông giống như trò chơi Pinball.
-
sushiTheme.particleRestitution (Hệ số nảy tổng thể)
Hệ số nảy khi các hạt va chạm (với tường, sàn hoặc với nhau). 1.0 là đàn hồi hoàn toàn (nảy như bóng cao su), 0 là không đàn hồi (rơi phịch xuống một cách nặng nề). -
sushiTheme.particleBouncinessMultiplier (Hệ số nhân độ nảy cho từng loại sushi)
Hệ số nhân độ nảy cho từng loại sushi cụ thể (ví dụ: Ikura nảy nhiều hơn Maguro). (Mặc định: 1.0). -
sushiTheme.particleMassMultiplier (Khối lượng sushi)
Hệ số nhân cho khối lượng (trọng lượng) của các hạt sushi. Nó ảnh hưởng đến chuyển động khi xảy ra va chạm. (Mặc định: 1.0). -
sushiTheme.particleFrictionMultiplier (Lực ma sát của sushi)
Hệ số nhân cho độ trượt của sushi. Giá trị cao hơn làm chúng dừng lại nhanh hơn khi rơi xuống sàn. (Mặc định: 1.0).
Điều chỉnh sự sảng khoái (Cài đặt Combo・Sôi động)
Đây là các thiết lập quản lý động lực giúp bạn viết mã một cách tập trung nhất.
-
sushiTheme.comboUnit (Ngưỡng tăng cấp)
Số lần gõ phím để nâng cấp sushi (Mặc định: 5). -
sushiTheme.comboTimeoutMs (Thời gian chờ Combo)
Thời gian (tính bằng ms) trước khi combo được đặt lại (Mặc định: 1500, tương đương 1.5 giây). Nếu không thích bị hối thúc, hãy thiết lập thời gian này dài hơn. -
sushiTheme.feverTriggerCombo (Mức combo để kích hoạt Sôi động)
Số lượng combo để bắt đầu Thời gian Sôi động (Fever Time). Mặc định là 50 combo. -
sushiTheme.feverDurationMs (Thời gian Sôi động)
Thời gian Sôi động kéo dài bao lâu tính bằng mili giây (ví dụ: 10000 = 10 giây). Nếu để quá dài, màn hình sẽ rất ồn ào và bạn sẽ chẳng thể tập trung viết mã được nữa. -
sushiTheme.feverSpawnCount (Lượng sushi trong Thời gian Sôi động)
Số lượng sushi rơi xuống cho mỗi lần gõ phím trong Thời gian Sôi động. Ngay cả mức mặc định là 5 cũng đã có một lượng kha khá rơi xuống.
Cài đặt hiệu suất (Thân thiện với PC)
Dùng để giải trí nhưng làm PC bị treo thì đúng là lợi bất cập hại, nên bạn có thể điều chỉnh tải trọng tại đây.
-
sushiTheme.fps (Tốc độ khung hình)
Thiết lập tốc độ khung hình (số lần vẽ mỗi giây) cho các hiệu ứng. Bạn có thể chọn độ mượt từ 15, 30, 60, hoặc 120. Giá trị càng cao thì hiệu ứng càng mượt nhưng tải trọng cho trình chỉnh sửa sẽ tăng lên. Nếu muốn chuyển động mượt mà thì chọn 60 hoặc 120, nếu muốn tiết kiệm pin thì nên chọn 15 hoặc 30. *Do giới hạn kiến trúc kết xuất của VS Code, tốc độ khung hình thực tế có thể bị giới hạn ngay cả khi được đặt ở mức cao. -
sushiTheme.throttleMs (Khoảng thời gian bỏ qua kết xuất)
Đặt thời gian tối thiểu (tính bằng mili giây) giữa các lần kết xuất hiệu ứng. Đây là khoảng thời gian hiển thị tối thiểu để ngăn trình soạn thảo bị lag khi gõ liên tục với tốc độ cao. Tăng giá trị này (ví dụ: 100-150) nếu trình soạn thảo của bạn bị giật lag khi gõ phím liên tục. (Mặc định: 80).
Lời kết
Nhất định hãy cài đặt tiện ích mở rộng SUSHI-Theme này để được chữa lành bằng những miếng sushi bay lượn mỗi khi bạn mệt mỏi với việc viết mã nhé!
Kho lưu trữ (Repository): SUSHI-Theme_ForVSCode
All rights reserved