Разработка программного обеспечения для компьютерной игры "Морской Бой"

Автор: Пользователь скрыл имя, 12 Января 2012 в 22:27, курсовая работа

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

Данная программа представляет собой полностью оеализованную компьютерную игру «Морской бой» в режиме компьютер-игрок. Правила игры простые, интерфейс интуитивно понятен. Игра прекрасно подходит для хорошего время провождения, развивает различный умственные качества. Достоинтсва программы заключаются в том что имеется два режима расстоновки кораблей для пользователя – «ручной» и автоматический. Так же компьютер обладает собственным интеллектом, так что игра покажется пользователю интересной и увлекательной.

Оглавление

Введение 4
1 Постановка задачи 5
2 Решение задачи 6
3 Описание программного обеспечения 7
3.1 Программная реализация 7
3.2 Общие сведения 7
3.2.1 Список файлов 7
3.2.2 Технические требования 7
3.3Алгоритм 7
3.4 Состав программы 8
Заключение 10
Список используемых источников 11

Файлы: 1 файл

Отчёт (2).doc

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

Министерство  образования и науки Российской Федерации

Федеральное агентство по образованию

Государственное образовательное учреждение высшего  профессионального

образования

«Алтайский  государственный технический университет  им. И.И. Ползунова»

КАФЕДРА ПРИКЛАДНАЯ МАТЕМАТИКА

Курсовая  работа защищена с оценкой

УДК 681.3             _______________________

                             Руководитель

                      работы_________доцент Е.В. Егорова

                (подпись,  должность, и.о. фамилия) 

«РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ КОМПЬЮТЕРНОЙ ИГРЫ «МОРСКОЙ БОЙ»»

ТЕМА  РАБОТЫ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

К КУРСОВОЙ РАБОТЕ 

ПО ДИСЦИПЛИНЕ «ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕВЫСОКОГО  УРОВНЯ» 

КР_230105.20.000_ПЗ

обозначение документа 

Работу выполнил(и)

СТУДЕНТ(Ы) ГР. ПОВТ-91                       И.А.Капустин

                  ___________     _____________________

                                                      подпись, и.о. фамилия

НОРМОКОНТРОЛЕР    __________доцент Е.В. Егорова

                                          подпись,  должность, и.о. фамилия

БАРНАУЛ 2010

Задание на курсовую работу

Учебная дисциплина: Программирование на языке высокого уровня

ФИО студента:Капустин Иван Андреевич

Группа: ПОВТ-91

Тема  курсовой работы: Разработка программного обеспечения для компьютерной игры    морской бой

Этапы разработки курсовой работы и сроки  их выполнения:

  1. Постановка задачи. Изучение необходимой учебной и научно-технической литературы (1-4 недели семестра);
  2. Разработка структуры данных и алгоритма решения задачи (3-6 недели семестра);
  3. Написание текста программы (5-12 недели семестра);
  4. Тестирование и отладка программного продукта (9-12 недели семестра);
  5. Оформление отчета о проделанной работе (13-14 недели семестра);
  6. Сдача работы руководителю и защита работы (14-17 недели семестра);

  Дата выдачи задания: 11.02.2010

  Срок защиты: 30.05.2010

Руководитель:     _________________________    доцент Е. В. Егорова 
 

Содержание 

Введение 4

1 Постановка  задачи 5

2 Решение задачи 6

3 Описание программного  обеспечения 7

      3.1 Программная реализация 7

      3.2 Общие сведения 7

            3.2.1 Список файлов 7

            3.2.2 Технические требования 7

      3.3Алгоритм 7

      3.4 Состав программы 8

Заключение 10

Список используемых источников 11

Приложение А  Текст программы 12

Приложение Б  Тестирование 58

Приложение ВРуководство системного программиста 63

Приложение ГРуководство пользователя 64 

Введение 

      Данная  программа представляет собой полностью  оеализованную компьютерную игру «Морской бой» в режиме компьютер-игрок. Правила игры простые, интерфейс интуитивно понятен. Игра прекрасно подходит для хорошего время провождения, развивает различный умственные качества. Достоинтсва программы заключаются в том что имеется два режима расстоновки кораблей для пользователя – «ручной» и автоматический. Так же компьютер обладает собственным интеллектом, так что игра покажется пользователю интересной и увлекательной. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

     1 Постановка задачи 

Программа должна иметь два поля – игрока и компьютера.

В программе  должны быть предусмотренны классические правила игры «морской бой».

Пользователь  не должен видеть расстановку кораблей компьютера.

Корабли компьютера и корабли игрока (при автоматической расстановке) расстанавливаются случайным образом.

Программа предоставлет пользователю возможность выбора (кто  ходит первым).

В программе  предусмотрено два режима расстановки  кораблей: автоматический и «ручной». При «ручной» расстановке предусмотрены защиты от некорректной расстановки кораблей.

В любой игры ее можно приостановить или выйти  из нее

Компьютер обладает собственным интеллектом. 

     2 Решение задачи 

                                                 Алгоритм решения 

      При запуске программы пользователю предоставляется меню, с помощью которого он может выбрать нужный ему раздел. Для осуществления простоты навигации и ”лёгкого” интерфейса предусмотрены вложенные подменю. После завершения работы программа возвращается в главное меню. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

3 Описание программного  обеспечения 

     3.1 Программная реализация

Программа написана на языке Си. Этот язык выбран по причине  того, что он является наиболее гибким, удобным и к тому же наиболее понятным.Программа  имеет модульную структуру. Все функции находятся в пределах одного файла.Данный программный продукт предусматривает наличие файла: sea battle.exe. 

     3.2 Общие сведения

Наименование  программы:  игра «морской бой»

Разработчик:  Капустин И.А.., АлтГТУ, ФИТ, ПОВТ-91

Назначение  программы:Программа предназначена для времяпровождения и развития умственных качеств 

     3.2.1 Список файлов

sea battle.exe - Файл для запуска программы.

sea battle.cpp - Текст главной программы на языке Си. 

     3.2.2 Технические требования

Процессор:     PentiumII 266MHz и выше

RAM:      16Mb и выше

Видеокарта:     4Mb и выше

Свободное дисковое пространство: 800kb 

   3.3Алгоритм 

  • Главное меню
    • Новая игра
      • Расстановка кораблей
        • Атоматическая раастановка
        • Ручная расстановка
            • Чей ход?
              • Компьютер
              • Игрок
                  • Игровой процесс
    • Выход из программы
 

3.4 Состав программы

Установка курсора

void GotoXY(int X, int Y) X – координата по горизонтали, У – по вертикали

Подключение цветов

void SetColor(int text, int background) text-цвет текста, background – цвет фона

подключение русской  кодировки

char *Rus (char *s2)

автоматическая  расстановка кораблей

int sheeps(int pole[10][10]) pole[10][10] – массив для поля. Функция  возвращает массив в виде 1 и  0, где 1 – клетки кораблей, 0 –  пустые поля

функция ручной расстановки  кораблей

int ras(int mypole[10][10]) муpole[10][10] – массив для поля. Функция возвращает массив в виде 1 и 0, где 1 – клетки кораблей, 0 – пустые поля

функция ручной расстановки  кораблей

функция главного меню

int menu() козвращает  значение в главную функцию  для выхода или продолжения

функция хода компьютера

int comp(int mypole[10][10], int udar , int ud[2], int hod[1]) муpole[10][10] – массив  кораблей, udar – считает число  убитых, ud[2]-массив позиции раненого  корабля

функция хода игрока

int player(int pole[10][10],int udar) pole[10][10] – массив кораблей, udar – считает число убитых 
 

   
 
 
 
 
 
 
 
 
 
 
 
 

Заключение 

       Разработанный программный продукт удовлетворяет  всем указанным в начале отчета требованиям.

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

       Перспективы развития данного продукта связаны  с обеспечением поддержки управления манипулятором “мышь” для облегчения работы с программой и усовершенствование интерфейса.

     В настоящее время разработанный  программный продукт может использоваться по назначению. 

Список  используемых источников

  1. Егорова Е.В. Программирование на языке высокого уровня. Часть II: Учебное пособие  / Алт. госуд. технич. ун-т им. И.И. Ползунова. – Барнаул: 1998. – 176 с.
 
 
  1. Павловская  Т.А. С/С++ программирование на языке выского уровня. Уч-к для вузов. С-Пб,  Питер, 2009
  2. Р.Лафоре, Объектно-ориентированное программирование в С++, классика Computer Science. 4-е издание, Спб, Питер 2004
 
 

Приложение  А

Текст программы

#include <conio.h>

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

#include <windows.h> 

HANDLE hConsole;

//HANDLE hStdout, hStdin;

HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); 

void GotoXY(int X, int Y)

{

      COORD coord = { X, Y };

      SetConsoleCursorPosition(hStdOut, coord);

}  

enum ConsoleColor            //Iiaee??aiea oaaoia

{

    Black         = 0,

    Blue          = 1,

    Green         = 2,

    Cyan          = 3,

    Red           = 4,

    Magenta       = 5,

    Brown         = 6,

    LightGray     = 7,

    DarkGray      = 8,

    LightBlue     = 9,

    LightGreen    = 10,

    LightCyan     = 11,

    LightRed      = 12,

    LightMagenta  = 13,

    Yellow        = 14,

    White         = 15

};

void SetColor(int text, int background)       

{

   HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);

   SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));

}

char s1[256];                         //Iiaee??aiea ?onneie eiae?iaee

char *Rus (char *s2)

{ AnsiToOem(s2,s1); return s1; }  
 
 

int sheeps(int pole[10][10])

{

    int i,j,f,k,r;

    int rand_chislo, rand_chislo1, ts,s; //neo?aeiua ?enea

  

/*  char kr=219;

   char a=218,b=196,c=191,     //ia?aiaiiua aey ia?aoe eeaoie

        d=179,

        e=192, g=217;   */

      srand(time(NULL));      //ooieoey aey aaia?aoee neo?aeiuo ?enae 

     for (i=0;i<10;i++) 

      for (j=0;j<10;j++)

      pole [i][j]=0;

   

     do{ f=0;                                 //?annoaiiaea ?aoaa?iiai ei?aaey

        rand_chislo = 0 + rand() %10;

Информация о работе Разработка программного обеспечения для компьютерной игры "Морской Бой"