![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| kelmiir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 3.5.2013 Репутация: нет Всего: нет |
Приветствую обитателей форума и прошу помощи.
C# начал изучать совсем недавно и до этого сталкивался только с Паскалем По заданию нужно разработать игру "Парные картинки" Приложение сделать получилось но работает как попало (пары не всегда убираются, парой открываются по 3 картинки и т.д.). Полагаю ошибка где то в логике обработки кликов по картинкам но как исправить не знаю.
Это сообщение отредактировал(а) kelmiir - 5.5.2013, 15:55 |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
я бы начал с приведения всего кода в адекватный ЧИТАЕМЫЙ вид. надо дать понятные названия переменным. иначе что бы разобраться в этой писанине потребуется немало времени.
тут как мне показалось какая то странная попытка хранить координаты в массиве, зачем? странность в том, что у тебя, как я понял, хранятся разные координаты в одном массиве и ты просто должен помнить что [0] - это по x, а [1] - это у. вероятность запутаться увеличивается в разы. да и не понятно что такое "open2" без прочтения кода. а должно быть понятно, смотришь на строку и сразу понятно что и откуда берется. я думаю если ты в нормальный вид приведешь свой код, то и выяснится по пути то почему не работает. Это сообщение отредактировал(а) Экскалупатор - 5.5.2013, 12:57 |
|||
|
||||
| kelmiir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 3.5.2013 Репутация: нет Всего: нет |
Извините об этом как то не задумался..Спасибо за совет теперь добавил в код комментарии.
Делал по пособию по этому сам не до конца понимаю, что да как в этом коде. Код пришлось слегка переделать под мое задание да и немного ошибок в печати было. Нашел малость недочетов ещё у себя но по прежнему работает приложение не правильно. Почему то всегда отображается картинка открытая по первому клику даже если ей находится пара. |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
а может быть (field[i, j] == 100 или (field[i, j] == 200 или (field[i, j] == 0 ??? или такие ситуации невозможны? дальше, в этом куске: я так понимаю, что при попадании в первый иф и если картинки две но не одинаковые то из метода обработки мы все равно выйдем, но картинки не уберем с экрана? т.е. return в конце первого ифа сработает в любом случае и во второй иф мы не попадем никогда, только при следующем заходе в метод. или тут как то по другому работает? p.s. я про понятность кода говорил не про коментарии, а про то что надо давать нормальные названия переменным. как из записи: if (field[open1[0], open1[1]] == field[open2[0], open2[1]]) можно понять что вообще тут с чем сравнивается? приходится постоянно бегать в начало листинга и смотреть че это вообще за хрень и за что она отвечает? если бы было написано как то так(просто пример): if (firstSelectedImage == secondSelectedImage) то все было бы на порядок понятнее и читаемее и уже давно можно было бы найти все ошибки. p.p.s. если собираешься заниматься этим в дальнейшем(после сдачи "курсовой"), пусть даже на другом языке, то очень рекомендую научиться делать нормальные имена и оформление кода в целом. Это сообщение отредактировал(а) Экскалупатор - 5.5.2013, 22:45 |
|||
|
||||
| kelmiir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 3.5.2013 Репутация: нет Всего: нет |
Если честно как и писал выше делал по пособию..и как раз откуда идут эти значения 0, 100, 200, и тд да и вообще почему именно они как раз не могу понять.
|
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
посмотри на метод который обрабатывает клик по картинкам, я описал выше что меня смущает, может от этого и ошибки появляются
|
|||
|
||||
| kelmiir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 3.5.2013 Репутация: нет Всего: нет |
По первому я этот кусок со значениями сам не понимаю откуда они берутся.
По второму убирание ретурна после первого ифа на общее положение не влияет по прежнему не правильно работает. |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
))) я же не предлагал его убрать. я говорю что в этом месте как то странно работает. я, так сказать, пытаюсь указать на проблемное, с моей точки зрения, место. дебажить у меня не особо есть временя, но мне кажется проблема в этих ифах. точнее в их взаимодействии. Это сообщение отредактировал(а) Экскалупатор - 8.5.2013, 21:13 |
|||
|
||||
| kelmiir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 3.5.2013 Репутация: нет Всего: нет |
В работе алгоритма ошибок не оказалось) Это была моя невнимательность и немного плохого плохо напечатаная и инструкция) в определение координат перепутал 1 с буковой i ) по этому и работал алгоритм не правильно) Но есть ещё одна сложность с которой я не знаю как справится. Заключается в том что когда сворачиваю игру то все клетки перестают отображаться и приходиться начинать игру заново. Без исправления этой ошибки отказываются принимать работу =(
|
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
надо вызвать метод перерисовки формы(и всего содержимого в ней). обрабатывай события(shown, invalidate или тип того)
посмотри тут все они описаны Form |
|||
|
||||
| kelmiir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 3.5.2013 Репутация: нет Всего: нет |
Либо я не понимаю в целом метод либо совсем что то делаю не правильно. Попробовал разные методы но так ничего и не вышло. Куда его хотя бы примерно нужно вставить?
Попробовал и на саму прорисовку ставить , на форму и на загрузку формы. Ничего из этого не вышло |
|||
|
||||
| Machaon |
|
|||
![]() КаРолЬ АсьКи МуАЛя ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 12.8.2008 Где: М.о. Красногорск Репутация: 3 Всего: 3 |
Делай так:
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |