|
You last visited: Today at 08:05
Advertisement
Abwechselnd Würfeln [C#]
Discussion on Abwechselnd Würfeln [C#] within the .NET Languages forum part of the Coders Den category.
01/10/2015, 18:10
|
#1
|
elite*gold: 50
Join Date: Feb 2013
Posts: 925
Received Thanks: 682
|
Abwechselnd Würfeln [C#]
Hey hoe.
Bin gerade dabei C# zu erlernen und verzweifle bei einer eigentlich sehr leichten Aufgabe.
Aufgabe:
von
"Beim Betätigen eines Buttons "Würfeln" wird immer eine Zufallszahl von 1 bis 6 erzeugt und in einem Bezeichnungsfeld angezeigt. Jetzt wird jedoch in zwei weiteren Bezeichnungsfeldern abwechselnd Spieler1 und Spieler2 die gerade gewürfelte Zahl aufsummiert und die Summe jeweils angezeigt werden. Zusätzlich soll ein weiteres Bezeichnungsfeld anzeigen, die wieviele Runde die beiden Spieler gerade würfeln."
Das mit dem Würfel bekomme ich hin, also eine zufällige Zahl von 1-6. Ebenfalls ist die Anzeige der Runde kein Problem.
Ich verzweifle einfach an diesem abwechselnd.
Weiß einfach nicht was ich dafür benutzen soll... Boolean, (case)Switch etc.
Habe so ziemlich alles ausprobiert,( wer weiß ob ich das richig benutzt habe D: ), bin aber noch zu keiner Lösung gekommen. Irgendwie wurde es dann immer beiden Spieler aufsummiert, manchmal nur einem, etc.
Kann mir jemand dabei helfen? 
edit: hab's gelöst. oh man, habs viel schwieriger gemacht, als es nötig war 
lösung, falls jemand es vielleicht auch mal braucht
Code:
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 WindowsFormsApplication4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Random rnd = new Random();
int x, summe1=0, summe2=0, wert=0, runde=0;
private void btnRandom_Click(object sender, EventArgs e)
{
if (wert==0)
{
x = rnd.Next(1, 7);
summe1 = summe1 + x;
lblSumme1.Text = summe1 + "";
lblWürfel1.Text = x + "";
runde = runde + 1;
lblRunde.Text = runde + "";
wert = wert + 1;
}
else if (wert==1)
{
x = rnd.Next(1, 7);
summe2 = summe2 + x;
lblSumme2.Text = summe2 + "";
lblWürfel2.Text = x + "";
wert = wert - 1;
}
}
}
}
|
|
|
01/10/2015, 18:51
|
#2
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
für "wert" könntest du natürlich auch nen boolschen wert benutzen. true = player1 false = player2
|
|
|
01/10/2015, 18:59
|
#3
|
elite*gold: 50
Join Date: Feb 2013
Posts: 925
Received Thanks: 682
|
Quote:
Originally Posted by Ludder231
für "wert" könntest du natürlich auch nen boolschen wert benutzen. true = player1 false = player2
|
danach habe ich gesucht, bin aber einfach nicht drauf gekommen. bei mir sah das dann so aus, aber jetzt weiß ich immerhin warum es nicht funktioniert hat, danke! D:
Code:
bool player=true;
if (player==true);
{
code
player == !player
}
if (player==false);
{
code
player == !player
}
|
|
|
01/11/2015, 00:49
|
#4
|
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
|
Quote:
Originally Posted by Ludder231
für "wert" könntest du natürlich auch nen boolschen wert benutzen. true = player1 false = player2
|
Meiner Meinung nach überhaupt nicht vorteilhaft weil das kein selbst dokumentierender Code ist.
Dann lieber so etwas wie:
Code:
public enum Player
{
Player1,
Player2
};
...
if(actingPlayer == Player.Player1)
{
// ...
}
Dann braucht man den Datentyp auch nicht wieder ändern, wenn es mal 3 Spieler werden. Aber das ist Geschmackssache.
|
|
|
01/11/2015, 08:53
|
#5
|
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
|
nein Mostey, wenn dann:
(PseudoCode)
Code:
class Player
{
public string Name;
public int Total;
public int Current;
static Random r;
public Player(string name)
{
Name = name;
}
public int Roll()
{
Current = r.Next(1,6);
Total += Current;
return Current;
}
}
...
class Game
{
List<Player> Players = new List<Player>();
public Player CurrentPlayer
{
get
{
return Players[currentPlayerCounter % Players.Count];
}
}
uint currentPlayerCounter =0;
public void AddPlayer(string playerName)
{
Players.Add(new Player(playerName));
}
public int Roll()
{
var rolled = CurrentPlayer.Roll();
currentPlayerCounter++;
return rolled;
}
}
...
class Form
{
public Game Game = new Game();
...
public void OnAddPlayerButtonClick(object s, eventargs e)
{
Game.AddPlayer(textBoxPlayerName.Text);
}
public void OnRollClick(object s, eventargs e)
{
labelCurrentRoll.Text = Game.Roll().ToString();
labelCurrentPlayer.Text = Game.CurrentPlayer.Name;
}
}
|
|
|
01/11/2015, 16:24
|
#6
|
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
|
Quote:
Originally Posted by x]vIrus[x
nein Mostey, wenn dann:
|
Wieso nicht? Es geht hier bloß um einen simplen Integer und um keine Spielerklasse die Informationen über den Spieler halten muss. Und wenn er das braucht, kann er das ja selber machen. Was Objektorientierung ist, muss man hier hoffentlich ja nicht erklären.
|
|
|
 |
Similar Threads
|
Würfeln von anderen anzeigen
12/04/2011 - World of Warcraft - 3 Replies
Hallo!
Ich hab ein kleines Problem und zwar wird mir im chat einfach nicht angezeigt, was die anderen auf einen Gegenstand würfeln.
Wo kann man das wieder einstellen?
Mfg
|
neues angebot! würfeln
09/11/2011 - Runescape Trading - 24 Replies
neben meinem membership verkauf biete ich dicing membership an!
das ganze wird wie folgt ablaufen. wir klären vorher den preis den du zahlst wenn du verlierst. danach treffen wir uns im spiel und ich würfle 3x. wer 2 mal gewonnen hat, gewinnt!
leute die ich für nicht sehr trusted halte, müssen mir den gold betrag im spiel als erstes geben bevor wir mit dem eigentlich spiel anfangen. leute die ich für sehr anständig und vertrauenswürdig halte. können es gerne noch behalten bis ich...
|
account teilen (zahle abwechselnd den monat)
04/26/2009 - World of Warcraft Trading - 0 Replies
hallo.
ich suche jemanden, der mir erlaubt, auf seinem account zu spielen.
habe einfach keine lust, von vorne zu beginnen.
ich würde auch abwechselnd den monat zahlen, das heisst: einmal du, einmal ich,
und bereit sein zu leveln, ruf zu farmen usw. (bin gerne in bgs :))
wenn jemand interessiert ist, pn an mich!
kann euch auch per pn meine icq geben, um weiteres zu besprechen.
|
Würfeln
09/14/2006 - World of Warcraft - 10 Replies
Ich suche ein tool oder sowas in der richtung (wenns überhaupt eins gibt) womit man das würfeln beeinflussen kann. kennt ihr da irgendwas dann postets doch bitte . thx
|
Mit Flexbar Hacken (würfeln etc.)
09/24/2005 - World of Warcraft - 14 Replies
Hallo ^^
wollte mich mit den befehlen von den Addon Flexbar vertrautmachen.
dabei bin ich über einen schönen befehl gestolpert.
/print #color message
hmm da dachte ich mir dan kann was gehen.
/print #yellow würfelt. Ergebnis: 100 (1-100)
|
All times are GMT +2. The time now is 08:06.
|
|