Our members are dedicated to PASSION and PURPOSE without drama!

Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - VLS

#1351
Archive / Re: Archived.
December 22, 2012, 06:54:17 AM
#1352
Archive / [DEV] LastXSplits 2012-12-23
December 22, 2012, 06:45:02 AM
New version of LastXSplits.

Download:=> [attachmini=1]




Everything but Redo, New, Save is working.

Please test and confirm. Thank you.





Source code:

Code (csharp) Select
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;
using System.Xml.XPath;


namespace LastXSplits_0_1
{
    public partial class Form1 : Form
    {
        /// <summary>
        /// Constructor
        /// </summary>
        public Form1()
        {
            // Initialization
            InitializeComponent();
        }


        // History implemented as stack (LIFO)
        Stack<int> history = new Stack<int>();


        // Splits as List of Split class
        List<Split> Splits = new List<Split>() { new Split(1, 0), new Split(2, 0), new Split(3, 0), new Split(1, 2), new Split(1, 4), new Split(2, 3), new Split(2, 5), new Split(3, 6), new Split(4, 5), new Split(4, 7), new Split(5, 6), new Split(5,, new Split(6, 9), new Split(7,, new Split(7, 10), new Split(8, 9), new Split(8, 11), new Split(9, 12), new Split(10, 11), new Split(10, 13), new Split(11, 12), new Split(11, 14), new Split(12, 15), new Split(13, 14), new Split(13, 16), new Split(14, 15), new Split(14, 17), new Split(15, 18), new Split(16, 17), new Split(16, 19), new Split(17, 18), new Split(17, 20), new Split(18, 21), new Split(19, 20), new Split(19, 22), new Split(20, 21), new Split(20, 23), new Split(21, 24), new Split(22, 23), new Split(22, 25), new Split(23, 24), new Split(23, 26), new Split(24, 27), new Split(25, 26), new Split(25, 28), new Split(26, 27), new Split(26, 29), new Split(27, 30), new Split(28, 29), new Split(28, 31), new Split(29, 30), new Split(29, 32), new Split(30, 33), new Split(31, 32), new Split(31, 34), new Split(32, 33), new Split(32, 35), new Split(33, 36), new Split(34, 35), new Split(35, 36) };


        // Counter as BindingList of SplitCount (bound to DataGridView in FormCount)
        BindingList<SplitCount> Counter = new BindingList<SplitCount>();


        // Instantiate history form
        Form fHistory = new FormHistory();


        // Instantiate counter form
        Form fCount = new FormCount();


        // Reference to DataGridView
        DataGridView dgvCount;


        // Reference to History ListBox
        ListBox lbHistory;


        // XML settings Filename
        string xmlFile = Path.GetDirectoryName(Application.ExecutablePath) + "\\LastXSplits.xml";


        /// <summary>
        /// Program's entrypoint
        /// </summary>
        private void Form1_Load(object sender, EventArgs e)
        {
            // Declare control array
            PictureBox[] pbCtrl = { pb0, pb1, pb2, pb3, pb4, pb5, pb6, pb7, pb8, pb9, pb10, pb11, pb12, pb13, pb14, pb15, pb16, pb17, pb18, pb19, pb20, pb21, pb22, pb23, pb24, pb25, pb26, pb27, pb28, pb29, pb30, pb31, pb32, pb33, pb34, pb35, pb36 };


            // Attach events to each control
            foreach (PictureBox ctrl in pbCtrl)
            {
                // MouseLeave
                ctrl.MouseLeave += new EventHandler(PictureBox_MouseLeave);


                // MouseEnter
                ctrl.MouseEnter += new EventHandler(PictureBox_MouseEnter);


                // MouseDown
                ctrl.MouseDown += new MouseEventHandler(PictureBox_MouseDown);


                // MouseUp
                ctrl.MouseUp += new MouseEventHandler(PictureBox_MouseUp);


                // MouseClick
                ctrl.MouseClick += new MouseEventHandler(PictureBox_MouseClick);
            }


            // Set dgvCount
            dgvCount = (DataGridView)fCount.Controls["dgvCount"];


            // Prevent automatic generation of columns
            dgvCount.AutoGenerateColumns = false;


            // Add shows column
            DataGridViewTextBoxColumn showsColumn = new DataGridViewTextBoxColumn();
            showsColumn.DataPropertyName = "Shows";
            showsColumn.HeaderText = "Shows";
            showsColumn.Width = 50;
            showsColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            showsColumn.DefaultCellStyle.Font = new Font(fileToolStripMenuItem.Font, fileToolStripMenuItem.Font.Style ^ FontStyle.Italic);
            dgvCount.Columns.Add(showsColumn);


            // Add splits column
            DataGridViewTextBoxColumn splitsColumn = new DataGridViewTextBoxColumn();
            splitsColumn.DataPropertyName = "Splits";
            splitsColumn.HeaderText = "Splits";
            showsColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            splitsColumn.DefaultCellStyle.Font = new Font(fileToolStripMenuItem.Font, fileToolStripMenuItem.Font.Style ^ FontStyle.Italic);
            splitsColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            dgvCount.Columns.Add(splitsColumn);


            // Set dgvCount DataSource
            dgvCount.DataSource = Counter;


            // Set lbHistory
            lbHistory = (ListBox)fHistory.Controls["lbHistory"];


            // Show history form
            fHistory.Show();


            // Show counters form
            fCount.Show();


            // Check for XML file
            if (File.Exists(xmlFile))
            {
                // Set XPath Document               
                XPathDocument document = new XPathDocument(xmlFile);


                // Create XPath Navigator
                XPathNavigator navigator = document.CreateNavigator();


                // Process Options
                foreach (XPathNavigator section in navigator.Select("/LastXSplits/Options"))
                {
                    foreach (XPathNavigator node in section.SelectChildren(XPathNodeType.All))
                    {
                        // Toggle options
                        foreach (ToolStripMenuItem tsmi in optionsToolStripMenuItem.DropDownItems)
                        {
                            // Set CheckState
                            if (tsmi.Name == node.Name + "ToolStripMenuItem")
                            {
                                // Load from file
                                tsmi.CheckState = (node.InnerXml == "Checked" ? CheckState.Checked : CheckState.Unchecked);
                            }
                        }
                    }
                }


                // Coordinates
                if (saveCoordinatesToolStripMenuItem.Checked)
                {
                    // Process
                    foreach (XPathNavigator section in navigator.Select("/LastXSplits/Coordinates"))
                    {
                        foreach (XPathNavigator subsection in section.SelectChildren(XPathNodeType.All))
                        {
                            // Process forms
                            foreach (Form frm in Application.OpenForms)
                            {
                                // Match
                                if (frm.Name == subsection.Name)
                                {
                                    // Set X,Y
                                    foreach (XPathNavigator node in subsection.SelectChildren(XPathNodeType.All))
                                    {
                                        // X
                                        if (node.Name == "x")
                                        {
                                            frm.Left = Convert.ToInt32(node.InnerXml);
                                        }


                                        // Y
                                        if (node.Name == "y")
                                        {
                                            frm.Top = Convert.ToInt32(node.InnerXml);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }


                // Last X value
                if(saveXToolStripMenuItem.Checked)
                {
                    // Set X
                    nudX.Value = Convert.ToInt32(navigator.SelectSingleNode("/LastXSplits/LastX/X").InnerXml);
                }
            }
            else
            {
                // Default options check state
                topmostToolStripMenuItem.Checked = true;
                saveCoordinatesToolStripMenuItem.Checked = true;
                saveXToolStripMenuItem.Checked = true;


                // Default "X"
                nudX.Value = 18;
            }
        }


        /// <summary>
        /// MouseEnter handler
        /// </summary>
        private void PictureBox_MouseEnter(object sender, System.EventArgs e)
        {
            // Show alpha-blended image
            ((PictureBox)sender).BackgroundImage = Properties.Resources.yellow_highlight_alpha_38x47;
        }


        /// <summary>
        /// MouseLeave handler
        /// </summary>
        private void PictureBox_MouseLeave(object sender, System.EventArgs e)
        {
            // Remove image
            ((PictureBox)sender).BackgroundImage = null;
        }


        /// <summary>
        /// MouseDown Handler
        /// </summary>
        private void PictureBox_MouseDown(object sender, MouseEventArgs e)
        {
            // Check for left button
            if (e.Button == System.Windows.Forms.MouseButtons.Left)
            {
                // Change cursor to hand
                ((PictureBox)sender).Cursor = Cursors.Hand;


                // Show blue alpha-blended image
                ((PictureBox)sender).BackgroundImage = Properties.Resources.blue_highlight_alpha_38x47;
            }
        }


        /// <summary>
        /// MouseUp Handler
        /// </summary>
        private void PictureBox_MouseUp(object sender, MouseEventArgs e)
        {
            // Show yellow alpha-blended image
            ((PictureBox)sender).BackgroundImage = Properties.Resources.yellow_highlight_alpha_38x47;


            // Change cursor back
            ((PictureBox)sender).Cursor = Cursors.Default;
        }


        /// <summary>
        /// MouseClick handler
        /// </summary>
        private void PictureBox_MouseClick(object sender, MouseEventArgs e)
        {
            /* Right click = UNDO */


            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                // Check there's something
                if (history.Count > 0)
                {
                    // Pop last one
                    history.Pop();


                    // Remove from history ListBox
                    lbHistory.Items.RemoveAt(0);
                }


                // Update
                update();


                // Halt flow
                return;
            }


            // Check sender
            if (!(sender is PictureBox))
            {
                // Halt flow too
                return;
            }


            /* Left click = add to history */


            // Snip number
            int number = Convert.ToInt32(((PictureBox)sender).Name.ToString().Substring(2));


            // Push onto history stack
            history.Push(number);


            // Add to history ListBox
            lbHistory.Items.Insert(0, number);


            // Update
            update();
        }


        /// <summary>
        /// Update procedure
        /// </summary>
        private void update()
        {
            // Set dictionary of int, List<Split>
            Dictionary<int, List<Split>> SpD = new Dictionary<int, List<Split>>();


            // Reset every split counter
            foreach (Split sp in Splits)
            {
                // Zero it
                sp.count = 0;
            }


            // Set a count for iterations
            int iteration = 0;


            // Update X times
            foreach (int currentNumber in history)
            {
                // Rise iteration count
                ++iteration;


                // Update Splits list count
                foreach (Split sp in Splits)
                {
                    // If number in split matches input one
                    if (sp.n1 == currentNumber || sp.n2 == currentNumber)
                    {
                        // Rise one in .count
                        sp.count += 1;
                    }
                }


                // Check if must halt
                if (iteration == nudX.Value)
                {
                    // Time to break
                    break;
                }
            }


            // Set dictionary values
            foreach (Split sp in Splits)
            {
                // Account (or not) for unhit splits
                if (sp.count == 0 && !showUnhitSplitsToolStripMenuItem.Checked)
                {
                    // Unchecked, skip iteration
                    continue;
                }


                // Create dictionary entry if not present
                if (!SpD.ContainsKey(sp.count))
                {
                    // Add new list
                    SpD.Add(sp.count, new List<Split>() { sp });
                }
                else
                {
                    // Add split to index
                    SpD[sp.count].Add(sp);
                }
            }


            // Clear counter
            Counter.Clear();


            // Declare new int list
            List<int> intList = new List<int>();


            // Populate with dictionary keys
            foreach (KeyValuePair<int, List<Split>> kvp in SpD)
            {
                // Add key to list
                intList.Add(kvp.Key);
            }


            // Sort list
            intList.Sort();


            // Sync counter with dictionary using list
            for (int i = 0; i < intList.Count; ++i)
            {
                // Add to Counter
                Counter.Add(new SplitCount(intList[i], SpD[intList[i]]));
            }


            // Update status strip count
            tsslHistory.Text = history.Count.ToString();
        }


        /// <summary>
        /// Launch website in default browser
        /// </summary>
        private void websiteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Open web
            LaunchSite();
        }


        /// <summary>
        /// Open website in default browser
        /// </summary>
        private void LaunchSite()
        {
            // Launch BetSelection.cc
            System.Diagnostics.Process.Start("http://betselection.cc");
        }


        /// <summary>
        /// Show about box
        /// </summary>
        private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Message
            MessageBox.Show("Sponsored by WannaWin for the BetSelection.cc community." + Environment.NewLine + Environment.NewLine + "Coded by: Victor/VLS" + Environment.NewLine + Environment.NewLine + "Point your browser to [url=http://www.BetSelection.cc]www.BetSelection.cc[/url] for more releases!" + Environment.NewLine + Environment.NewLine + "(Dec. 2012)", "About Last X Splits", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
        }


        /// <summary>
        /// Account for unhit splits
        /// </summary>
        private void showUnhitSplitsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Reverse checked status
            showUnhitSplitsToolStripMenuItem.Checked = !showUnhitSplitsToolStripMenuItem.Checked;


            // Perform an update
            update();
        }


        /// <summary>
        /// Act upon change of X
        /// </summary>
        private void nudX_ValueChanged(object sender, EventArgs e)
        {
            // Trigger update
            update();
        }


        /// <summary>
        /// Launch website when form is closed
        /// </summary>
        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            // Open web
            LaunchSite();
        }


        /// <summary>
        /// Save XMl file rigth before closing
        /// </summary>
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            // Instantiate XmlWriter
            XmlTextWriter writer = new XmlTextWriter(xmlFile, null);


            // Set formatting
            writer.Formatting = Formatting.Indented;
            writer.Indentation = 4;


            // Document start
            writer.WriteStartDocument();


            // Root start
            writer.WriteStartElement("LastXSplits");
           
            // Options start
            writer.WriteStartElement("Options");


            // Write options
            foreach (ToolStripMenuItem tsmi in optionsToolStripMenuItem.DropDownItems)
            {
                // Save checked status
                writer.WriteElementString(tsmi.Name.Replace("ToolStripMenuItem", ""), tsmi.CheckState.ToString());
            }


            // Options end
            writer.WriteEndElement();


            // Coordinates start
            writer.WriteStartElement("Coordinates");


            // Iterate through forms
            foreach (Form frm in Application.OpenForms)
            {
                // Current form start
                writer.WriteStartElement(frm.Name);


                // Save coordinates
                writer.WriteElementString("x", frm.Left.ToString());
                writer.WriteElementString("y", frm.Top.ToString());


                // Current form end
                writer.WriteEndElement();
            }


            // Coordinates end
            writer.WriteEndElement();


            // LastX start
            writer.WriteStartElement("LastX");


            // X value
            writer.WriteElementString("X", nudX.Value.ToString());


            // LastX end
            writer.WriteEndElement();


            // Root start
            writer.WriteEndElement();


            // Document end
            writer.WriteEndDocument();


            // Close writer
            writer.Close();
        }


        /// <summary>
        /// TopMost for all forms
        /// </summary>
        private void topmostToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Reverse checked
            topmostToolStripMenuItem.Checked = !topmostToolStripMenuItem.Checked;


            // Set TopMost in forms
            this.TopMost = topmostToolStripMenuItem.Checked;
            fCount.TopMost = topmostToolStripMenuItem.Checked;
            fHistory.TopMost = topmostToolStripMenuItem.Checked;
        }


        /// <summary>
        /// Exit program by file menu
        /// </summary>
        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Close main form
            this.Close();
        }


        /// <summary>
        /// Toggles flag for saving coordinates
        /// </summary>
        private void saveCoordinatesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Reverse
            saveCoordinatesToolStripMenuItem.Checked = !saveCoordinatesToolStripMenuItem.Checked;
        }


