Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.65/26: Рейтинг темы: голосов - 26, средняя оценка - 4.65
3 / 3 / 0
Регистрация: 16.01.2012
Сообщений: 105

Игра на WinForm: советы по улучшению

28.08.2012, 04:28. Показов 5495. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе утро али день али ноч... Не важно! Главное что бы было добрым =)

Я тут решил игру написать но так как я не чем кроме WF не пользуюсь решил написать именно на WF игру....

В общем Вот предлагаю протестировать и заглянуть чем дышит данное творение =)

Список изменений:
V0.1
  1. Реализована Регистрация через реестр.
  2. Реализована Авторизация через реестр.
V0.2
  1. Реализован статус бар.
  2. Реализована добыча золота через банк.
  3. Реализована добыча дерева через рабочего.
  4. Реализована покупка Рабочего.
  5. Реализована покупка банка.

Системные требования:
  • Платформа: Win 2000,Xp,Vista,Win7,Win8.
  • Поддержка Net: 2.0 и выше.
  • Лицензия: Бесплатная.
  • Таблетка: Не требуется.
  • Online: Отсутствует



Я буду выкладывать вместе с исходником. Кому из начинающих если что то потребуется то я пишу на общедоступном языке... И у мя код написан самым примитивным образом так что - кому что понравится - вытаскивайте и пользуйтесь. Надеюсь таким образом помогу некоторым новичкам так как там много коментов к коду =)!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.08.2012, 04:28
Ответы с готовыми решениями:

Игра "Змейка": советы по улучшению кода
Всем здрасте :) Только что зарегистрировался на форуме. Начал изучать программирование и c# где-то месяца полтора назад и вот сделал свою...

Советы по улучшению и поиск косяков
Здравствуйте... Я сейчас занялся серьёзным созданием приложения.. Более мение интерфейс подогнал, радио воткнул, загрузку сделал. Вопрос!...

советы по улучшению юзабилити
Привет, я совсем нуб в дизайне и почти нуб вюзабилити. Веду свой блог exp-seo.ru. Из-за замыленности взгляда, уже не могу адекватно оценить...

49
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532
13.04.2013, 09:02
Студворк — интернет-сервис помощи студентам
Ап тема...
И вот я вернулся =) Выкладываю вам NEW Вариант Альфа тестирования.
В данной сборке почти не чего нету но уже используются DLL библиотеки.
gsv.exe - 7kb
Libiry.dll - 8kb
resours.dll - 470kb

2.01 Alfa
Прошу придлогайте и обсуждайте данную работу. К завтрошнему дню более оформлю и добавлю уже основы =)
Вложения
Тип файла: zip Gsv.zip (428.5 Кб, 8 просмотров)
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
13.04.2013, 09:28
Code Style полный ппц. Уж определись и пиши в одном стиле.
Как играть? Появилось пустое окно, поводил мышкой, закрыл.
0
13.04.2013, 09:28

Не по теме:

Бедный интерфейс warcraft :fie:

