2016-12-20 10 views
-1

私はC#の新機能です(ただし、コーディングはできません)。これが簡単な修正であれば、私を許してください。私は1から100,000の間の乱数を生成するようにコンピュータを取得しようとしています。しかし、私がオンラインで見た構文を模倣すると、 "CS1061: 'ランダム'に '次へ'の定義が含まれず、 'ランダム'タイプの最初の引数を受け入れる拡張メソッド '次へ'がありませんあなたはusingディレクティブまたはアセンブリ参照を紛失していますか? "C#random.Next()フラグ.Next()はエラーですか?

" using System.Random(); "を追加しようとすると、usingディレクティブが不要であるとコンピュータから通知されますが、問題は

ここに私のコードです:。

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 

public class NumberWizard : MonoBehaviour { 

// Use this for initialization 
void Start() { 
    print("Welcome to Number Wizard!"); 
    print("Pick a number in your head, but don't tell me!"); 

    int max = 100000, min = 1; 

    print("Choose a number between "+min+" and "+max+"."); 
    Random r = new Random(); 
    int guess1 = r.Next(); 
} 

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

} 
} 

任意の入力は大歓迎です

012。

答えて

0

RandomUnityEngine.Randomで、System.Randomではありません。完全に修飾します(例: System.Random r = new System.Random()

(あなたがここUnityEngine名前空間を必要としない場合は、それを削除し、using System;を追加し、これを行うの他の方法があります。、その後、Randomはあなたが望むものになる。)

0

これはあなたのためのトリックを行う可能性があります。

public System.Random r = new System.Random(); 
public int guess1 = r.Next(0, 100000); 

私は、これはSystem.Randomあなたが得るエラーメッセージから、それはUnityEngine.Randomクラスが使用されていることは明らかだから、自分のエラーではないと仮定します。

フィールド初期化子は、あなたが静的であるとあなたにrをしなければならない非静的フィールド、メソッド、またはプロパティ

を参照することはできません

更新

public static System.Random r = new System.Random(); 
public int guess1 = r.Next(0, 100000); 
+0

私はあなたが言ったことに従いました。エラーは現在r-にあります。 "フィールド初期化子は非静的フィールド、メソッド、またはプロパティを参照できません" NumberWizard.r " – AveryRyan

+0

@AveryRyan:更新された答えを見てください –

+0

私はそれをStart関数に入れておくべきでしょうか、それともどこか別の場所に移動する必要がありますか? – AveryRyan

0
using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 

public class NumberWizard : MonoBehaviour 
{ 

    // Use this for initialization 
    void Start() 
    { 
     print("Welcome to Number Wizard!"); 
     print("Pick a number in your head, but don't tell me!"); 

     int max = 100000, min = 1; 

     print("Choose a number between " + min + " and " + max + "."); 
     print(Random.Range(min,max)); 

    } 

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

    } 
} 

ランダムでの使用は、Unityでは少し違うと思います。

関連する問題