        /// <summary>
        /// Toggles flag for saving X
        /// </summary>
        private void saveXToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Reverse
            saveXToolStripMenuItem.Checked = !saveXToolStripMenuItem.Checked;
        }


        /// <summary>
        /// Undo by menu
        /// </summary>
        private void undoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Trigger MouseClick
            PictureBox_MouseClick(sender, new MouseEventArgs(System.Windows.Forms.MouseButtons.Right,1,0,0,0));
        }
    }


    /// <summary>
    /// Split class
    /// </summary>
    public class Split
    {
        // Count, First and second splits
        public int count, n1, n2;


        // Overloaded constructor
        public Split(int first, int second)
        {
            // Set first number
            n1 = first;


            // Set second number
            n2 = second;
        }
    }


    /// <summary>
    /// SplitCount Class
    /// </summary>
    public class SplitCount
    {
        // Shows
        public int _shows;


        // Splits
        public List<Split> _splits;


        /// <summary>
        /// Overloaded constructor
        /// </summary>
        /// <param name="shows">int for shows</param>
        /// <param name="splits">List of Split</param>
        public SplitCount(int shows, List<Split> splits)
        {
            _shows = shows;
            _splits = splits;
        }


        /// <summary>
        /// Shows property
        /// </summary>
        public int Shows
        {
            get { return _shows; }
            set { _shows = value; }
        }


        /// <summary>
        /// Splits property
        /// </summary>
        public string Splits
        {
            get
            {
                // Splits string
                string splits = "";


                // Populate splits string
                foreach (Split sp in _splits)
                {
                    // First number + second number + comma and space (added after every split for speed)
                    splits += sp.n1 + "-" + sp.n2 + ", ";
                }


                // Strip last comma and space
                splits = splits.Substring(0, splits.Length - 2);


                // Return processed string
                return splits;
            }
        }
    }
}
#1353
General Discussion / Prompt recovery to Proofreader's mom
December 21, 2012, 01:40:19 PM
Guys, Proof's mother is ill.

He wrote:

QuoteCan't give a lot of attention to the board atm (got a ill mother and doctors)
http://www.rouletteforum.cc/index.php?topic=11626

Our wishes and prayers go to his mom and her prompt recovery.
#1354
Corner/Quad / Re: HCQ bet (1 to 3 quads)
December 20, 2012, 12:38:12 PM
You're most welcomed dear Kathryn   :thumbsup:




Also wanted to refresh all six quads:

[attachimg=1]
#1355
Corner/Quad / Re: HCQ bet (1 to 3 quads)
December 20, 2012, 12:23:56 PM
P.S. you can thank Kathryn/Lady K :rose:

She asked.
#1356
Corner/Quad / HCQ bet (1 to 3 quads)
December 20, 2012, 12:12:39 PM
HCQ stands for Hot and Cold Quads.

You can track it with a regular felt.

The bets are from 1 to at most 3 quads at a time, maximum one quad per dozen.

The methodology is this:

- Monitor all quads from each dozen separately.

- When a single quad is missing in a dozen, you bet it.

- If all the quads on the dozen have a hit, you back the one with most hits.

- In case of a tie on hits on two or more quads, skip them until the tie resolves.




A new cycle is started after a hit.

You can re-use the numbers "going backwards" (from most recent to oldest) until there is a new eligible quad to bet. Then continue with new spins from there until hit or cycle end.




