开发者

"Member modifier 'static' must precede the member type and name" Error C#

I am building a game of BlackJack and the main class for it is having a problem. This is my code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public class blackjack
    {

        static string[] playercards = new string[11];
        static string hitstay = "";
        static int total = 0, count = 1, dealertotal = 0;
        static Random cardshuffler = new Random();
        static Form1 f1 = new Form1();
        Form1.ControlCollection



        static void start()
        {
            dealertotal = cardshuffler.Next(15, 22);
            playercards[0] = deal();
            playercards[1] = deal();

            bj();
        }


        private static void hit()
        {

            count += 1;
            playercards[count] = deal();
            f1.textBox2("you were dealed a(n) " + playercards[count] + ".your new total is " + total + ".");
            if (total.Equals(21))
            {
                f1.textBox2("you got blackjack! the dealer's total was " + dealertotal + ".would you like to play again?");
                playagain();
            }
            else if (total > 21)
            {
                f1.textBox2("you busted, therefore you lost. sorry. the dealer's total was " + dealertotal + ".would you like to play again? y/n");
                playagain();
            }
            else if (total < 21)
            {
                do
                {
          开发者_JAVA百科          f1.textBox2("would you like to hit or stay?");
                    hitstay = Console.ReadLine();
                } while (!hitstay.Equals("hit") && !hitstay.Equals("stay"));
                bj();
            }
        }

        private static string deal()
        {
            string Card = "";
            int cards = cardshuffler.Next(1, 14);
            switch (cards)
            {
                case 1: Card = "Two"; total += 2;
                    break;
                case 2: Card = "Three"; total += 3;
                    break;
                case 3: Card = "Four"; total += 4;
                    break;
                case 4: Card = "Five"; total += 5;
                    break;
                case 5: Card = "Six"; total += 6;
                    break;
                case 6: Card = "Seven"; total += 7;
                    break;
                case 7: Card = "Eight"; total += 8;
                    break;
                case 8: Card = "Nine"; total += 9;
                    break;
                case 9: Card = "Ten"; total += 10;
                    break;
                case 10: Card = "Jack"; total += 10;
                    break;
                case 11: Card = "Queen"; total += 10;
                    break;
                case 12: Card = "King"; total += 10;
                    break;
                case 13: Card = "Ace"; total += 11;
                    break;

            }
            return Card;
        }

        static void bj()
        {
            if (hitstay.Equals("hit"))
            {
                hit();
            }
            else if (hitstay.Equals("stay"))
            {
                if (total > dealertotal && total <= 21)
                {
                    Form1.textBox2.show("you won! the dealer busted with " + dealertotal + " as their total"  +  "your total was " + total);
                    playagain();
                }
                else if (total < dealertotal)
                {
                    Form1.textBox2.show("sorry, you lost! the dealer's total was " + dealertotal );
                    playagain();
                }

            }
        }

        private static void playagain()
        {



        }
    }
}

The error is in Line 21, Column 9.


The error is actually on line 17 - this identifier is hanging out to dry:

Form1.ControlCollection

Either you meant to declare a field or this code shouldn't be there. This code is causing a error later on since the parser is looking for a field name to go with the type you have put there and assumes that your static Main method is the identifier that goes with it.


static Form1 f1 = new Form1();
    Form1.ControlCollection // What is this? You forgot to write something there?



    static void start()

The compiler thinks that there is a declaration which starts with "Form1.ControlCollection" and continues with "static void start()".

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