1. MR-X13.03.2025 в 09:19от
  2. D1zo13.03.2025 в 08:06от
Загрузка...

.NET Support [ c# и vb.net ]

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем Lays, 04.08.2013.

  1. McAntoshca

    McAntoshca

    Статус:
    Оффлайн
    Регистрация:
    09.02.11
    Сообщения:
    409
    Репутация:
    66 +/-
    задание
    Сделайте игру: Пушка на экране стреляет в цель ядрами. С какого выстрела она поразит противника? Между пушкой и целью расположена небольшая гора. Перед началом игры случайно задается горизонтальная координата цели. Затем рисуется картинка (Рис. 13.8).Перед каждым выстрелом компьютер отображает в текстовом поле номер выстрела и запрашивает у человека стартовую скорость ядра v и угол  наклона ствола пушки к зем-ле. Затем летит ядро. Полет ядра подчиняется двум уравнениям: s=v*t*cos и h=v*t*sin – 9.81*t2/2 (см. предыдущее задание). Считается, что цель поражена, если ядро ее коснулось, не коснувшись горы. Вы можете запрограммировать автоматическое определение попадания в цель. Указание: Для этого нужно в момент, когда ядро при падении пересекло уровень земли, сравнить горизонтальные координаты ядра и цели. Если они достаточно близки, то фиксируйте попадание. Определение прикосновения к горе – чуть более хлопотное занятие, но идея та же.
    весь код
    Public Class Form1
    Dim t As Double = 0
    Dim c As Integer = 0


    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Dim gr As Graphics = Me.CreateGraphics
    Dim pero As Pen = New Pen(Color.Black, 5)
    gr.DrawLine(pero, 20, 200, 600, 200) 'земля
    gr.DrawLine(pero, 200, 200, 300, 150) 'правая линия
    gr.DrawLine(pero, 300, 150, 400, 200) 'левая линия
    gr.DrawEllipse(pero, 50, 180, 20, 20) 'колесо пушки
    gr.DrawLine(pero, 30, 200, 90, 160) 'дуло
    Randomize()
    gr.DrawRectangle(pero, 570 * Rnd(), 180, 30, 20)
    Timer1.Enabled = False
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim u, a, s, h, i As Double
    Dim x As Double = 83
    Dim y As Double = 158
    u = TextBox2.Text
    a = TextBox3.Text
    Do While y < 190
    PictureBox1.Left = x
    PictureBox1.Top = y
    s = u * t * System.Math.Cos(a)
    h = u * t * System.Math.Sin(a) - 9.81 * t ^ 2 / 2
    t += 0.2
    x = s + 83
    y = 158 - h
    For i = 1 To 10000000
    Next
    Loop
    c += 1
    TextBox1.Text = (c)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Dim gr As Graphics = Me.CreateGraphics
    PictureBox1.Left = 83
    PictureBox1.Top = 158
    Dim pero As Pen = New Pen(Color.Black, 5)
    gr.DrawLine(pero, 30, 200, 90, 160) 'дуло
    TextBox2.Text = ("")
    TextBox3.Text = ("")
    End Sub
    End Class
     
  2. vladk2010

    vladk2010

    Статус:
    Оффлайн
    Регистрация:
    18.08.11
    Сообщения:
    317
    Репутация:
    323 +/-
    Такой вопрос: Пишу на C# уже 1,5 года. Может уже по-малому изучать C++? Или рано ещё.
     
  3. FaTaL

    Няшный кодер for YouHack
    FaTaL

    Статус:
    Оффлайн
    Регистрация:
    06.10.12
    Сообщения:
    590
    Репутация:
    434 +/-
    Ну если ты пишешь на сишарп 1,5 года, ты же должен сам уже думать пора ли тебе что то дальше изучать?
     
  4. AN9ROS

    AN9ROS

    Статус:
    Оффлайн
    Регистрация:
    16.05.11
    Сообщения:
    534
    Репутация:
    302 +/-
    Вопрос по C#. Я новенький, недавно начал изучать. Мне нужно сделать работу ComboBox'a и textbox'a.
    [​IMG]
    При выборе пункта в comboBox'e (на примере: 1) у наc в textbox'e появляются данные заданные в коде. Если не трудно, с описание. Спасибо.
     
  5. avQse

    avQse

    Статус:
    Оффлайн
    Регистрация:
    07.03.12
    Сообщения:
    481
    Репутация:
    518 +/-
    2AN9ROS
    для начала создай событие SelectedIndexChanged для комбобокса(окно свойства - события). Автоматически в коде проекта создастся обработчик события, например comboBox1_SelectedIndexChanged. Событие будет срабатывать каждый раз при выборе нового элемента.
    Код:
    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
          if (comboBox1.SelectedIndex == 0) textBox1.Text = "Один";
          else if (comboBox1.SelectedIndex == 1) textBox1.Text = "Два";
          else if (comboBox1.SelectedIndex == 2) textBox1.Text = "Три";
    }
    
     
  6. AN9ROS

    AN9ROS

    Статус:
    Оффлайн
    Регистрация:
    16.05.11
    Сообщения:
    534
    Репутация:
    302 +/-
    Нужно сделать сохранение параметров comboBox'a и textBox'a в .ini. Как это организовать?
     
  7. avQse

    avQse

    Статус:
    Оффлайн
    Регистрация:
    07.03.12
    Сообщения:
    481
    Репутация:
    518 +/-
    Вот например -
    Код:
    void Save()
    {
    	var settings = new string[] { comboBox1.SelectedIndex.ToString(), textBox1.Text };
    	File.WriteAllLines("settings.ini", settings);
    }
    void Load()
    {
    	var settings = File.ReadAllLines("settings.ini");
    	comboBox1.SelectedIndex = Convert.ToInt32(settings[0]);
    	textBox1.Text = settings[1];
    }
    
     
  8. AN9ROS

    AN9ROS

    Статус:
    Оффлайн
    Регистрация:
    16.05.11
    Сообщения:
    534
    Репутация:
    302 +/-
    А когда происходит сохранение? Пытался сделать сохранение по кнопке, но были ошибки.
     
  9. bizon4ik

    bizon4ik

    Статус:
    Оффлайн
    Регистрация:
    26.07.12
    Сообщения:
    455
    Репутация:
    319 +/-
    Очень тяжело будет начинать с 0 учить C#?
     
  10. ASDired

    ASDired

    Статус:
    Оффлайн
    Регистрация:
    14.08.13
    Сообщения:
    40
    Репутация:
    4 +/-
    стоит ли человеку знающему python начать учить vb.net?
    и для чего он вообще нужен, что на нем можно будет писать ?
     
  11. TheQE

    TheQE

    Статус:
    Оффлайн
    Регистрация:
    17.02.12
    Сообщения:
    810
    Репутация:
    207 +/-
    У тебя есть в ссылках:
    ?
     
  12. AN9ROS

    AN9ROS

    Статус:
    Оффлайн
    Регистрация:
    16.05.11
    Сообщения:
    534
    Репутация:
    302 +/-
    Да, добавил. Я хотел сделать на нажатие клавишей "Сохранение" и "Загрузить".
     
  13. avQse

    avQse

    Статус:
    Оффлайн
    Регистрация:
    07.03.12
    Сообщения:
    481
    Репутация:
    518 +/-
    А какую ошибку выдает?