2017-02-01 7 views
0

В настоящее время я занимаюсь классом в моей средней школе, которая учит C# и .net framework, python и т. Д. Мне нужно создать программу, которая играет «Rock, Paper, Ножницы "против человека, использующего возвратные методы в качестве проекта для этого устройства.Ошибка с аргументами метода, которые я не понимаю

я продолжать работать в ошибке на Microsoft Visual Studios 2015, который говорит No Overload for method 'PCRandomizer' takes 1 arguments

Я все еще очень новое для всей этой системы, так что я с трудом понимая это, но моя программа (до сих пор) вот так;

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace Rock__Paper__Scissors 
{ 
    public partial class rockPaperScissors : Form 
    { 
     public rockPaperScissors() 
     { 
      InitializeComponent(); 
     } 
    int playerChoice; 

    // Variable to indicate what the choice is. 
    int pcChoice; 

    private int PCRandomizer() 
    { 


     // Create a Random Object. 
     Random rand = new Random(); 

     // Get the rand integer between 1 and 3. 
     // 1 and the PC has chosen Rock. 
     // 2 and the PC has chosen Paper. 
     // 3 and the PC has chosen scissors. 
     pcChoice = rand.Next(1, 3); 

     // This returns the value back to the main method. 
     return pcChoice; 
    } 



    private void playerRockPic_Click(object sender, EventArgs e) 
    { 
     playerChoice = 1; 

     PCRandomizer(out pcChoice); 
    } 

    private void playerPaperPic_Click(object sender, EventArgs e) 
    { 

    } 

    private void playerScissorsPic_Click(object sender, EventArgs e) 
    { 

    } 

    private void resetButton_Click(object sender, EventArgs e) 
    { 

    } 

    private void exitButton_Click(object sender, EventArgs e) 
    { 
     // Close the Form 
     this.Close(); 
    } 
    } 
} 

Прошу прощения за длинный пост, но я получаю довольно отчаянный, как это уже день отстает от графика и несколько человек в моем классе также этот вопрос.

Я нашел эту страницу here, но я этого не понял.

+0

Вы определили 'PCRandomizer' как не принимающий аргументов. Однако вы вызываете его: 'PCRandomizer (out pcChoice)' с аргументом. Это означает, что ошибка означает, что вы должны решить, какое из двух определений правильно. Однако, вероятно, вы путали параметр out с параметром * return *. Возможно, вам захотелось написать 'pcChoice = PCRandomizer()' – Rob

+0

Спасибо, ребята, так много, оба ответа. – Ander109

+0

сторона примечание: чтобы сэкономить время ожидания вопроса. Сброс таймера - вот ответ на ваш следующий вопрос, который вы собираетесь задать - http://stackoverflow.com/questions/4855756/random-number-generation-same-number-returned , Также, пожалуйста, прочтите [MCVE] руководство по отправке кода - образец в вопросе имеет слишком много несвязанных строк. –

ответ

3

Итак, вместо использования out просто установите переменную pcChoice в результат PCRandomizer. Этот метод возвращает целое число, которое будет присвоено pcChoice.

private void playerRockPic_Click(object sender, EventArgs e) 
{ 
    playerChoice = 1; 

    pcChoice = PCRandomizer(); 
}