Code mmamammmmammamamaaamammma by John Carmack

Nội dung bài viết

Video học lập trình mỗi ngày

Ai đó phát hiện ra rằng đèn nhấp nháy trong tầng hầm của trò chơi Alyx phát hành năm 2020 giống với "Half-Life" phát hành năm 1998, cho thấy rằng chúng sử dụng cùng một mã.

Việc triển khai mã của nó là sử dụng một chuỗi này mmamammmmmammamamaaamammma để chỉ ra chuỗi thay đổi độ sáng của ánh sáng, a là tối và m là sáng. Kỹ thuật này được John Carmack sử dụng lần đầu tiên ở Quake vào năm 1996. Và hãy xem tham khảo đoạn code này trên ngôn ngữ C# trên github

mmamammmmmammamamaaamammma

using UnityEngine;

public class Flicker : MonoBehaviour
{
    public string LightStyle = "mmamammmmammamamaaamammma";
    private Light light;

    public float loopTime = 2f;
    [SerializeField]
    private int currentIndex = 0;
    private float lightTimer;

    void Start()
    {
        light = GetComponent<Light>();
    }

    void Update()
    {
        char c = GetNextChar();
        int val = c - 'a';
        float intensity = (val / 25f)*2;
        light.intensity = intensity;
    }


    private char GetNextChar()
    {
        lightTimer += Time.deltaTime;
        var step = loopTime / LightStyle.Length;

        if (step < lightTimer)
        {
            lightTimer -= step;
            currentIndex++;
            if (currentIndex >= LightStyle.Length)
                currentIndex = 0;
        }

        return LightStyle[currentIndex];
    }
}

Có thể bạn đã bị missing