Автор работы: Пользователь скрыл имя, 30 Марта 2015 в 07:42, курсовая работа
В данной курсовой работе мы рассмотрим основные принципы и возможности программной среды C++. Для этого используем основные операторы программирования: ветвления, ввода и вывода, цикличности и ввода библиотек, генерации случайных чисел.
При выполнении курсовой работы использовались теоретические и практические знания полученные на уроках информатики, которые применены при выполнения курсового проекта на примере реализации игровых программ в программной среде C++.
Введение
Введение в объектно-ориентированное программирование.
Интерфейс пользователя и Сценарии использования программы
Функциональные требования
Нефункциональные требования
Исключительные ситуации
Поэтапное описание создание кода игры
Заключение
Литература
std::cout << "\n would you like to play again? (y/n): ";
std::cin >> reply;
while(reply != "y" && reply !="n"){
std::cout << "please inter a valid reply (y/n):";
std::cin >> reply;
}
} // Конец play_and_get_winner
return
}
Приложение 7
Код:
#include <iostream>
char board[16] = {};
void clearscreen(){// очищает окно консоли, функция clearscreen ни чего не возвращае.
for(int i = 0; i<100; i++){
std::cout<<std::endl;
}
}
void clearboard(){//эта функция очищает доску и ни чего не возвращает
for(int i = 0; i<17; i++){
board[i] = '-';
}
}
bool has_wonQ(char player){
int wins[10][4] = {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}, {12,13,14,15}, {0,4,8,12},{1,5,9,13},
{2,6,10,14}, {3,7,11,15}, {0,5,10,15}, {3,6,9,12}};
for(int i = 0; i<10; i++){
int count = 0;
for(int j = 0; j<4; j++){
if(board[wins[i][j]] == player)
count++;
}
if(count == 4){
return true;
}
}
return false;
}
void print_board(std::string indent){
std::cout << std::endl;
std::cout<<indent<<"-"<<board[
std::cout<<indent<<"-"<<board[
std::cout<<indent<<"-"<<board[
std::cout<<indent<<"-"<<board[
}
int get_move(){
std::cout<<"\nMenu hodov: \n";
std::cout<<"13-|-14|-15|-16" << std::endl;
std::cout<<"-9-|-10|-11|-12" << std::endl;
std::cout<<"-5-|-6-|-7-|-8-" << std::endl;
std::cout<<"-1-|-2-|-3-|-4-" << std::endl;
std::cout<<"\n";
print_board("");
std::cout << "\nVvod chisla: ";
int move;
std::cin >> move;
while(move > 16 || move < 1 || board[move-1]!= '-'){ //|| move >= 'A' && move <= 'Z' || move >= 'a' && move <= 'z'
std::cout<<"Vvedite chislo ot (1 do 16):\n";
std::cin >> move;
}
return move;
}
char play_and_get_winner(){
int turn = 1;
while(!has_wonQ('X') && !has_wonQ('0')){
clearscreen();
int move = get_move();
clearscreen();
if(turn%2 == 1){
board[move-1]='X';
if(has_wonQ('X')){
std::cout <<"X,Pozdravlyau vi vuigrali!\n";
return 'X';
}
}
else{
board[move-1]='0';
if(has_wonQ('0')){
std::cout <<"Y,Pozdravlyau vi vuigrali!\n";
return '0';
}
}
turn++;
if(turn == 17){
std::cout << "nechya\n";
return 'D';
}
}
}
int main(){
std::cout <<"Privetstvuyu\n\n";
std::string reply = "y";
int x_wins=0, o_wins=0, ties=0;
while(reply == "y"){
clearboard();
char winner = play_and_get_winner();
print_board("\t ");
switch(winner){
case 'X':
x_wins++;
break;
case '0':
o_wins++;
break;
case 'D':
ties++;
break;
}
std::cout << "\n\t*Winer statistic*\nPlayer X: " << x_wins
<< ", Player 0: "<<o_wins << " and Ties: "<<ties<<"\n\n";
std::cout << "\n would you like to play again? (y/n): ";
std::cin >> reply;
while(reply != "y" && reply !="n"){
std::cout << "please inter a valid reply (y/n):";
std::cin >> reply;
}
}// конец ваил лупа
return 0;}
Список рекомендуемой литературы:
1.
Начальный курс С и С++.: Учебник. /Б. И. Березин.
Москва:"ДИАЛОГ-МИФИ",1999г.
2. Язык программирования С++. : Учебник.
/. Страуструп. Киев:"ДиаСофт", 1993 г.
3. Введение в язык С++: Учебник. / Бьярн Страустрап.
– СПб.: 1995.
4. Структуры и алгоритмы обработки данных: Учебник. / Матьяш В.А., Путилов В.А., Фильчаков В.В. , Щёкин С.В. - Апатиты, КФ Петр ГУ, 2000
5. С++ /Дэвис Стефан Р.,4-е издание : Пер. с англ.:- М.: Издательский дом «Вильямс»,2003
6. Основы программирования: Учеб. Для сред. проф. образования /И.Г.Семакин, А.П.Шестаков. – М., 2006.
7. С++ экспресс курс: Учебник. /Лаптев В.В. – СПб.: БХВ- Петербург 2004.
8. С++ учебный курс: Учебник. /Франка П. – СПб.: Питер 2005.
9. МОДЕЛИ И
CТРУКТУРЫ ДАННЫХ:/ Учебное пособие/
Д.Далека, А.С. Деревянко, О.Г.Кравец,
Л.Е. Тимановская -Харьков: ХГПУ, 2000