This is a sample graph:


[attachimg=1]




HCQ is the bet selection; feel free to "plug" your matching money management scheme.

I would suggest a slow progression, going up after a hit. Resetting on any plus or break even.



Don't get stubborn. Spin 18 is cycle end.

Vic
#1357
Welcome to the forum HBB,

I agree with Bally. The answer lies in pondering both sides of the spectrum.

If you get your hands on a winning selection, you're basically set for life, but one could say the same if you get a money management which can hold the dispersion of a "regular" selection within the confines of table limits and the personal bank.

Both ways are valid. if one helps the other then one might say the better. In the end it's winning more than losing what counts.

Enjoy your stay around.
#1358
Horse & Greyhound Racing Forum / Re: @ Bayes and Esoito
December 20, 2012, 12:13:09 AM
In an ideal world every country would have a state-run casino with the infrastructure to offer online betting to their citizens.

If they are scared of offshore internet casinos, then the answer is "Embrace and Extend".

A state-run wagering house offers both the state their so-much-sought-after gambling-related income (not only taxes) as well as convenience to the punters.

Of course, land-based casinos would push against them, but... "Everything that can go digital will..."  :nod:
#1359
Even chance / Re: 2 out of 3 System
December 19, 2012, 10:19:36 PM
Thanks for bringing it here mate!  :thumbsup:

