|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.03.2010, 22:57 | #11 |
Пользователь
Регистрация: 03.03.2010
Сообщений: 38
|
Ну, в принципе, ради примера игры - не так уж и плохо. Можно, конечно, что-то доработать, а так очень даже ничего для первого опыта в Borland С++.
|
15.03.2010, 16:09 | #12 |
Новичок
Джуниор
Регистрация: 15.03.2010
Сообщений: 1
|
Привет Программистам. у меня задание написать простую игру в крестики нолики без глюков. Есть что то, но он с косяками, т.е с ошибками, при проигрыше и выигрыше прога вылетает, ничего не выдает. Поправьте меня плиз, что не так тут написано. Или может у вас есть какой нить код игры рабочий под DOS. Буду очень благодарен. p.s как написать меню к этой игре. Состоящая из 1) Игра 2) Справка 3) Выход 4) об Игре.
#include <stdio.h> #include <stdlib.h> #include <time.h> int POLE[3][3] = {{0,0,0}, {0,0,0}, {0,0,0}}; int win() { if(POLE[0][0] == POLE[0][1] && POLE[0][1] == POLE[0][2]) return POLE[0][0]; if(POLE[1][0] == POLE[1][1] && POLE[1][1] == POLE[1][2]) return POLE[1][0]; if(POLE[2][0] == POLE[2][1] && POLE[2][1] == POLE[2][2]) return POLE[2][0]; if(POLE[0][0] == POLE[1][0] && POLE[1][0] == POLE[2][0]) return POLE[0][0]; if(POLE[0][1] == POLE[1][1] && POLE[1][1] == POLE[2][1]) return POLE[0][1]; if(POLE[0][2] == POLE[1][2] && POLE[1][2] == POLE[2][2]) return POLE[0][2]; if(POLE[0][0] == POLE[1][1] && POLE[1][1] == POLE[2][2]) return POLE[0][0]; if(POLE[0][2] == POLE[1][1] && POLE[1][1] == POLE[2][0]) return POLE[0][2]; } void print() { int i, j; for(i=0; i<3; i++) { for(j=0; j<3; j++) { switch (POLE[i][j]) { case -1: printf("%c ", 'x'); break; case 1: printf("%c ", '0'); break; case 0: printf("%c ", '*'); break; default: printf("OSIBKA, V MASSIVE NE OPOZNANII SIMVOL\n"); break; } } printf("\n"); } } int main() { int x, y, w; // Компьютер крестиками, игрок ноликами; int comp = -1, player = 1; srand(time(0)); printf("DOBRO POGALOVAT\n\n"); do { printf("VASH HOD (x, y):\n\n"); scanf("%d %d", &x, &y); if(x>3 || y>3 || x<1 || y < 1) { printf("VI VVELI NE PRAVILNYE KOORDINATI\n"); continue; } if(POLE[y-1][x-1] != player && POLE[y-1][x-1] != comp) { POLE[y-1][x-1] = player; print(); } else { printf("SUDA XODIT NELZA\n"); continue; } w = win(); if(w==-1) { printf("POBEDIL COMPUTER!\n"); return 0; } if(w==1) { printf("VI POBEDILI\n"); return 0; } // теперь ход компьютера; printf("XOD COMPUTERA\n"); do { do { y = rand() % 10; }while(y<1 || y > 3); do { x = rand() % 10; }while(x<1 || x > 3); }while(POLE[y-1][x-1] == player || POLE[y-1][x-1] == comp); POLE[y-1][x-1] = comp; print(); w = win(); if(w==-1) { printf("POBEDIL COMPUTER!\n"); return 0; } if(w==1) { printf("VI POBEDILI\n"); return 0; } }while(1); return 0; } Последний раз редактировалось Espons; 15.03.2010 в 16:57. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
крестики нолики | aesoem | Общие вопросы Delphi | 11 | 12.06.2011 11:32 |
Крестики - Нолики | Иваненко | Помощь студентам | 6 | 09.05.2008 22:09 |
x_O Крестики-нолики | by -ORTODOX- | Общие вопросы Delphi | 1 | 10.03.2008 19:03 |
Еще раз крестики - нолики. | Иваненко | Помощь студентам | 2 | 17.12.2007 20:09 |