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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2016, 00:03   #1
fo zero fo
Новичок
Джуниор
 
Регистрация: 27.04.2016
Сообщений: 1
Вопрос Робот закрашивает лишнюю клетку (С#)

Доброго времени суток, дорогие форумчане!
У меня такая проблема: Путник закрашивает лишнюю клетку, по условию он должен закрасить только те места, где есть буква z, путник их не видит, есть только стены, больше ничего. Посоветуйте, пожалуйста, что мне делать?

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Windows.Forms;
using библиотекаИсполнителяПутник;

namespace исполнительПутник_v_2
{
public class решениеЗадачи
{
Путник путник;
гаммаЦветов цветЗакраски = гаммаЦветов.голубой;

public решениеЗадачи()
{
// Инициализация сгенерированной обстановки
путник = new Путник("Inlet.in");
try
{
// Собственно решение задачи # 12
повернуться_к_Стене();
путник.шагатьДоУпора();
к_КонцуГоризонтальнойЧастиСтены();
закраситьДоПрепятствия();
путник.повернутьсяНалево();
закраситьСлеваОтПрепятсвия();
путник.слеваПрепятсвие();
путник.работаЗавершена();
закраситьПодСтеной();
путник.сверхуПрепятсвие();
}
catch (Exception сообщение)
{
//***********************************************************************************
// Замечание: Сообщения выводятся только при условии указания темы и номера задачи *
//***********************************************************************************
MessageBox.Show(сообщение.Message, "Причина ошибки");
MessageBox.Show(путник.ToString(), "Место Путника в период ошибки");
}
}
private void к_КонцуГоризонтальнойЧастиСтены()
{
путник.повернутьсяНаправо();
while (путник.слеваПрепятствие)
{
путник.сделатьШаг();
}
путник.повернутьсяНалево();
путник.повернутьсяНалево();
путник.сделатьШаг();
}
private void повернуться_к_Стене()
{
путник.повернутьсяНалево();
путник.повернутьсяНалево();
}

private void закраситьДоПрепятствия()
{
while (путник.справаПрепятствие && путник.впередиСвободно)
{
путник.закрасить(цветЗакраски);
путник.сделатьШаг();
}
// путник.закрасить(цветЗакраски);
}

private void закраситьСлеваОтПрепятсвия()
{
while (путник.слеваПрепятсвие)
{

// путник.сделатьШаг();
путник.закрасить(цветЗакраски);
}
//путник.закрасить(цветЗакраски);
}


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.
Изображения
Тип файла: jpg 2016-04-27_235242.jpg (124.0 Кб, 124 просмотров)

Последний раз редактировалось Serge_Bliznykov; 28.04.2016 в 00:23.
fo zero fo вне форума Ответить с цитированием
Старый 28.04.2016, 00:12   #2
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

А где код библиотеки?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылка на клетку. jokerly C++ Builder 0 26.04.2014 16:51
как сделать image в клетку s2df Помощь студентам 3 17.05.2013 07:51
Как убрать лишнюю форму Frost-56 Общие вопросы Delphi 2 13.06.2012 13:41
Почему данный код закрашивает сразу 2 рядом стоящих пикселя а не один как вроде бы должно быть androk Общие вопросы C/C++ 1 10.11.2011 22:20
Почему читает лишнюю строку nusik Общие вопросы C/C++ 6 20.05.2009 18:22