Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2012, 20:20   #1
Аnni
 
Регистрация: 21.09.2012
Сообщений: 3
Печаль Как создать приложение?

Доброго времени суток, форумчане! Написала программу игры крестики-нолики, все работает. Но нужно сделать прям приложение, чтобы можно было играть с компьютером, помогите осуществить это..

Код:
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
char board[9]={};
 
void clrscr()
{
     for( int i=0;i<40;i++)
     {
          std::cout<<std::endl;
          }
}          
 void clearboard()
 {
      for(int i=0;i<9;i++)
      {
              board[i]='-';
              }
 }
 
 bool has_won(char player)
 {
      int wins[][3]={{0,1,2},{3,4,5},{6,7,8},{0,3,6},
                     {1,4,7},{2,5,8},{0,4,8},{2,4,6}};
      for( int i=0;i<8;i++)
      {int count=0;
           for( int j=0;j<3;j++)
           {if(board[wins[i][j]]== player) count++;
            }
            if(count==3){return true;}
            }
            return false;
            }
                                       
void print_board(std::string indent){
  std::cout<<" Game board: \n"<<std::endl;
  std::cout<<indent<< "-"<<board[6]<<"-|-"<<board[7]<<"-|-"<<board[8]<<"-\n";
  std::cout<<indent<< "-"<<board[3]<<"-|-"<<board[4]<<"-|-"<<board[5]<<"-\n";
  std::cout<<indent<< "-"<<board[0]<<"-|-"<<board[1]<<"-|-"<<board[2]<<"-\n";
}  
int get_move(){
  std::cout<<" Move option: \n";
  std::cout<<"-7-|-8-|-9-"<<std::endl;
  std::cout<<"-4-|-5-|-6-"<<std::endl;
  std::cout<<"-1-|-2-|-3-"<<std::endl;
  std::cout<<"\n\n";
  
 print_board("");
  std::cout<<"\n Your move: "; 
  
  int move;
  std::cin>>move;
  while( move>9||move<1||board[move-1]!='-')
 { 
         std::cout<<"Please enter a legal move (1-9): \n"; 
         std::cin>>move;
  }
  return move;
}
 
char play_and_get_winner()
{ int turn=1;
     while(!has_won('X')&&!has_won('0'))
{    clrscr();
     int move=get_move();
      std::cout<<"The move you entered is: "<<move<<std::endl;
 if(turn%2==1)
 {
           board[move-1]='X';
           if (has_won('X'))
           { std::cout<<"Congratulations player X. You have won!\n";
           return 'X';
           }
           }
 else
 {
     board[move-1]='0';
       if (has_won('Y'))
           { std::cout<<"Congratulations player Y. You have won!\n";
           return '0';
           }
     }     
     turn++;
     if(turn==10)
     {std::cout<<"\t     It is a draw!\n";}
     }
     }
 
int main(int argc, char *argv[])
 
{    clearboard();
 char winner=play_and_get_winner();
      std::cout<<"\nThe final board layout is \n";
 print_board("\t");
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
Аnni вне форума Ответить с цитированием
Старый 21.11.2012, 22:41   #2
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

для начала дайте, плиз, определение фразы "прям приложение", ибо в моем словаре приложение и есть программа
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 22.11.2012, 15:28   #3
Аnni
 
Регистрация: 21.09.2012
Сообщений: 3
По умолчанию

чтобы можно было играть с компьютером, открывалось сразу игровое поле.
без открытия компилятора для этого
Аnni вне форума Ответить с цитированием
Старый 22.11.2012, 15:42   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

По идее если ты хотя бы один раз запускала программу из компилятора - он должен был создать запускаемый самостоятельно файл. Ищи его в каталогах проекта, или куда там проект настроен у тебя.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.11.2012, 19:40   #5
Suby
Пользователь
 
Аватар для Suby
 
Регистрация: 03.11.2012
Сообщений: 89
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
По идее если ты хотя бы один раз запускала программу из компилятора - он должен был создать запускаемый самостоятельно файл. Ищи его в каталогах проекта, или куда там проект настроен у тебя.
По идее, если она смогла написать крестики нолики, то полюбому должна уже знать о таких мелочах
Сдается мне. что ей просто нужна помощь в написании искусственного интелекта.
Ну или она просто нашла этот код в нэте и теперь хочет типа "написать свою программу"
Suby вне форума Ответить с цитированием
Старый 22.11.2012, 20:12   #6
WillyWonka
Пользователь
 
Регистрация: 23.09.2012
Сообщений: 12
По умолчанию

Каким компилятором Вы пользуетесь?
Тут 2 задачи:
1) Найти .exe файл, соответствующей Вашей программе.
2) Написать ИИ, который будет делать ходы вместо 2го игрока.
WillyWonka вне форума Ответить с цитированием
Старый 23.11.2012, 17:20   #7
Че Гевара
Форумчанин
 
Аватар для Че Гевара
 
Регистрация: 25.09.2012
Сообщений: 182
По умолчанию

А защиту от дурака сделать не судьба?После ввода символа приложение тупо зацикливается.
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Brian W. Kernighan.
Че Гевара вне форума Ответить с цитированием
Старый 23.11.2012, 18:00   #8
Blind Guard
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 139
По умолчанию

Под приложением вы понимаете не консольный вариант вашей программы?
Blind Guard вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать простое клиент-серверное приложение -Jack- Помощь студентам 3 29.11.2011 21:50
Как создать win32 приложение в Visual C++? Сергей089 Помощь студентам 3 19.02.2010 23:40
Как создать приложение без иконки? dolphin705 Общие вопросы Delphi 17 05.05.2009 14:36
Как проще создать оконное приложение Mrloony Общие вопросы C/C++ 3 22.09.2008 00:00
Как создать Web-приложение eremin Работа с сетью в Delphi 3 27.10.2007 13:15