Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
310 / 57 / 7
Регистрация: 30.05.2012
Сообщений: 295

Обьясните код

19.07.2012, 22:22. Показов 1176. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код приводится из тетриса
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void timer1_Tick(object sender, EventArgs e)
        {
            if (fig == null)
            {
                fig = new Figura(); fig.pic = mfig[rnd.Next(0, 7)].pic;
                if (!figure_ok())
                {
                    Stop_figur();
                    fig = null; timer1.Enabled = false;
                    return;
                }
            }
            fig.y++;
            if (!figure_ok())
            {
                fig.y--; Stop_figur();
                fig = null;
            } this.Refresh();
что означает this.Refresh ? какой здесь будет текущий обьект?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Figura
{
    public sbyte x, y;
    public byte Col;
    public bool[,] pic;
    public Figura()
    {
        Random rnd = new Random();
        x = 3; y = -2;
        Col = Convert.ToByte(rnd.Next(1, 9));
    }
    public Figura(string f)
    {
        pic = new bool[4, 4];
        for (int x = 0; x < 4; x++)
            for (int y = 0; y < 4; y++)
            {
                string h9 = Convert.ToString((Convert.ToInt32(f) >> y * 4 + x) & 1, 2);
                if (h9 == "1") pic[x, y] = true;
                else pic[x, y] = false;
            }
    }
}
в качестве параметра f будут передаваться строки из массива
C#
1
 string[] figuri = { "384", "371", "163", "1795", "364", "361", "979" };
что в строке
C#
1
 string h9 = Convert.ToString((Convert.ToInt32(f) >> y * 4 + x) & 1, 2);
означает оператор >> и & ,
что означает 2 как второй параметр в перегруженном методе Convert.ToString, и какая это его перегрузка (по номеру, всего вроде 31 перегрузка)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.07.2012, 22:22
Ответы с готовыми решениями:

Обьясните код
h = new Stack&lt;int&gt;; h = new Stack&lt;int&gt;(); h = new Stack&lt;int&gt;(); h = new Stack&lt;int&gt;(); h.Push(8); h.Push(7); h.Push(6); ...

обьясните код
public class Organiz { public long Id { get; set; } public string Gorod { get; set; } public string Org { get;...

Обьясните код пожалуйста
Нашла вот такой код пожалуйста можете обьяснить мне что происходит? как происходит заполнение массива? Ситуация такова что этот кусочек...

1
432 / 433 / 93
Регистрация: 16.07.2012
Сообщений: 886
19.07.2012, 22:49
Refresh() видимо запускает перерисовку элемента управления.
>> - это побитный сдвиг вправо.
& - это побитное "И".
Второй параметр в Convert.ToString() - это int toBase, основание записи числа

Добавлено через 1 минуту
Если вы пользуетесь Visual Studio, то описание метода и всех его аргументов можно посмотреть во всплывающей подсказке, наведя курсор на метод.

Добавлено через 6 минут
На самом деле вызов Convert.ToString здесь похоже бессмысленен - все равно полученная строка потом нигде не используется

Добавлено через 1 минуту
Да и хранить figuri в виде строк странная затея - все равно они потом в числа преобразуются

Добавлено через 10 минут
Ну и соответственно этим массивом чисел кодируются формы фигур. Каждое число соответствует матрице 4x4, бит "0" в числе означает что ячейка матрицы пуста, бит "1" - что закрашена. При помощи операций >> и & производиться декодировка - то есть определяется закрашена ли ячейка с координатами (x,y) или нет
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.07.2012, 22:49
Помогаю со студенческими работами здесь

Обьясните весь код
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { ...

Обьясните синтаксис using
Неоднократно видел и даже использовал не понимая такую конструкцию языка: using(SomeType obj = new SomeType()) { //код } Я знаю...

Обьясните некоторые строки
Собираю задачу по частям) Нашел интересный код, который опережает мои знания. Помогите разобраться. Чем больше строк поясните, тем лучше ...

Обьясните смысл кода
public void setqueen(int i, int j)//заполняет ячейки, которые королева бьет { for (int k = 0; k &lt; 8; k++) ...

Обьясните в чем ошибка?
При выполнении выдает ошибку &quot;Ни одна из перегрузок методa sum_null не принимает 1 аргументов.&quot; Обьясните в чем может быть ошибка?...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru