# Programmering 1 - Instuderingsfrågor prov 2025 1. Förklara vad varje variabeltyp används för: * string * int * float * bool * Vector2 * Transform * Rigidbody2D 2. När vill du använda "==" och när vill du använda "="? 2. Vad är skillnaden mellan en for-loop och en while-loop? 1. Förklara när följande unity-metoder körs: * `Start` * `Update` * `OnTriggerEnter` 3. Förklara vad ordet "public" gör framför en variabel i ett C#-skript. 4. Förklara vad följande kod gör: ```csharp Rigidbody2D rb; void Start(){ rb = GetComponent<Rigidbody2D>(); } ``` 5. Vad gör "Instantiate()" funktionen i Unity? Vilka argument kan du skicka till Insantiate-funktionen? 6. Förklara vad en lista är och ge ett exempel på vad de kan användas till i Unity/spelprogrammering. 7. Givet att du har en variabel av typen `GameObject` som heter `ball`, skriv några rader kod som sätter det objektets position till en slumpad plats. Tips: använd `Random.Range(min,max)` för att skapa en slumpgenerad siffra. 8. Förklara vad följande kod gör: ```csharp float timer = 0f; void Update(){ timer += Time.deltaTime; if(timer > 5f){ print("hej!"); } } ``` 9. Förklara vad följande kod gör: ```csharp public TextMeshProUGUI textbox; void Update(){ if(Input.GetKey(KeyCode.Space)){ textbox.text = "A"; }else{ textbox.text = "B"; } } ``` 10. Förklara vad följande kod gör: ```csharp void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.name == "Player") { Destroy(gameObject); } } ``` 11. Förklara vad följande kod gör: ```csharp void Update() { transform.position += new Vector3(2,0,0) * Time.deltaTime; } ``` 12. Förklara vad följande kod gör: ```csharp public GameObject cube; void Start() { for(int i = 0; i < 5; i++){ Instantiate(cube, new Vector3(i,0,0), Quaternion.identity); } } ``` 13. Vad kommer följande kod skriva ut till konsolen? ```csharp void Start() { List<string> namnLista = new List<string>(); namnLista.Add("Alice"); namnLista.Add("Bob"); namnLista.Add("Charlie"); print(namnLista[2]); } ``` 14. Förklara vad följande kod gör: ```csharp public List<GameObject> objects; int index = 0; void Update(){ if(Input.GetKeyDown(KeyCode.Tab)){ SpriteRenderer spriteRend = objects[index].GetComponent<SpriteRenderer>(); spriteRend.color = Color.White; index += 1; if(index == objects.Count){ index = 0; } SpriteRenderer nextSpriteRend = objects[index].GetComponent<SpriteRenderer>(); nextSpriteRend.color = Color.Red; } } ```