That's 2 out of 3 easy EC 8)

A "double-advantage" one as Sam would put it.
#1360
Off-topic / Re: Hmmmm... And the next number is...
December 19, 2012, 09:45:27 PM
Quoteif you were a day-trader betting lots of money on one stock, "10 seconds beforehand you might predict your stock tanking,"
A 10-second window for online casino bets is enough to become a millionaire!

1) Find a person who is sensitive to this.

2) Put a camera pointing to his eyes.

3) Make him bet.

4) Bet for or against his bet based on reaction.

Enjoy the 10 seconds for the money club system!!
#1361
Well dear Bally, "bots" are the last level of the automation stepladder.

You have:

Tracker

Simply eliminates pen and paper; the user is responsible for the bets.

Tester

Assist in automating getting the results of a "possible" system. Saves the person countless hours of human time (i.e. testing by hand).

Clicker

You want to play online, with an automated method but wanting to be in control of the betting. You use a clicker to avoid the human errors factor and to be certain all bets are laid in time. The player still retains the final word on making the bets or not.

Bot

This is full automation. Click & Forget. You trust your method, and you trust the program for backing it up with your real funds.

Bots can make long waits for you. Bots can eradicate the human errors factor.




To me Bots are just like a Knife or a Hammer.


They can assist you in making something good or they can hit and slice you deeply. It all depends on the usage or -in this case- the viability of the method to generate profits.
#1362
General Discussion / Re: Suggest sections
December 18, 2012, 12:59:33 AM
Quote from: MarignyGrilleau on December 18, 2012, 12:23:30 AM
I already miss the systems divided by even chance, straight up, etc.
Kind of hard to find for the new visitor now.
Wish you'd bring it back.
:)
It's there, on the caption link:

http://betselection.cc/roulette-forum/

It also creates a little search-engine optimization in order to bring visitors...
#1363
General Discussion / Re: Suggest sections
December 17, 2012, 10:55:09 PM
Quote from: subby on December 17, 2012, 03:00:48 PM[...]forum without dozens and dozens of rarely used boards and you end up having to scroll down ages to find a board you want.
I'm trying to keep the scrolling on the main page "reasonable". Absorbing many related sections into sub-boards.

We sure don't want an index page where you have to scroll and scroll and scroll... :nod:
#1364
Double-street / Re: DS Christmas Cracker
December 17, 2012, 10:47:30 PM
Thanks for posting Buff,


So, recapitulating:


- We're betting 5 lines at a time.


- Two-step progression.


- We bet against the 3rd and 4th vertical show of a double-street.


- Stop loss: 1x5 + 6x5 = 35 units.


...Any recommended stop win?


Left to individual taste? :)
#1365
General Discussion / Re: Suggest sections
December 17, 2012, 02:48:03 PM
Quote from: dino246 on December 17, 2012, 09:21:54 AM
Anyone know what Bandy is ??? ?
Bandy = "Hockey with a Ball"

[attachimg=1]