Frage von EricN2001, 16

Wofür steht die Fehlermeldung (Wollte Lotto für c# programmieren!)?

Antwort
von KnusperPudding, 16

Lies doch die Meldung, da steht es doch....

verwende: 

list.Add(Random1);
Kommentar von EricN2001 ,

Okay...aber wie gebe ich dann aus auf welchem Slot die Zahlen sein sollen?

Kommentar von EricN2001 ,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
Lotto();
}
static void Lotto()
{
Console.WriteLine("Bitte geben Sie nur Zahlen zwischen 1 und 49 an bzw. bei der Superzahl 1 bis 9");
Console.WriteLine("Geben Sie ihre erste Zahl ein!");
int Zahl1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Geben Sie ihre zweite Zahl ein!");
int Zahl2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Geben Sie ihre dritte Zahl ein!");
int Zahl3 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Geben Sie ihre vierte Zahl ein!");
int Zahl4 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Geben Sie ihre fünfte Zahl ein!");
int Zahl5 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Geben Sie ihre sechste Zahl ein!");
int Zahl6 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Geben Sie ihre Superzahl Zahl ein!");
int MeineSuperzahl = Convert.ToInt32(Console.ReadLine());
Random vclsgenerator = new Random();
List Zahlen = new List();
bool Gewonnen = false;
int Versuche = 0;
while (Gewonnen == false)
{
int x = 0;
int Random1 = vclsgenerator.Next(1, 50);
Zahlen[0] = Random1;
int Random2 = vclsgenerator.Next(1, 50);
if (Random2 != Random1)
{
Zahlen[1] = Random2; ;
int Random3 = vclsgenerator.Next(1, 50);
if (Random3 != Random2)
{
Zahlen[2] = Random3;
int Random4 = vclsgenerator.Next(1, 50);
if (Random4 != Random3)
{
Zahlen[3] = Random4;
int Random5 = vclsgenerator.Next(1, 50);
if (Random5 != Random4)
{
Zahlen[4] = Random5;
int Random6 = vclsgenerator.Next(1, 50);
if (Random6 != Random5)
{
Zahlen[5] = Random6;
int Superzahl = vclsgenerator.Next(1, 10);
if (Superzahl != Random6)
{
Zahlen[6] = Superzahl;
x = 1;
}
}
}
}
}
}
if (x == 1)
{
Versuche++;
//Console.WriteLine(Veruche);
if (Zahlen.Contains(Zahl1))
{
if (Zahlen.Contains(Zahl2))
{
if (Zahlen.Contains(Zahl3))
{
if (Zahlen.Contains(Zahl4))
{
if (Zahlen.Contains(Zahl5))
{
if (Zahlen.Contains(Zahl6))
{
if (Zahlen.Contains(MeineSuperzahl))
{
Gewonnen = true;
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Du hast Gewonnen!!!!!!!Und hattest " + Versuche + "!");
}
}
}
}
}
}
}
}
}
}
}
}

PS: Passt jz zwar nicht alles in eine Reihe aber ich muss jz ja noch festlegen, an welche Stellen der Liste die Zahlen eingatragen werden müssen!

Kommentar von KnusperPudding ,

sWenn du den "Slot" bestimmen willst. Nimm keine List sondern eine Array.

Zumindest in C# fügt Add immer am Ende der Liste Werte an. 

Also nim' eine Array und deklariere diese mit deiner gewünschten festen Größe: 6

 int[] array1 = new int[6];

Anschließend kannst du dann die einzelnen Plätze der Array belegen via:

array[0] = 1;
array[1] = 2;

etc.

Kommentar von EricN2001 ,

Ist das dann so richtig?: https://i.imgur.com/x8GXDT4.png

Kommentar von KnusperPudding ,

Ein kleiner Tipp, poste Code niemals als Bild

Kommentar von KnusperPudding ,

Und nein, .add() fügt werte an eine Liste an. 

Array[zahl] wiederum funktioniert nur bei Arrays.

Kommentar von EricN2001 ,

Danke, aber ich wollte Listen erstmal vertiefen und deshalb wollte ich jetzt erst Lotto mit Liste machen und beim nächsten mal mit Array!

Kommentar von EricN2001 ,

Ach und habe noch ne Frage...warum steht oben auf einmal nur noch Anfügen und nicht starten?

Kommentar von KnusperPudding ,

was meinst du mit anfügen?

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten