Advertisement
riabcis

Untitled

Jul 13th, 2018
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace fibb
  8. {
  9.     class Program
  10.     {
  11.         const int Original_bet = 1;
  12.         const int win_chance = 48;
  13.         const int starting_cash = 1000;
  14.         const int goal = 2000;
  15.  
  16.         static Random random = new Random();
  17.         static Random pid = new Random();
  18.  
  19.         static void Main(string[] args)
  20.         {
  21.             List<int> fib_seq;
  22.             Fib_seq(out fib_seq);
  23.  
  24.             int wins = 0;
  25.             int loss = 0;
  26.  
  27.  
  28.             int rotate = 5000;
  29.             for(int i = 0; i < rotate; i++)
  30.             {
  31.                 int end_cash = Cycle(fib_seq);
  32.                 Console.WriteLine((i+1).ToString()+": " + end_cash);
  33.                 Console.WriteLine();
  34.  
  35.                 if (end_cash == 0)
  36.                 {
  37.                     loss++;
  38.                 }
  39.                 else
  40.                 {
  41.                     wins++;
  42.                 }
  43.             }
  44.  
  45.             Console.WriteLine("\nTotal results:\nwins: " + wins);
  46.             Console.WriteLine("loss: " + loss);
  47.  
  48.             Console.ReadLine();
  49.         }
  50.  
  51.         static int Cycle(List<int> fib_seq)
  52.         {
  53.             int current_bet = Original_bet;
  54.             int index = 0;
  55.             int start_cash = starting_cash;
  56.  
  57.             int wins = 0;
  58.             int loss = 0;
  59.             int loss_streak = 0;
  60.             int highest = 0;
  61.  
  62.             while (start_cash <= goal)
  63.             {
  64.                 int randomNumber = random.Next(1, 101);
  65.                
  66.                 current_bet = fib_seq[index];
  67.                 if (current_bet > start_cash)
  68.                 {
  69.                     current_bet = start_cash;
  70.                 }
  71.  
  72.                 bool pass = false;
  73.                 int next = pid.Next(0, 2);
  74.                 if (next == 0)
  75.                 {
  76.                     if(randomNumber >= 100-win_chance)
  77.                     {
  78.                         pass = true;
  79.                     }
  80.                     else
  81.                     {
  82.                         pass = false;
  83.                     }
  84.                 }
  85.                 else
  86.                 {
  87.                     if (randomNumber > win_chance)
  88.                     {
  89.                         pass = true;
  90.                     }
  91.                     else
  92.                     {
  93.                         pass = false;
  94.                     }
  95.                 }
  96.  
  97.  
  98.                 if (pass)
  99.                 {
  100.                     start_cash += current_bet;
  101.  
  102.                     index-=2;
  103.                     wins++;
  104.                     loss_streak = 0;
  105.                 }
  106.                 else
  107.                 {
  108.                     start_cash -= current_bet;
  109.  
  110.                     index++;
  111.                     loss++;
  112.                     loss_streak++;
  113.                 }
  114.  
  115.                 if (index < 0)
  116.                 {
  117.                     index = 0;
  118.                 }
  119.  
  120.                 if (highest < loss_streak)
  121.                 {
  122.                     highest = loss_streak;
  123.                 }
  124.  
  125.                 if (start_cash <= 0)
  126.                 {
  127.                     break;
  128.                 }
  129.  
  130.             }
  131.             Console.WriteLine("wins: " + wins);
  132.             Console.WriteLine("loss: " + loss);
  133.             Console.WriteLine("loss_streak: " + highest);
  134.  
  135.             return start_cash;
  136.         }
  137.  
  138.         static void Fib_seq(out List<int> fib_seq)
  139.         {
  140.             int n = 50;
  141.  
  142.             fib_seq = new List<int>();
  143.             fib_seq.Add(Original_bet);
  144.             fib_seq.Add(Original_bet);
  145.             for (int i=2;i< n; i++)
  146.             {
  147.                 fib_seq.Add(fib_seq[i - 1] + fib_seq[i - 2]);
  148.             }
  149.         }
  150.     }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement