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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2011, 15:21   #1
kofeinshik
 
Регистрация: 23.12.2011
Сообщений: 5
Вопрос Крестики-нолики.Проблема при выводе поля.

Что то никак не додумаю в чём дело.
Вообщем,программа - игра в крестики - нолики.
Играют 2-а игрока.Поле 3х3.Начинают крестики.
Ходы задаются цифрами как на пронумерованном поле ниже :
7 8 9
4 5 6
1 2 3
Проблема: при выводе программы,точнее при ходе(вводе) крестиков вывод массива происходит 3-и раза ,хотя после ввода нолика выводится 1-ин раз.
Никак не пойму в чём дело,может что не доглядел.Помогите =)

Вот прога :

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main(void) {
char st[9];
int i,j,k;
clrscr();
printf("Ugrovoe pole:\n");
for(i=1;i<10;i++) {
st[i]= '- ';
printf("%c",st[i]);
if(i%3==0) printf("\n"); }
for(i=1;i<10;i++) {
if(i%2==1) { //proveriaem 4et,ne4et; ne4et - X,4et - 0//
printf("ugrok No1 delaet xod\n");
scanf("%d",&k);
switch(k) {
case 1:{st[7]='X';break;}
case 2:{st[8]='X';break;}
case 3:{st[9]='X';break;}
case 4:{st[4]='X';break;}
case 5:{st[5]='X';break;}
case 6:{st[6]='X';break;}
case 7:{st[1]='X';break;}
case 8:{st[2]='X';break;}
case 9:{st[3]='X';break;} }; }
for(j=1;j<10;j++) { //Здеся вывод массива
printf("%c",st[j]);
if(j%3==0) printf("\n"); }
if(i%2==0) { //uslovie 4et//
printf("ugrok No2 delaet xod\n");
scanf("%d",&k);
switch(k) {
case 1:{st[7]='0';break;}
case 2:{st[8]='0';break;}
case 3:{st[9]='0';break;}
case 4:{st[4]='0';break;}
case 5:{st[5]='0';break;}
case 6:{st[6]='0';break;}
case 7:{st[1]='0';break;}
case 8:{st[2]='0';break;}
case 9:{st[3]='0';break;} }; }
for(j=1;j<10;j++) { // И Здеся вывод массива
printf("%c",st[j]);
if(j%3==0) printf("\n"); }
getch();
}
}
kofeinshik вне форума Ответить с цитированием
Старый 23.12.2011, 15:30   #2
AlexDark
Форумчанин
 
Аватар для AlexDark
 
Регистрация: 23.12.2011
Сообщений: 117
По умолчанию

Дык цикл вывода массива первый убери, или внеси их в блоки условия хода первого или второго игрока
AlexDark вне форума Ответить с цитированием
Старый 23.12.2011, 15:36   #3
kofeinshik
 
Регистрация: 23.12.2011
Сообщений: 5
Радость

Спасибо=) теперь все ок)
kofeinshik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с деструктором при выводе массива WebbMan Общие вопросы C/C++ 6 28.03.2011 22:23
крестики нолики neformalblack Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 18.04.2010 19:04
проблема при выводе с бинарного файла... xVxSeRGxVx Общие вопросы C/C++ 1 13.01.2010 19:08
Крестики-нолики mish@ Общие вопросы Delphi 6 07.05.2009 11:01
Крестики нолики Gorbunov Общие вопросы C/C++ 5 22.01.2009 16:04