Преди да ви пратя кода, ще кажа как очаквам да работи. Първо искам да въведа с какъв начален залог да играя и след това да въведа колко пари да вкарам в началото. Относно изхода, очаквам да ми показва какъв е текущият ми баланс на всеки ход (ред) [пример:ако започна с 400, на първия ред да се появи 399, защото този заложен 1 лев за момента е загубен, след това ако загубя да изпише 397, защото съм загубил този 1 и заложените 2, след това ако спечеля да изпише 404, защото съм заложил 3 и съм ги утроил.....и така нататък, докато тази сума не стане по-малка от 0, което би означавало да нямам пари, които да заложа], а накрая да изпише каква сума съм спечелил преди да изгубя всичките си пари и колко врътки съм направил.
Ето го и моя грешен код:
- Код: Избери целия код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace RouletteAdvancedStrategy
{
class Program
{
static void Main(string[] args)
{
//sets the initial bet
Console.Write("The initial bet is:");
double initialBet = double.Parse(Console.ReadLine());
//when to keep and stop playing
bool winning = true;
//the total profit and the profit
double totalProfit=0, profit=0;
//sets the initial money deposited
Console.Write("Deposited money:");
double deposit = double.Parse(Console.ReadLine());
double currentMoney = deposit;
//the bet
double bet = initialBet;
//counts the games
int ctr = 0;
//the mini-turns (1-14)
int miniTurn = 1;
//the cycle for the games
while (winning = true)
{
//generates the random number
Random r = new Random();
int rInt = r.Next(0, 36);
currentMoney = currentMoney - bet;
Console.WriteLine("Current money:" + currentMoney );
//checks if the number is between 1-12
if (rInt <= 12 & rInt >= 1)
{
profit = bet * 3;
currentMoney = currentMoney + profit;
bet = initialBet;
totalProfit = totalProfit + profit;
//the mini-turns (1-14)
miniTurn = 1;
}
else
{
switch(miniTurn)
{
case 1:
case 2:
case 3:
miniTurn++;
bet++;
break;
case 4:
miniTurn++;
bet += 2;
break;
case 5:
miniTurn++;
bet += 3;
break;
case 6:
miniTurn++;
bet += 5;
break;
case 7:
miniTurn++;
bet += 7;
break;
case 8:
miniTurn++;
bet += 11;
break;
case 9:
miniTurn++;
bet += 16;
break;
case 10:
miniTurn++;
bet += 24;
break;
case 11:
miniTurn++;
bet += 36;
break;
case 12:
miniTurn++;
bet += 55;
break;
case 13:
miniTurn++;
bet += 82;
break;
default:
bet = bet * 2;
break;
}
}
if (currentMoney < 0) winning = false;
ctr++;
}
Console.WriteLine("-----------");
Console.WriteLine("You have played {0} number of games and won {1} total profit", ctr, totalProfit);
}
}
}
Реално не бих казал, че задачата е много трудна, по-скоро е трудоемка и се изисква някаква логика. Аз не мога да си намеря грешката. Ще търся още и ако намеря нещо ще го добавя. Знам, че си е бая работа, но ще се радвам ако някой удари едно рамо. А и самите вие може да се възползвате от тази стратегия, ако излязат благоприятни резултати!

Меню