Язык программирования C# 2020-2021 учебный год Цель: выполнение простых вычислений в программе в среде Visual Studio
Пример 1
Задание 1. Выполните примеры программ на языке C# в интегрированной среде разработки Microsoft Visual Studio. Оформите отчет по лабораторной работе письменно в тетради. Убедитесь, что пример выполняется без ошибок и запишите его в тетрадь. Лабораторная работа 1 Консольное и оконное приложения в IDE MS Visual Studio на языке программирования C# Задание 1. Программа должна выводить в консоль натуральные числа от 1 до N, где N - константа, заданная в программе. Задание 2. Создать простое оконное приложение с обработчиком событий от кнопки. Используйте 2 кнопки Button Start и Stop, 1 надпись Label. При щелчке по 1-й кнопке выводится надпись "Start", а при щелчке по второй - надпись "Stop". В отчете нарисуйте эскиз оконного интерфейса приложения и запишите текст обработчиков кнопок. Задание 3. В приложении 5 кнопок, при щелчке по каждой кнопке в окне на компоненте pictureBox рисуется одна фигура: линия, прямоугольник, треугольник, эллипс, дуга.
Перейти. Дополненная реальность: Unity и Vuforia.
Задание 4. Создать приложение виртуальной реальности в среде Unity 3D с применением скриптов на языке C#. Задание 5. На основе примера из задания 3 создать мобильное приложение виртуальной реальности в среде Unity 3D с применением языка C#. Пример 1 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace test100csharp { class Program { static void Main(string[] args) { Console.WriteLine("Test console #1."); Console.ReadKey(); } } } Пример 2 private void button2_Click(object sender, EventArgs e) { label1.Text = "Stop"; // холст для рисования Bitmap canvas = new Bitmap(pictureBox1.Width, pictureBox1.Height); Graphics graphCanvas = Graphics.FromImage(canvas); // Оси Pen redPen = new Pen(Color.Red, 2); graphCanvas.DrawLine(redPen, 10, 10, 30, 10); Pen greenPen = new Pen(Color.Green, 4); graphCanvas.DrawLine(greenPen, 0, pictureBox1.Height / 2.0f, pictureBox1.Width, pictureBox1.Height / 2.0f); graphCanvas.DrawLine(greenPen, pictureBox1.Width / 2.0f, 0, pictureBox1.Width / 2.0f, pictureBox1.Height); Pen yellowPen = new Pen(Color.Yellow, 6); Rectangle rect1 = new Rectangle(pictureBox1.Width/2 - 4, pictureBox1.Height/2 - 4, 8, 8); graphCanvas.DrawEllipse(yellowPen, rect1); // показываем пользователю pictureBox1.Image = canvas; } Пример 3 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System; public class Anim_cat : MonoBehaviour { private DateTime startTime; private Animator _animation; public GameObject myGameObject; public Text changingText; public int i = 0; public int iStep = 5; public int iMax = 90; public int iMin = 0; public bool _isProgress = true; //public GameObject myGameObject; // Start is called before the first frame update private bool _isInAction = false; void Start() { _animation = myGameObject.GetComponent<Animator>(); changingText.text = "Status: " + myGameObject.GetComponent<Animator>(); startTime = DateTime.Now; i = 22; } public void Meow() { if (_isInAction) { return; } changingText.text = "Status: Meow"; _isInAction = true; _animation.Play("sound"); Invoke("resetAnimation", 2.0f); i = 33; } public void Jump() { if (_isInAction) { return; } changingText.text = "Status: Jump"; _isInAction = true; _animation.Play("Jump"); Invoke("resetAnimation", 2.0f); i = 44; } public void Walk() { if (_isInAction) { return; } changingText.text = "Status: Walk"; _isInAction = true; _animation.Play("Walk"); Invoke("resetAnimation", 5.0f); i = 55; } public void Rotor() { if (_isInAction) { return; } TimeSpan timeElapsed = DateTime.Now - startTime; startTime = DateTime.Now; /* while (timeElapsed.TotalSeconds < 5) { timeElapsed = DateTime.Now - startTime; //changingText.text = timeElapsed.TotalSeconds.ToString("0.000"); } //changingText.text = timeElapsed.TotalSeconds.ToString("0.000"); */ _isInAction = true; //_animation.Play("Walk"); myGameObject.transform.Rotate(0, 90, 0); Invoke("resetAnimation", 1.0f); i = 66; } private void resetAnimation() { changingText.text = "Status: Idle"; _animation.Play("Idle"); _isInAction = false; } // Update is called once per frame void Update() { //changingText.text = timeElapsed.TotalSeconds.ToString("0.000"); /* if (i > iMax) { iStep = -1*iStep; i = iMax; } if (i < iMin) { iStep = -1*iStep; i = iMin; } */ //changingText.text = i.ToString(); TimeSpan timeElapsed = DateTime.Now - startTime; TimeSpan timeCurrent = DateTime.Now - startTime; if (timeElapsed.TotalSeconds > 0.1) { changingText.text = timeElapsed.TotalSeconds.ToString("0.000"); myGameObject.transform.Rotate(0, 1, 0); if (myGameObject.transform.localScale.x < 0) { _isProgress = true; } if (myGameObject.transform.localScale.x > 1) { _isProgress = false; } if (_isProgress) { myGameObject.transform.localScale += new Vector3(0.05f, 0.05f, 0.05f); } if (!_isProgress) { myGameObject.transform.localScale -= new Vector3(1f, 1f, 1f); } //changingText.text = timeCurrent.TotalSeconds.ToString("0.000"); startTime = DateTime.Now; } } }