Keresés

Hirdetés

Új hozzászólás Aktív témák

  • dreuzor

    újonc

    Üdv!
    Kezdő vagyok a programozásban, és eddigi ismereteim szerint szerettem volna egy olyan kódot írni, amiben 10 random számot kell összeadni, és a végén kiírja, hogy mennyi volt a helyes.
    Így próbáltam megcsinálni:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace switchstatements
    {
    class MainClass
    {
    public static void Main(string[] args)
    {
    Random numberGenerator = new Random();

    int num01;
    int num02;
    int num03 = 0;
    int i;

    for (i=1; i >= 10 ; i++)
    {
    num01 = numberGenerator.Next(1, 11);
    num02 = numberGenerator.Next(1, 11);
    Console.WriteLine("Mennyi" + num01 + "meg" + num02 + "?");

    int answer = Convert.ToInt32(Console.ReadLine());

    if (answer == num01 + num02)
    {
    Console.WriteLine("Úgy van!");
    num03 = num03 + 1;
    }
    else
    {
    Console.WriteLine("Nem!");
    }

    }

    Console.WriteLine("Az elért pontszámod: " + num03);
    Console.ReadKey();



    }
    }
    }

    A for ciklusban lévő dolgok nem akarnak lefutni, és nem tudtam rájönni miért, kérlek segítsetek!
    Köszönöm.

  • dreuzor

    újonc

    válasz Karma #6569 üzenetére

    Mondanám, hogy a nagy meleg, de egyszerűen csak figyelmetlen voltam :R
    Köszönöm!

  • dreuzor

    újonc

    Kicsit ciki, de 5 perccel azután, hogy leírtam ide a problémát, meg is oldottam.

    Sziasztok!
    Szeretnék Unityben egy olyan scriptet írni, aminél ha egy feltétel teljesül, akkor betöltődjön a következő pálya.
    Kettő script van, az egyikben van egy nextLevel nevű bool változó, aminek truenak kell lenni a pályaváltáshoz:

    using UnityEngine;
    using UnityEngine.UI;
    using System.Collections;

    public class felszed : MonoBehaviour
    {
    private int count;
    public int maxCount = 8;
    public Text countText;
    public Text winText;
    public bool nextLevel;

    // Use this for initialization
    void Start ()
    {
    count = 0;
    SetCountText ();
    winText.text = "";
    nextLevel = false;
    }

    // Update is called once per frame
    void Update () {

    }

    void OnTriggerEnter(Collider other)
    {
    if (other.gameObject.CompareTag ("PickUp"))
    {

    other.gameObject.SetActive (false);
    count = count + 1;
    SetCountText();
    }
    }

    void SetCountText ()
    {
    countText.text = "Fogaskerekek: " + count.ToString () + "/" + maxCount.ToString ();
    if (count >= maxCount)
    {
    winText.text = "NYERTÉL!";
    nextLevel = true;
    }
    }
    }

    Ez után rá kell kattintani egy objektumra, amiben a következő script van:

    using UnityEngine;
    using System.Collections;

    public class NextLevel : MonoBehaviour {



    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {

    }

    public void OnMouseDown ()
    {
    if (felszed.nextLevel == true)
    {
    Application.LoadLevel ("Level02");
    }
    }
    }

    A következő hibaüzenetet írta ki a Unity:

    Assets/Scripts/NextLevel.cs(20,29): error CS0120: An object reference is required to access non-static member `felszed.nextLevel'

    Még nagyon kezdő vagyok a script írásban, remélem minden lényeges információt leírtam ahhoz, hogy egy kicsit is hozzáértőbb ember fél másodperc alatt kiszúrja hol voltam béna :) .

    [ Szerkesztve ]

Új hozzászólás Aktív témák