Форум программистов, компьютерный форум, киберфорум
Программирование игр
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103

Компетентность программиста в создании малых игр!

25.01.2020, 15:45. Показов 1045. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа,3 раза пытался опираясь на видео скопипастить игру пятнашки :
https://www.youtube.com/watch?v=pSgq6QtcoDc
https://www.youtube.com/watch?v=Tifb9RMo12A
извините ,но повторяя все действия один в один, всегда получал не верный результат программы.
Зачем путать людей???Всегда пытался идти шаг в шаг.Всегда расхождение результатов!!!
Вот результат того что я прослушал и записал в VS:

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
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Game15
{
    public partial class FormGame15 : Form
    {
        Game game;
        public FormGame15()
        {
            InitializeComponent();
            game = new Game(4);
        }
 
        private void button15_Click(object sender, EventArgs e)
        {
            int position = Convert.ToUInt16(((Button)sender).Tag);
            button(position).Text = position.ToString();
           //MessageBox.Show(position.ToString());
        }
        private Button button(int position)
        {
            switch (position)
            {
                case 0:return button0;
                case 1: return button1;
                case 2: return button2;
                case 3: return button3;
                case 4: return button4;
                case 5: return button5;
                case 6: return button6;
                case 7: return button7;
                case 8: return button8;
                case 9: return button9;
                case 10: return button10;
                case 11: return button11;
                case 12: return button12;
                case 13: return button13;
                case 14: return button14;
                case 15: return button15;
                default:return null;
            }
        }
 
        private void menu_start_Click(object sender, EventArgs e)
        {
            game.start();
            refresh();
        }
        private void refresh()
        {
            for (int position = 0; position < 16; position++)
                button(position).Text = game.get_number(position).ToString();         
        }
    }
}
и второй класс C#


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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Game15
{
    class Game
    {
        int size;
        int[,] map;
        int spaceNull_x, spaceNull_y;
        public Game(int SIZE)
        {
            if (size < 2) size = 2;
            if (size > 5) size = 5;
            this.size = SIZE;
            map = new int[size, size];
        }
        public void start()
        {
            for (int x = 0; x < size; ++x)
                for (int y = 0; y < size; ++y)
                    map[x, y] = coords_to_position(x, y) + 1;
            spaceNull_x = size - 1;
            spaceNull_y = size - 1;
            map[spaceNull_x, spaceNull_y] = 0;
        }
        public int get_number(int position)
        {
            int x;
            int y;
            position_to_coords(position, out x, out y);
            if (x < 0 || x >= size) return 0;
            if (y < 0 || y >= size) return 0;
            return map[x,y];
        }
        // возвращает номер из координат
        private int coords_to_position(int x,int y)
        {
            return y * size + y;
        }
        // показывает координаты из позиции
        private void position_to_coords(int position ,out int x,out int y)
        {
            x = position % size;
            y = position / size;
        }
 
    }
}
Результат - должно быть так :
Миниатюры
Компетентность программиста в создании малых игр!  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.01.2020, 15:45
Ответы с готовыми решениями:

Оценить компетентность ИТ-специалиста
Добрый день! Простите новичка, если создаю тему не там, где стоило бы. Прошу помощи и подсказки - как оценить, насколько компетентен наш...

Помощь программиста в создании ММОРПГ
Привет всем! Я тут новичёк, зовут Евгений. Позвольте сразу к делу перейти. Идёт разработка онлайн РПГ под названием Проект...

Графика при создании игр с нуля
Если создавать игры с нуля (на C++), то для работы с графикой подойдут OpenGL или SFML? И как они: в плане возможностей в плане...

3
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
25.01.2020, 15:49  [ТС]
Вот что я получаю :
Миниатюры
Компетентность программиста в создании малых игр!  
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
28.01.2020, 12:16  [ТС]
Мне всё-таки удалось найти причину не правильного расположения номеров кнопок.Правда пришлось изголятся над кодом,но всё заработало . Вот что пришлось делать:


C#
1
2
3
4
5
6
7
8
9
10
11
 public void start()// формирует стартовую позицию всех элементов
        {
            for(int x = 0;x<SIZE;++x)
                  for(int y = 0;y<SIZE;++y)         
                map[x,y] = coords_to_position( y, x)+1;// ВНИМАНИЕ - ПРИШЛОСЬ ПЕРЕСТАВИТЬ Y и X ДЛЯ НОРМАЛЬНОГО 
            // РАСПОЛОЖЕНИЯ  НОМЕРОВ КНОПОК-БОТОВ
            
                space_x = SIZE - 1;
                space_y  = SIZE - 1;
                map[space_x, space_y] = 0;
        }
Миниатюры
Компетентность программиста в создании малых игр!  
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
28.01.2020, 12:17  [ТС]
Спасибо создателю кода.Где то я был не прав.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.01.2020, 12:17
Помогаю со студенческими работами здесь

Использование массивов в создании некоторых игр
Помогите понять, как используются массивы для создания игр. Таких как змейка, три в ряд, морской бой, тетрис наконец). Я гуглил, но ничего...

Интерфейс C#, где может пригодиться в создании игр
Ребята, всем привет ! как то мало инфы по использованию интерфейсов в программировании игр. не подскажите ,чем они полезны и в каких...

Как используются массивы при создании игр?
а как используются массивы при созданий игр ? и вообще для чего они !?

Ищу опытного программиста 3D игр для бесплатных консультаций
Ну суть отражена в заголовке.Мне не нужен чей-то фриланс,просто хочу найти умного человека,которому иногда можно будет задавать умные...

Зачем при создании 2d игр используют класс Canvas ?
Зачем нужен класс Canvas, понимаю что это холст, но зачем при создание 2d игр его используют??


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru