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

C# для заканчиваемших!

10.12.2018, 01:32. Показов 1046. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа игроманы,иногда приходит кризис! Особенно когда понимаешь ,что даже простой выложеннный алгоритм змейки,является "китайской грамотой".

C#
1
2
3
4
5
6
7
8
9
 //метод первого прироста змеи
        public void DrawHeadAndBody()
        {
            for (int y = picBodySnake_.Length -1; y > 0; --y)
            {
                VariableTest = y ;
                picBodySnake_[y].Location = new Point(picBodySnake_[y - 1].Location.X, picBodySnake_[y - 1].Location.Y);
            }
        }
Но сдаваться нельзя .
Это попытка тетриса в консоли,дабы понять работу с матрицей.
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
//using System.Timers.Timer;
using System.IO;
using System.Timers;
 
namespace MatrixForTetris1
{
    class Figure
    {
        int index = 1;
        static int a = 10;
        static int b = 5;
        int[,] arrBloks = new int[a,b];
        string[] ArrNameFigure = new string[] {"квадрат","брус","тавр","уголок"};
        //string NameFigure = "";
        public Figure()
        {
        }
       public void CreateMatrixBloks()
        {
            for (int i = 0; i < a; ++i)
            {
                for (int w = 0; w < b; ++w)
                {
                    arrBloks[i, w] = index++;
                    Console.Write(String.Format("{0,3}", arrBloks[i, w]));
                }
                 Console.WriteLine();
            }
        }
       public int x = 0;
       public int y = 0;
       public int element1, element2, element3, element4;// сохраняем элементы матрицы для возврата на свои места 
        //при работе таймера
       public void UpDate(string nameFigure_)
       {
           Console.Write("\n");
           element1 = arrBloks[y, x]; element2 = arrBloks[y, x + 1];
           element3 = arrBloks[y + 1, x]; element4 = arrBloks[y + 1, x + 1];
           switch (nameFigure_)
           {
               case "квадрат" :
                   arrBloks[y, x] = 0; arrBloks[y, x + 1] = 0;
                   arrBloks[y + 1, x] = 0; arrBloks[y + 1, x + 1] = 0;
                   break;
           }
    
           Console.Clear();  // Главное при обновлении (Бывшая ошибка!!!)
 
          for (int i = 0; i < a; ++i)
           {
               for (int w = 0; w < b; ++w)
               {
                   // arrBloks[i, w] = index++;
                   Console.Write(String.Format("{0,3}", arrBloks[i, w]));
               }
               Console.WriteLine();
           }
           
           if (arrBloks[y, x] == 0 && arrBloks[y, x + 1] == 0)
           {
               arrBloks[y, x] = element1;
               arrBloks[y, x + 1] = element2;
               arrBloks[y + 1, x] = element3;
               arrBloks[y + 1, x + 1] = element4;
           }
       }
    }
    class Program
    {
       static Figure figure;
       static System.Timers.Timer tmr = new System.Timers.Timer();
        static void Main(string[] args)
        {
            tmr.Elapsed += new ElapsedEventHandler(Timer_Tik);
            tmr.Interval = 1000;
            tmr.Enabled = true;
            figure = new Figure();
            figure.CreateMatrixBloks();
            Thread.Sleep(3000);
            Console.ReadKey();
        }
         static  void Timer_Tik(object sender, ElapsedEventArgs e)
        {
            //figure.x++; 
            // figure.y++;
            Console.Write(figure.y.ToString());
            if (figure.y < 7)
            {
                figure.y++;
            }
            else
            {
                figure.x++;
            }
            /*if (figure.y > 7)
            {
               tmr.Stop();
               figure.x++;
            }
           // figure.x++;
            if (figure.x > 2)
            {
                tmr.Stop();
            }
             */
            figure.UpDate("квадрат");
        }
    }
}
А это попытка в WForm :
Вложения
Тип файла: rar TETRIS1_TestUpDate.rar (73.6 Кб, 3 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.12.2018, 01:32
Ответы с готовыми решениями:

Подскажите пожалуйста IDE для линукса (например, для кали-линукса) для новичка для обучения программированию на си++
Сейчас обучаюсь стандарту си++ 2011. Подскажите новичку, чего выбрать? Есть небольшой опыт работы в qt, в линуксе ничего еще не умею делать.

При вводе ключей (для всех команд /?, для sort /r, для dir /o:s /a:-d /o:n) программа вылетает
Всем доброго времени суток, исправьте пжл ошибку в коде. program os_cmd; uses windows,crt,dos; var sdir,sdirc : string; ...

Что нужно для написания приложения для Facebook (библиотека для Visual Studio)
Здравствуйте! Нашел интересную статейку на офсайте посвящённому asp.net , где представлен пример создания приложения для Facebook....

6
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
10.12.2018, 01:41  [ТС]
Большая проблема,научиться работать со списками ,дабы динамически:
добавлять,удалять,переставлять - любые элементы списка объектов.

Thanks for attention!
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
10.12.2018, 01:55  [ТС]
Подарок от моей дочки на Новый "Хрюкальный" Год!!!
Миниатюры
C# для заканчиваемших!  
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
12.12.2018, 01:12  [ТС]
Я думаю поговорка :"Терпенье и труд всё перетрут" не зряшная! Посидел,покумекал и немного улучшился результат.
Как говорится : "Сам себя не похвалишь ........".Ну это шутка.Вот что реально получается пока -что.
Вложения
Тип файла: rar TETRIS1_TestUpDate.rar (75.1 Кб, 6 просмотров)
0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
12.12.2018, 01:18  [ТС]
Как видите работы ещё много.Пока не получается написать метод остановки при пересечении 2х фигур.
Что-то типа :

C#
1
2
3
4
5
6
7
8
9
10
public void CheckCollisionBlocks(Rectangle rect1, Rectangle rect2)
        {
            for (int i = index; i < figure.Blocks.Count ; ++i)
             {
                if(rect1.IntersectsWith(rect2))
                {
                    figure.Blocks[i].Velocity = 0;
                }
             }
        }
0
20.12.2018, 12:02

Не по теме:

Извините, может я не уловил мысль, но в чем суть?)

0
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
09.01.2019, 02:37  [ТС]
Ув.Gilford!Суть в том, что сел я за написание ТЕТРИСА,и столкнулся с кучей сложностей.Может у кого-то получается проще,а у меня так.
Но кое-что я думаю потихоньку получается.Мне так каацца!
https://www.youtube.com/watch?v=Fn2evaBJzDI
Миниатюры
C# для заканчиваемших!  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.01.2019, 02:37
Помогаю со студенческими работами здесь

Какой из ассемблеров подходит для написания приложений для win32, где скачать самую продвинутую IDE для ассемблера
Я уже давно в ваших ассемблерах как в лесу в смысле непонятно какой из них продолжают развивать и где брать ИДЕ для них, вот вроде как...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru