Форум программистов, компьютерный форум CyberForum.ru

Как создать приложение? - C++

Восстановить пароль Регистрация
 
Ане4кA
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 66
21.11.2012, 20:12     Как создать приложение? #1
Доброго времени суток, форумчане! Написала программу игры крестики-нолики, все работает. Но нужно сделать прям приложение, чтобы можно было играть с компьютером, помогите осуществить это..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2012, 20:12     Как создать приложение?
Посмотрите здесь:

C++ создать диалоговое приложение
как создать неконсольное приложение C++
Создать приложение, включающее 3 формы C++
Как создать полноценное приложение на WinApi с различными элементами (textbox.) подскажите книгу C++
Как создать сетевое приложение C++
Как создать windows forms приложение с возможностью работы с win32? C++
Как создать сетевое приложение? C++
C++ Как создать оконное приложение?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,398
21.11.2012, 20:33     Как создать приложение? #2
C++
1
2
3
4
5
6
void clrscr()
{
     for( int i=0;i<40;i++)
     {
          std::cout<<std::endl;
          }
круто конечно, но system("cls"); слегка лучше
Вам нужно написать ИИ (искусственный интеллект), начните с банальной вставки нолика в незанятое место, а далее придумайте несколько стратегий, все через if else. В крестиках-ноликах возможностей то немного.
Ане4кA
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 66
21.11.2012, 20:49  [ТС]     Как создать приложение? #3
Цитата Сообщение от MrGluck Посмотреть сообщение
начните с банальной вставки нолика в незанятое место,
Можно пример?
Yandex
Объявления
21.11.2012, 20:49     Как создать приложение?
Ответ Создать тему
Опции темы

Текущее время: 00:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru