0
割り当てが設定されています。つまり、「3つ以上のダイスゲーム」を作成する必要があります。 " プレイヤーは5つのサイコロとすべての種類の3つのサイコロを順番に表示します。プレイヤーだけが持っている場合は、次のようになります。一致する数字がない場合には、プレーヤーは0点を獲得します。配列に値が何回表示されるかc#
プレイヤーは以下の点数に応じて得点を返します:
3のユニークな: 4のユニークな3点: 5のユニークな6点:ラウンドの組の数が再生されている12点
(例えば50点)、ゲーム終了時に合計得点が最も高いプレイヤーが勝者となります。私は数字が一致しているかを確認するために、ランダムなサイコロの数字を追加する方法を考え出す必要があり 」 。
namespace DiceGame
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, I am your computer and I
am speaking to you, welcome to the dice game, here are the rules:");
Console.WriteLine("3-of-a-kind: 3 points ");
Console.WriteLine("4-of-a-kind: 6 points ");
Console.WriteLine("5-of-a-kind: 12 points");
Console.WriteLine("First player to reach 50 wins");
//integer array to store 5 values for the dice
int[] Rolls = new int[5];
//Calls from class Dice (calls integer value)
for (int numdice = 0; numdice < 5; numdice++)
{
Rolls[numdice] = Dice.Roll();
//For each loop, get position of array and place
number we want in that position
Console.WriteLine(Rolls[numdice]);
}
//Makes a new game object which is used to call
functions
Game game = new Game();
game.startGame();
Console.ReadLine();
}
//produces one random number
public class Dice
{
static Random rng = new Random();
public static int Roll()
{
//create a random number generator
return rng.Next(1, 7);
}
}
public class Game
{
public void startGame()
{
//prompts user to input value and then stores it
int playerNo = numberofPlayers();
while (playerNo < 2)
{
Console.WriteLine("Please enter a number
between 2-4");
playerNo = numberofPlayers();
}
//Now have number of players, need to loop
through now
//creates the number of players in array
player[] listofPlayers = new player[playerNo];
//this looks at the current player that the code
is looking at
for (int currentPlayer = 0; currentPlayer <
playerNo; currentPlayer++)
{
listofPlayers[currentPlayer] = new player();
Console.WriteLine("It is player {0}'s turn",
currentPlayer + 1);
listofPlayers[currentPlayer].rollplayerDice();
Console.WriteLine(listofPlayers[currentPlayer].score);
listofPlayers[currentPlayer].playersScore();
}
}
void inputPlayers()
{
//create number of players code
//create a way to input name of players
//depending on the number of players, repeat the
code below that many times
string player1 = Console.ReadLine();
}
public int numberofPlayers()
{
int playerNum = 0;
try
{
Console.WriteLine("Please Enter the number
of players you would like to play with 2-4");
playerNum = int.Parse(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
return playerNum;
//if playerNo is equal to 2 = 2 players
//if playerNO is equal to 3 = 3 players
//if playerNO is equal to 4 = 4 players
//if playerNo is less than 2 and more than 4
then loop back through the if statement and ask to input and number "between
2-4"
}
public class player
{
public int score = 0;
int[] playerRoll = new int[5];
public void rollplayerDice()
{
for (int currentDice = 0; currentDice <
playerRoll.Length; currentDice++)
{
playerRoll[currentDice] = Dice.Roll();
Console.WriteLine("Dice {0} rolled a
{1}", currentDice, playerRoll[currentDice]);
}
}
public int playersScore()
{
int[] diceFaces = new int[6];
/*for (int diceFace = 0; diceFace <
playerRoll.Length; diceFace++)
{
int oneCounter = 0;
//number of 1's =
//number of 2's =
//number of 3's =
//number of 4's =
//number of 5's =
//number of 6's =
//create a system to work out the
score
//create a switch to see what the
player score is equal to (switch 3, 4, 5 and add up the points that
correlate)
}
*/
foreach (int d in playerRoll)
{
diceFaces[d]++;
}
int caseSwitch = 0;
switch (caseSwitch)
{
case 3:
//add on the points to a players
score
score += 3;
break;
case 4:
//add on the points to a player
score
break;
case 5:
//add on the points of a players
score
break;
}
return 0;
}
}
}
}
}
^以上は私の全体のコードであり、以下に私がしようとする上で、今で働いていたコードです。スコアリング
public int playersScore()
{
int[] diceFaces = new int[6];
/*for (int diceFace = 0; diceFace <
playerRoll.Length; diceFace++)
{
int oneCounter = 0;
//number of 1's =
//number of 2's =
//number of 3's =
//number of 4's =
//number of 5's =
//number of 6's =
//create a system to work out the
score
//create a switch to see what the
player score is equal to (switch 3, 4, 5 and add up the points that
correlate)
}
*/
foreach (int d in playerRoll)
{
diceFaces[d]++;
}
int caseSwitch = 0;
switch (caseSwitch)
{
case 3:
//add on the points to a players
score
score += 3;
break;
case 4:
//add on the points to a player
score
break;
case 5:
//add on the points of a players
score
break;
}
return 0;
}
}
あなたはLambda's ..に慣れていますか?あなたは簡単に簡単なラムダ式を書くことができます。たくさんの作業例をgoogleで検索します – MethodMan
'var numOnes = dice.Where(die => die == 1).Count();' –
コードを書式設定し、必要のないコメントを削除します。 –