0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
13.04.2013, 09:29
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
        private void pictureBox1_MouseEnter(object sender, EventArgs e)
        {
            panel4.Visible = true;
            name_podskaz.Text = "Первая ячейка";
            text_podskaz.Text = "Содержимое первой ячейки может быть разным";
        }
 
        private void pictureBox1_MouseLeave(object sender, EventArgs e)
        {
            panel4.Visible = false;
        }
 
        private void pictureBox2_MouseEnter(object sender, EventArgs e)
        {
            panel4.Visible = true;
            name_podskaz.Text = "Вторая ячейка";
            text_podskaz.Text = "Содержимое второй ячейки может быть разным";
        }
 
        private void pictureBox2_MouseLeave(object sender, EventArgs e)
        {
            panel4.Visible = false;
        }
 
        private void pictureBox4_MouseEnter(object sender, EventArgs e)
        {
            panel4.Visible = true;
            name_podskaz.Text = "Третья ячейка";
            text_podskaz.Text = "Содержимое третий ячейки может быть разным";
        }
 
        private void pictureBox4_MouseLeave(object sender, EventArgs e)
        {
            panel4.Visible = false;
        }
 
        private void pictureBox5_MouseEnter(object sender, EventArgs e)
        {
            panel4.Visible = true;
            name_podskaz.Text = "Четвертая ячейка";
            text_podskaz.Text = "Содержимое четвертой ячейки может быть разным";
        }
 
        private void pictureBox5_MouseLeave(object sender, EventArgs e)
        {
            panel4.Visible = false;
        }
 
        private void pictureBox8_MouseEnter(object sender, EventArgs e)
        {
            panel4.Visible = true;
            name_podskaz.Text = "Пятая ячейка";
            text_podskaz.Text = "Содержимое пчтой ячейки может быть разным";
        }
 
        private void pictureBox8_MouseLeave(object sender, EventArgs e)
        {
            panel4.Visible = false;
        }
 
        private void pictureBox7_MouseEnter(object sender, EventArgs e)
        {
            panel4.Visible = true;
            name_podskaz.Text = "Шестая ячейка";
            text_podskaz.Text = "Содержимое шестой ячейки может быть разным";
        }
 
        private void pictureBox7_MouseLeave(object sender, EventArgs e)
        {
            panel4.Visible = false;
        }
 
        private void pictureBox6_MouseEnter(object sender, EventArgs e)
        {
            panel4.Visible = true;
            name_podskaz.Text = "Седьмая ячейка";
            text_podskaz.Text = "Содержимое седьмой ячейки может быть разным";
        }
 
        private void pictureBox6_MouseLeave(object sender, EventArgs e)
        {
            panel4.Visible = false;
        }
 
        private void pictureBox3_MouseEnter(object sender, EventArgs e)
        {
            panel4.Visible = true;
            name_podskaz.Text = "Восьмая ячейка";
            text_podskaz.Text = "Содержимое восьмой ячейки может быть разным";
        }
 
        private void pictureBox3_MouseLeave(object sender, EventArgs e)
        {
            panel4.Visible = false;
        }
 
        private void pictureBox12_MouseEnter(object sender, EventArgs e)
        {
            panel4.Visible = true;
            name_podskaz.Text = "Девятая ячейка";
            text_podskaz.Text = "Содержимое девятой ячейки может быть разным";
        }
 
        private void pictureBox12_MouseLeave(object sender, EventArgs e)
        {
            panel4.Visible = false;
        }
 
        private void pictureBox11_MouseEnter(object sender, EventArgs e)
        {
            panel4.Visible = true;
            name_podskaz.Text = "Десятая ячейка";
            text_podskaz.Text = "Содержимое десятой ячейки может быть разным";
        }
 
        private void pictureBox11_MouseLeave(object sender, EventArgs e)
        {
            panel4.Visible = false;
        }
 
        private void pictureBox10_MouseEnter(object sender, EventArgs e)
        {
            panel4.Visible = true;
            name_podskaz.Text = "Одинадцатая ячейка";
            text_podskaz.Text = "Содержимое одинадцатой ячейки может быть разным";
        }
 
        private void pictureBox10_MouseLeave(object sender, EventArgs e)
        {
            panel4.Visible = false;
        }
 
        private void pictureBox9_MouseEnter(object sender, EventArgs e)
        {
            panel4.Visible = true;
            name_podskaz.Text = "Двенадцатая ячейка";
            text_podskaz.Text = "Содержимое двенадцатой ячейки может быть разным";
        }
Далеко ты так не уедешь
0
13.04.2013, 09:29

Не по теме:

Цитата Сообщение от Casper-SC Посмотреть сообщение
Как играть? Появилось пустое окно, поводил мышкой, закрыл.
Аналогично :) Вот этот парень давно знаком мне, где то год назад наверное познакомился, и он до сих пор пишет коряво.

0
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
13.04.2013, 09:32
Переделай, а то так не пойдет.
Миниатюры
Игра на WinForm: советы по улучшению   Игра на WinForm: советы по улучшению  
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
13.04.2013, 09:35
Цитата Сообщение от Casper-SC Посмотреть сообщение
Далеко ты так не уедешь
Надеюсь понятно, что хватит и 2 обработчика для все пикчер боксов.

Добавлено через 1 минуту
Зачем показывать окно с надписью, что вход удачен??? Просто открывай игру и всё, если не хочешь бесить пользователя. Я сразу чувствую нубский подход, без обид, и жать "ОК" меня бы точно напрягало каждый раз.

Добавлено через 1 минуту
Возьми любую игру профессионалами написанную (Starcraft 2), там при авторизации надо жать "ОК"? Да тупо вошёл в игру и всё, если интеллектом не обделён, то логика подскажет, что ты удачно авторизовался.

Добавлено через 39 секунд
Если не знаешь как правильно слово пишется, то в гугл вбей, он подскажет/исправит. "Регисрация" (хотя тут скорее по невнимательности букву пропустил).
0
13.04.2013, 09:36

Не по теме:

Цитата Сообщение от Casper-SC Посмотреть сообщение
Надеюсь понятно, что хватит и 2 обработчика для все пикчер боксов.
Прости меня Skot если ты на самом деле научился делать по другому но, он как то до этого решил мультиязычность добавить, и там было что то в этом роде:
C#
1
2
3
4
5
6
if ( checkBoxRu.Checked )
    textBox1.Text = "Привет";
    ...
else if ( checkBoxEng.Checked )
    textBox1.Text = "Hello";
    ...
И там было не только русский и английский, а много языков :)

0
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532
13.04.2013, 09:40
Щас всё будет... Я лучше хотел бы спросить.. Как избавися от кучи обработчиков... Того что какая ячейка. НО всёравно мне все Пикчер БОксы пригодятся для того что бы заносить туда что либо... Я думал что то вроде бд сделать... С проверкой - Если выбрана ратуша то заносить в каждый бокс картинку по индексу и брать из бд текст и название =) Хатя пока хз...

Добавлено через 1 минуту
По поводу языков будут отдельные фаилы ru.dat en.dat и люди смогут сами даже переписыывать язык =)
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
13.04.2013, 09:46
Дело вкуса, но не лучше ли сделать более читабельным?
C#
1
2
3
4
5
            if (Login.otvev_bool == true) { MessageBox.Show("Удачный вход.");
            Game g = new Game();
            g.Show();
            this.Hide(); 
            }
Вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        private void b_login_Click(object sender, EventArgs e)
        {
            Login.Auth(t_login.Text, t_pass.Text);
            if (Login.otvev_bool == true)
            {
                MessageBox.Show("Удачный вход.");
                Game g = new Game();
                g.Show();
                this.Hide();
            }
            else
                MessageBox.Show(Login.otvev_string);
        }
Добавлено через 18 секунд
Толку ноль от такой экономии строк.

Добавлено через 1 минуту
Не пиши otvev_bool
Дураку понятно, что там bool, если ты в условии if() испольуешь эту переменную. КЭПовские абревиатуры/подсказки это лишнее. На крайняк навёл курсор мыши и увидел, что там за тип данных.

Добавлено через 44 секунды
Ну и опять же дело вкуса. Скажу чисто своё мнение: otvev_bool_bla_bla самый ужасный на мой взгляд стиль именования. Вообще не перевариваю.
0
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
13.04.2013, 09:49
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System.Windows.Forms;
 
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            foreach( Control c in this.Controls )
            {
                PictureBox p = ( c as PictureBox );
                if ( p != null )
                    p.MouseMove += p_MouseMove;
            }
        }
 
        void p_MouseMove( object sender, MouseEventArgs e )
        {
            label1.Text = ( sender as PictureBox ).BackColor.ToString();
        }
    }
}
Добавлено через 1 минуту
Когда будешь наводить мышкой на квадратики будет их цвет писать в label1.
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
13.04.2013, 09:51
У него там могут быть ещё в другом месте пикчер боксы. Так что лучше все те нужные "квадратики" вынести в отдельную панель и по её внутреннему содержимому проходиться циклом и подписываться на события.

Добавлено через 16 секунд
Ща я скину вариант, как сделать, чтобы инфа выводилась.
0
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532
13.04.2013, 09:52
ВОт кто бы мне помог с реализацией БД во внешке ато хранить всё на пк это гг... Не какова мультиплеера =(
0
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
13.04.2013, 09:54
Цитата Сообщение от SkoTi Посмотреть сообщение
ВОт кто бы мне помог с реализацией БД во внешке ато хранить всё на пк это гг... Не какова мультиплеера =(
Ты не прав, мультиплеер можно реализовать с помощью Socket, а данные хранить в зашифрованном виде на компьютере пользователя.
0
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
13.04.2013, 10:00
Вот посмотри.
Вложения
Тип файла: rar WindowsFormsApplication2.rar (48.9 Кб, 6 просмотров)
0
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
13.04.2013, 10:01
Сделал как хотел это сделать Casper-SC.
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
13.04.2013, 10:57
В общем хотел сделать по уму, но что-то появилась проблема, надеюсь помогут её решить. Не охота просто много в коде всего писать, а так в принципе можно и в коде замутить... В общем чуть позже будет видно.
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
13.04.2013, 11:22
В общем лови такой вариант:
Вложения
Тип файла: zip Gsv.zip (384.7 Кб, 5 просмотров)
0
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532
13.04.2013, 12:55
В общем вот:
Gsv 2.02
Я щас пока уйду.. Позже буду.
Снчало посмотрите как чё и почему а потом предлогайте варианты так как я не предстовляю как вашими вариантами можно сделать то что я сделал =)
А тут у меня есть определённые вещи которые будут находится в определённых ячейках... И мне нужно только обьявить что теперь нужен этот элемент.. И он сам встанет в себе нужную ячейку =)

В общем я реализовал то что хотел пока что =)) Добавил немного звуков и вуаля =) Цените =)) Но всё же если у когото есть конструктивное предложение по оптимизации то рад принять его
Вложения
Тип файла: zip Gsv.zip (1.42 Мб, 8 просмотров)
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
13.04.2013, 13:01
Цитата Сообщение от SkoTi Посмотреть сообщение
В общем я реализовал то что хотел пока что =)) Добавил немного звуков и вуаля =) Цените =)) Но всё же если у когото есть конструктивное предложение по оптимизации то рад принять его
Выше есть конструктивное предложение. Смысл тратить на это время, если ты даже не смотришь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.04.2013, 13:01

Дайте советы по улучшению кода
Как можно улучшить код чтобы сократить время его выполнения до минимума? Можно как нибудь игнорировать первую строку без использования...

Нужны советы по улучшению кода
Хотелось получить рекомендации по устранению критериев "плохого кода"(длинные,сложные методы,дублирование кода и.т.п) (Это небольшая...

Нужны советы по улучшению чата
выкладываю свой проект,очень прошу помочь по вопросам 1 - form2.BitBtn3 и form2.BitBtn2 по каким то причинам не работают,не понимаю по...

Советы по улучшению видимости сайта в поисковиках
Здравствуйте. Есть свой сайт, на юкозе) Но вопрос в другом. Сайт тематики игровой с модами для Фермер Симулятор. В этом году поменял...

Оценить код и дать советы по улучшению
Тут можно критиковать в самое жёсткой форме и усложнять жизнь автора Путешествовал я 10 минут назад по фрилансу в поисках интересных и не...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru