Разработка компьютерной игры «Косынка»

Автор: Пользователь скрыл имя, 09 Мая 2012 в 18:16, курсовая работа

Краткое описание

Развитие компьютерных технологий в течение последних нескольких десятилетий происходило удивительно быстрыми темпами. Современные ноутбуки и стационарные компьютеры могут производить вычисления гораздо быстрее и хранить намного больше информации, чем, например, компьютеры второй половины прошлого столетия. Также в ногу со временем развивались языки программирования.

Оглавление

Введение………………………………………………………………………………………..4
1. Постановка задачи…………………………………………………………………….5
2. Объектно-ориентированный анализ предметной области……..6
3. Результаты проектирования……………………………………………………..9
4. Результаты комплексного тестирования………………………………….11
Выводы………………………………………………………………………………………….16
Использованная литература………………………………………………………...17
Приложение А. Руководство пользователя…………………………………18
Приложение Б. Листинг программы……………………………………………19

Файлы: 1 файл

курсовая програмирование Косынка.docx

— 276.40 Кб (Скачать)

int suit = num / 13;

if (seniority == 0)

            {

                seniority = 13;

                suit -= 1;

            }

returnnewCard((Card.SuitTypes)suit, seniority);

} 

//получение  цвета карты по масти

publicColor SuitToColor()

{

if (this.suit == SuitTypes.clubs || this.suit == SuitTypes.spades)

returnColor.black;

else

returnColor.red;

} 

//определение,  может ли карта лечь на другую

/*public bool isRightCard(Card destinationCard)

        {

            if (this.SuitToColor() != destinationCard.SuitToColor() && (this.Seniority == destinationCard.Seniority - 1))

{

                return true;

            }

            return false;

        }*/ 
 

//определение,  может ли быть добавлена карта  в базу

publicbool isRightBaseCard(Base _base)

        {

if (_base.countCardsInPile() == 0)

            {

if (this.seniority == 1)

                {

                    _base.Suit = this.Suit;

returntrue;

                }

            }

else

            {

Card card = _base.peekCard();

if (this.seniority == card.seniority + 1 &&this.suit == _base.Suit)

returntrue;

            }

returnfalse;

        } 

//определение,  может ли быть добавлена карта  в колоду

publicbool isRightPileCard(Pile pile)

        {

if (pile.countCardsInPile() == 0)

            {

if (this.seniority == 13)

                {

returntrue;

                }

            }

else

            {

Card card = pile.peekCard();

if (this.SuitToColor() != card.SuitToColor() && (this.Seniority == card.Seniority - 1))

                {

returntrue;

                }

            }

returnfalse;

        } 

//достоинствокарты

publicint Seniority

        {

get

            {

return seniority;

            }

        } 

//мастькарты

publicSuitTypes Suit

        {

get

            {

return suit;

            }

        } 

//коодинаты нахождения карты (X)

publicint X

        {

set

            {

if (value<= Game.widthGameField &&value>= 0)

                    Xcoord = value;

            }

get

            {

return Xcoord;

}

        } 

//координаты  нахождения карты (Y)

publicint Y

{

set

            {

if (value<= Game.heightGameField &&value>= 0)

                    Ycoord = value;

            }

get

            {

return Ycoord;

}

        } 

//признак  открытой карты

publicbool IsOpen

        {

get

            {

return isOpen;

            }

set

            {

                isOpen = value;

            }

        } 

//номер  карты (для доступа к ресурсам  карт)

publicint CardNumber

        {

get

            {

return cardNumber;

            }

set

            {

if (value>= 1 &&value<= Game.countOfCards)

                    cardNumber = value;

            }

        }

    }

}

     Game.cs 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text; 

namespace WindowsFormsApplication1

{

//классигры

classGame

    {

//счет

privateint score;

//количествостопок

publicconstint countOfPiles = 7;

//количествокарт

publicconstint countOfCards = 52;

//количествобаз

publicconstint countOfBases = 4;

//высотакарты

publicconstint heightCard = 96;

//ширинакарты

publicconstint widthCard = 71;

//ширинаигровогополя

publicconstint widthGameField = 748;

//высотаигровогополя

publicconstint heightGameField = 703;

//стопки

publicPile[] Piles;

//базы

publicBase[] Bases;

//дополнительная  колода для сбрасываемых карт

publicPile Deck; 

//конструктор  игры

//генерация  карт в стопках

public Game()

        {

int i;

bool inserted;

Random rnd = newRandom();

            score = 0;

            Piles = newPile[countOfPiles + 1];

            Bases = newBase[countOfBases];

            Deck = newPile();

for (i = 0; i < Piles.Length; i++)

                Piles[i] = newPile();

for (i = 0; i < Bases.Length; i++)

                Bases[i] = newBase();

for (i = 1; i <= countOfCards; i++)

            {

                inserted = false;

while (!inserted)

                {

int index = rnd.Next(0, countOfPiles + 1);

if ((Piles[index].countCardsInPile() < index + 1 && index != countOfPiles) || index == countOfPiles)

                    {

                        Piles[index].addCardToPile(newCard(i));

Информация о работе Разработка компьютерной игры «Косынка»