Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

chrisslfissl

Treue Seele

  • »chrisslfissl« ist der Autor dieses Themas

Beiträge: 186

Wohnort: Bavaria

  • Private Nachricht senden

1

20.07.2013, 11:36

C# Anfängerfrage: Wie bekomme ich eine Variable, die in einer Funktion ist in eine andere Funktion?

Also mein Problem ist folgendes.
Ich programmiere gerade ein Zahlenrate-Spiel.
Bei diesem Spiel ist der Zufallszahlengenerator in einer Funktion die etwas zurück gibt.
Wenn ich jetzt auf den Knopf drücke, um die Zufallszahl zu generieren, dann wird gleichzeitig diese Zahl
in eine Variable gespeichert.

Wie bekomme ich jetzt diese Zahl zum vergleichen in die Funktion des "Überprüfen" Knopfes?

Hoffentlich ist verständlich, was ich meine.

MfG
Chris

2

20.07.2013, 12:55

Soweit ich es verstanden hab: Die eine Funktion erzeugt die Zufallszahl und gibt sie zurück. Diesen Rückgabewert speicherst du in einer Variablen und übergibst diese der anderen Funktion.

Und meinst du mit Knöpfe Buttons einer GUI?

chrisslfissl

Treue Seele

  • »chrisslfissl« ist der Autor dieses Themas

Beiträge: 186

Wohnort: Bavaria

  • Private Nachricht senden

3

20.07.2013, 13:46

Ich will die Variable einer anderen Funktion übergeben.
Nur ich weiß nicht wie.

Die "Knöpfe" sind ganz normale Buttons in einer Windows Forms Anwendung.

4

20.07.2013, 15:20

du kanst einer funktion Parameter geben :

public int getZufallsZahl()
{
//Zufallszahl generirung
return zufallszahl;
}



public void ueberpruefeZahl(int zahl) <-parameter
{
if(zahl == inputzahl) { gewonnen }
und so weiter
}


wen das dir nicht hilft würde ich die Zufalls zahl und die eigegebene zahl als klassenvariablen deklarieren.

Grüsse Spitzohr

Durza

Treue Seele

Beiträge: 104

Beruf: Student (MSc Cyber Security)

  • Private Nachricht senden

5

20.07.2013, 15:26

Globale Variablen?

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

6

20.07.2013, 16:10

Die sollen hier wie helfen?
Globale Variablen sind sogut wie immer falsch!

chrisslfissl

Treue Seele

  • »chrisslfissl« ist der Autor dieses Themas

Beiträge: 186

Wohnort: Bavaria

  • Private Nachricht senden

7

20.07.2013, 16:38

du kanst einer funktion Parameter geben :

public int getZufallsZahl()
{
//Zufallszahl generirung
return zufallszahl;
}



public void ueberpruefeZahl(int zahl) <-parameter
{
if(zahl == inputzahl) { gewonnen }
und so weiter
}


wen das dir nicht hilft würde ich die Zufalls zahl und die eigegebene zahl als klassenvariablen deklarieren.

Grüsse Spitzohr

Ja und wie bekomme ich diese Zufallszahl in ueberpruefeZahl?

Durza

Treue Seele

Beiträge: 104

Beruf: Student (MSc Cyber Security)

  • Private Nachricht senden

8

20.07.2013, 16:50

C-/C++-Quelltext

1
2
int rndZahl = getZufallsZahl ();
ueberpruefeZahl (rndZahl);

chrisslfissl

Treue Seele

  • »chrisslfissl« ist der Autor dieses Themas

Beiträge: 186

Wohnort: Bavaria

  • Private Nachricht senden

9

20.07.2013, 16:55

Ich steh gerade derbe auf dem Schlauch.
Wenn ich in private void button2_Click(object sender, EventArgs e)
das so eingeben würde, wie du es geschrieben hast, dann erzeugt GetZufallszahl() immer wieder eine neue Zufallszahl.
Genau das ist ja mein Problem.

benjs

Frischling

Beiträge: 19

Beruf: Schüler

  • Private Nachricht senden

10

20.07.2013, 18:31

Ich würde dir, wenn du solche grundlegenden Dinge nicht weißt, empfehlen ein Buch zu lesen. So lernt man das Programmieren besser und schneller, anstatt das über das Internet zusammen zusuchen. Dieses hier kann man kostenlos lesen und herunterladen :-)

P.S. Globale Variablen gibt es in C# sowieso nicht.

MfG, benjs

Werbeanzeige