Witam
Generalnie nie mam pojęcia co jest źle ale listy mi się nie chcą wypełniać zapewne jakiś błąd mi się wkradł w klasie Talia
Tutaj cały program zaznaczyłem koło miejsca gdzie się wysypuje komentarzem ( być może w dalszej części też gdzieś się wysypie nie obiecuje ) :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SolutionDoZadanDomowych
{
class Karta
{
public int wartosc { get; set; }
public string nazwa { get; set; }
public Karta(int wart, string naz) // konstruktor Karty
{
wartosc = wart;
nazwa = naz;
}
public override string ToString() // zwaraca nazwe i wartosc
{
return (nazwa + " " + wartosc);
}
}
class Talia
{
private List talia;
private List talia_potasowana;
private List karty_w_grze;
private int suma_punktow;
public Talia(Listtal) // wypelnianie tali kartami
{
talia = tal;
}
public void tasuj() // tasowanie
{
Random generator = new Random();
while (talia.Count > 0)
{
int i = generator.Next(talia.Count);
talia_potasowana.Add(talia[i]); // tutaj program się wysypuje
talia.RemoveAt(i);
}
}
public void pobierz_karte() // pobieranie karty
{
Karta pobrana = talia_potasowana[0];
talia_potasowana.RemoveAt(0);
suma_punktow = suma_punktow + pobrana.wartosc;
karty_w_grze.Add(pobrana);
}
public override string ToString() //To String ( wyswietlic karty w grze )
{
string w_grze = "";
if (karty_w_grze != null)
{
if (karty_w_grze.Count() > 0)
{
for (int i = 0; i < karty_w_grze.Count(); i++)
{
w_grze = w_grze + "" + karty_w_grze[i].nazwa.ToString();
}
return w_grze + " a Twoja suma punktów to : " + suma_punktow.ToString();
}
else
{
return "Brak kart w grze";
}
}else
{
return " Jeszcze nie zagrales ";
}
}
}
class Program
{
static void Main(string[] args)
{
string[] tab_naz ={"2 trefl","3 trefl","4 trefl","5 trefl","6 trefl","7 trefl","8 trefl","9 trefl","10 trefl","Walet trefl","Dama trefl","Król trefl","As trefl",
"2 pik","3 pik","4 pik","5 pik","6 pik","7 pik","8 pik","9 pik","10 pik","Walet pik","Dama pik","Król pik","As pik",
"2 karo","3 karo","4 karo","5 karo","6 karo","7 karo","8 karo","9 karo","10 karo","Walet karo","Dama karo","Król karo","As karo",
"2 kier","3 kier","4 kier","5 kier","6 kier","7 kier","8 kier","9 kier","10 kier","Walet kier","Dama kier","Król kier","As kier"};
int[] tab_wart ={2,3,4,5,6,7,8,9,10,2,3,4,11,
2,3,4,5,6,7,8,9,10,2,3,4,11,
2,3,4,5,6,7,8,9,10,2,3,4,11,
2,3,4,5,6,7,8,9,10,2,3,4,11};
List list_talia = new List();
for (int i = 0; i < tab_wart.Length; i++)
{
Karta tym = new Karta(tab_wart[i], tab_naz[i]);
list_talia.Add(tym);
}
Talia t1 = new Talia(list_talia);
t1.tasuj();
t1.ToString();
Console.ReadKey();
//while(talia.suma<=22 $$ !koniec )
//if(suma>21 && !perskieoczko(2asy)) return(przegrales ! ) ;
}
}
}
Wynik debugowania
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\Admin\Desktop\SolutionDoZadanDomowych\SolutionDoZadanDomowych\bin\Debug\SolutionDoZadanDomowych.vshost.exe'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll'
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'
The thread 'vshost.NotifyLoad' (0x9dc) has exited with code 0 (0x0).
The thread 'vshost.LoadReference' (0x1054) has exited with code 0 (0x0).
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\Admin\Desktop\SolutionDoZadanDomowych\SolutionDoZadanDomowych\bin\Debug\SolutionDoZadanDomowych.exe', Symbols loaded.
A first chance exception of type 'System.NullReferenceException' occurred in SolutionDoZadanDomowych.exe
An unhandled exception of type 'System.NullReferenceException' occurred in SolutionDoZadanDomowych.exe
Additional information: Object reference not set to an instance of an object.
'SolutionDoZadanDomowych.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'
The program '[4020] SolutionDoZadanDomowych.vshost.exe: Program Trace' has exited with code 0 (0x0).
The program '[4020] SolutionDoZadanDomowych.vshost.exe: Managed (v4.0.30319)' has exited with code -1073741510 (0xc000013a).
Prosił bym o poprawienie kodu bo już próbuje na wszystkie sposoby to poprawić ale nie umiem . Program musi być zrobiony w klasie niestety i przerzucenie list do maina nie wchodzi w grę bo gdy tak robię to mi śmiga ale w klasie robi się błąd nie wiem czemu
Z góry dzięki za pomoc