EVELINE 0 Опубликовано: 30 апреля 2007 +1. Так же как и математика. Это блин не ерунда какая-нибудь программу написать и отладить, может конечно это и с виду кажет(ь?)ся раз плюнуть. Да Бейсик это вообще фигня. Там и программировать нечего. Если с первых уроков вникнешь в это дело, то дальше будет уже проще. (хотя, до конца его еще не изучили) 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Maksim 0 Опубликовано: 30 апреля 2007 (изменено) Да Бейсик это вообще фигня. Там и программировать нечего. Если с первых уроков вникнешь в это дело, то дальше будет уже проще. (хотя, до конца его еще не изучили) ну вот и накатай на бейсике тетрис или амазонкуанаконду то есть =) Изменено 30 апреля 2007 пользователем Maksim 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
EVELINE 0 Опубликовано: 30 апреля 2007 (изменено) ну вот и накатай на бейсике тетрис или амазонкуанаконду то есть =) мы еще не проходили программирование игр но если ты знаешь, можешь научить? Изменено 30 апреля 2007 пользователем EVELINE 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Maksim 0 Опубликовано: 30 апреля 2007 (изменено) мы еще не проходили программирование игр И не пройдете=)) Программирование,- это искуство, всякий алгоритм разбивается на 3 куска, следование, условие и цикл чтоли, позор не помню уже. Блок-схемы проходили? Ну вот... действуй. Так вот, в 90х годах в юнном технике вроде, конкурс был, программку написать, её парень выиграл, без компа написал прогу на ассемблере без единой ошибки(!) это меня поразило тогда сильно. Дело в том, что я не гугу в синтаксесе бейсика, лучше давай ты мне с криптографией поможешь, мне 2 курсача надо писать :( Изменено 30 апреля 2007 пользователем Maksim 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
EVELINE 0 Опубликовано: 30 апреля 2007 Программирование,- это искуство, всякий алгоритм разбивается на 3 куска, следование, условие и цикл чтоли, позор не помню уже. Блок-схемы проходили? Ну вот... действуй. Можешь напомнить про блок-схемы (если вспомнишь)? 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Skin 0 Опубликовано: 30 апреля 2007 чтоб было :1: :1: Игра на ловкость "Змейка" Постановка задачи Цель: Создать законченный вариант игры на ловкость “Змейка” Законченный вариант игры змейка должен содержать: “Змейку” , которая может двигаться в ограниченной плоскости. Маневрами “Змейки” должен управлять играющий. “Змейка” должна увеличиваться в размерах при столкновении с “яблоком” и погибать при столкновении с “бомбой” , при пересечении самой себя и при выходе за границы плоскости заданной программистом. “Яблоко” или другой объект, при столкновении с которым “Змейка” “съедает” его(увеличивается в длину в зависимости от условий заданных программистом. “Бомба” или иной объект, при столкновении с которым змейка погибает. P. S. Необязательным условием (по желанию учащегося) , “змейка” может управляться мышкой(с помощью клавиш на форме) , игра может иметь счетчик набранных очков, таблицу лучших игроков, которая может сохраняться и считываться из файла, а также другие элементы которые увеличивают играбельность игры. Алгоритм Описываются переменные и константы(Dim, Const) Выбор начальных координат случайным образом(Rnd() ) . Прорисовка начального положения. (Pset(x, y) ) Генерация на поле яблок и бомб случайным образом(Rnd() ) . Проверка: не появилось ли яблоко или бомба на черве, а также друг на друге. Управление “Змейкой” с клавиатуры и мышкой. Проверка: “не укусила” ли “змейка сама себя” , если укусила выводится информационное окно (Информационная форма) , в противном случае переходим к следующему пункту. Проверка: “не съела” ли “змейка” “яблоко” если съела, то наращиваем ей хвост и переходим к пункту 3) , в противном случае см. Следующий пункт. Проверка: “не съела” ли “змейка” “бомбу” , если съела, то выводится информационное окно (Информационная форма) , в противном случае переходим к следующему пункту. Перерисовка “Змейки” P. S. За движение “Змейки” появление “яблок” и “бомб” отвечают три разных таймера. Это было использовано для того, чтобы скорость движения “змейки” была постоянной, а также чтобы “яблоко” и “бомба” появлялись на поле в разное время с разным периодом появления. Не исключено, что в последующем в данную программу будут добавлены другие объекты, а также возможность создания таблицы лучших игроков, с возможностью хранения этой таблицы в файле, который может быть считан и записан, а так же перезаписан. Код программы: Форма_Змейка '-------Описание переменных------Option Explicit Dim Змейка() As Змея Dim LastPos As Змея Dim Apple As Змея Dim Bomba As Змея Dim i, j, Длина As Integer Dim XDir, YDir As Integer Dim FirstXPos, FirstYPos As Integer Dim Проверочная1 As Byte Dim Проверочная2 As Single Dim НЛ As String '-------Начальные присвоения------- Const TIC = 1 'Период таймера Const BackCollor = &H8000000F 'Цвет заднего плана Const WormCollor = &H80& 'Цвет Змейки Const AppleCollor = &HFF00& 'Цвет яблока Const BombaCollor = &H80000012 'Цвет бомбы Const Толщина = 10 'Толщина червяка Const НачДлина = 5 'Начальная длина Змейки Const ПриращениеДлины = 3 'Приращение длины Змейки ---------------------------------- --------------------------------------------------------------Public Sub Form_Load() Поле. BackColor = BackCollor Поле. DrawWidth = Толщина Длина = НачДлина ReDim Preserve Змейка(1 To НачДлина) '------Начальное положение-----FirstXPos = 5 + Int(Rnd() * 41) FirstYPos = 5 + Int(Rnd() * 41) For i = 1 To 5 Змейка(i) . XPos = FirstXPos Змейка(i) . YPos = FirstYPos + i Next i НачПоложение '------Направление движения-----XDir = 0 YDir = -1 'Вверх '------Генерация Яблок и Бомб---AppleGen BombaGen Taimer. Interval = TIC End Sub '---Прорисовка начального положения-- Private Sub НачПоложение() Поле. ForeColor = WormCollor СчетИгры. Caption = Длина For i = 1 To Длина Поле. PSet (Змейка(i) . XPos * 100, Змейка(i) . YPos * 100) Next i End Sub ------------------------------------------------------------------------------ ------------------Private Sub Taimer_Timer() Движение Перерисовка End Sub ---------- --------------------------------------------------------------------------------------Private Sub Движение() НЛ = Chr(10) & Chr(13) 'Перевод строки Поле. AutoRedraw = True Поле. DrawWidth = Толщина LastPos = Змейка(Длина) For i = Длина To 2 Step -1 Змейка(i) = Змейка(i - 1) Next i Змейка(1) . XPos = Змейка(1) . XPos + XDir Змейка(1) . YPos = Змейка(1) . YPos + YDir '------Не вышел ли за пределы поля-----On Error GoTo ВышелЗаПределы Проверочная1 = Змейка(1) . XPos - 1 Проверочная1 = Змейка(1) . YPos - 1 Проверочная1 = Змейка(1) . XPos + 206 Проверочная1 = Змейка(1) . YPos + 206 '------Не укусил ли самого себя----- УкусилСамогоСебя: For i = 2 To Длина If Змейка(1) . XPos = Змейка(i) . XPos And Змейка(1) . YPos = Змейка(i) . YPos Then Taimer. Interval = 0 Информационная Форма.. ИнфоПоле. Caption = НЛ & _ "ВАША ЗМЕЙКА" & НЛ & _ "САМА СЕБЯ УКУСИЛА" & НЛ & НЛ & _ "Длина змейки " & Длина Информационная Форма.. Show Форма_Змейка. Enabled = False End If Next i '-----Не наткнулся ли на яблоко--- -On Error GoTo Наткнулась1 Проверочная2 = 1 / (Abs((Змейка(1) . XPos - Apple. XPos) ) + Abs((Змейка(1) . YPos - Apple. YPos) ) ) '-----Не наткнулась ли на бомбу--- --On Error GoTo Наткнулась2 Проверочная2 = 1 / (Abs((Змейка(1) . XPos - Bomba. XPos) ) + Abs((Змейка(1) . YPos - Bomba. YPos) ) ) Exit Sub '----------------Обравотка столкновений--------------ВышелЗаПределы: Taimer. Interval = 0 Информационная Форма.. ИнфоПоле. Caption = НЛ & _ "ВАША ЗМЕЙКА" & НЛ & _ "ВЫШЛА ЗА ПРЕДЕЛЫ ПОЛЯ" & НЛ & НЛ & _ "Длина змейки " & Длина Информационная Форма.. Show Форма_Змейка. Enabled = False Exit Sub Наткнулась1: Длина = Длина + ПриращениеДлины ReDim Preserve Змейка(1 To Длина) '-------Перемещаем хвост в конец------For i = Длина To ПриращениеДлины + 1 Step -1 Змейка(i) = Змейка(i - ПриращениеДлины) Next i 'Добавляем в голову по направлению движения For i = ПриращениеДлины To 1 Step -1 Змейка(i) . XPos = Змейка(i + 1) . XPos + XDir Змейка(i) . YPos = Змейка(i + 1) . YPos + YDir Next i AppleGen НачПоложение Exit Sub Наткнулась2: Taimer. Interval = 0 Информационная Форма.. ИнфоПоле. Caption = НЛ & _ "ВАША ЗМЕЙКА" & НЛ & _ "СЪЕЛА БОМБУ" & НЛ & НЛ & _ "Длина змейки " & Длина Информационная Форма.. Show Форма_Змейка. Enabled = False Exit Sub End Sub ---------------------------------------------------------------------------- --------------------Private Sub Перерисовка() '------Рисуем змейку------Поле. ForeColor = BackCollor Поле. PSet (LastPos. XPos * 100, LastPos. YPos * 100) Поле. ForeColor = WormCollor Поле. PSet (Змейка(1) . XPos * 100, Змейка(1) . YPos * 100) Поле. PSet (Змейка(Длина) . XPos * 100, Змейка(Длина) . YPos * 100) '------Рисуем Яблоко------Поле. ForeColor = AppleCollor Поле. PSet (Apple. XPos * 100, Apple. YPos * 100) '------Рисуем бомбу-------Поле. ForeColor = BombaCollor Поле. PSet (Bomba. XPos * 100, Bomba. YPos * 100) End Sub --------------------------------------- ---------------------------------------------------------Private Sub TaimerApple_Timer() TaimerApple. Interval = (5 + Int(Rnd() * 11) ) * 1000 Поле. ForeColor = BackCollor Поле. PSet (Apple. XPos * 100, Apple. YPos * 100) AppleGen End Sub ------------------------- -----------------------------------------------------------------------Private Sub TaimerBomba_Timer() TaimerBomba. Interval = (5 + Int(Rnd() * 11) ) * 1000 Поле. ForeColor = BackCollor Поле. PSet (Bomba. XPos * 100, Bomba. YPos * 100) BombaGen End Sub ------------------------------------------------------------------------- -----------------------Private Sub AppleGen() Метка1: Apple. XPos = 1 + Int(Rnd() * 49) Apple. YPos = 1 + Int(Rnd() * 49) i = 1 Do While i <= Длина If Apple. XPos = Змейка(i) . XPos And Apple. YPos = Змейка(i) . YPos Then GoTo Метка1 Exit Do End If i = i + 1 Loop End Sub ------------------------------------------------------------------------------- -----------------Private Sub BombaGen() Метка2: Bomba. XPos = 1 + Int(Rnd() * 49) Bomba. YPos = 1 + Int(Rnd() * 49) i = 1 Do While i <= Длина If Bomba. XPos = Змейка(i) . XPos And Bomba. YPos = Змейка(i) . YPos Or Bomba. XPos = Apple. XPos And Bomba. YPos = Apple. YPos Then GoTo Метка2 Exit Do End If i = i + 1 Loop End Sub ------------------------------------------------------------------------------------------ ------'-----Обработка клавиш управления-----Private Sub поле_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 38 'вверх XDir = 0 YDir = -1 Case 40 'вниз XDir = 0 YDir = 1 Case 37 'влево XDir = -1 YDir = 0 Case 39 'вправо XDir = 1 YDir = 0 Case 27 'ESC End Case 113 'F2-игра Форма_Змейка. Enabled = True Форма_Змейка. Form_Load Информационная Форма.. Hide End Select End Sub ------ ------------------------------------------------------------------------------------------ ‘Обработка нажатий кнопок Private Sub Up_Click() XDir = 0 YDir = -1 End Sub Private Sub Down_Click() XDir = 0 YDir = 1 End Sub Private Sub Left_Click() XDir = -1 YDir = 0 End Sub Private Sub Right_Click() XDir = 1 YDir = 0 End Sub Private Sub Command1_Click() End End Sub Private Sub Command2_Click() Форма_Змейка. Enabled = True Форма_Змейка. Form_Load Информационная Форма. Hide End Sub Информационная Форма. Dim НЛ As String ------------------------------------------------------------------- -----------------------------Private Sub Avtor_Click() НЛ = Chr(10) & Chr(13) AboutAvtor. Label4. Caption = "Все права защищены, " & НЛ & _ "использование в комерческих целях преследуется по закону" Информационная Форма.. Enabled = False AboutAvtor. Show End Sub ----------------------------------------------------------- -------------------------------------‘Обработка нажатий кнопок Private Sub Exit_Click() КнопкаВыход_Click End Sub Private Sub NewGame_Click() КнопкаПовторить_Click End Sub Private Sub КнопкаВыход_Click() Unload Форма_Змейка Unload Me End Sub Private Sub КнопкаПовторить_Click() Форма_Змейка. Enabled = True Форма_Змейка. Form_Load Информационная Форма. Hide End Sub AboutAvtor ‘Закрытие формы щелчком кнопки мыши по фотографии Private Sub Image1_Click() Информационная Форма. Enabled = True Unload Me End Sub Module1 Option Explicit ‘Создаем новый тип переменной Public Type Змея XPos As Integer YPos As Integer End Type это правда, наверное, не бейсик 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
EVELINE 0 Опубликовано: 30 апреля 2007 чтоб было :1: :1: это правда, наверное, не бейсик а тогда что? 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Unigeee 0 Опубликовано: 30 апреля 2007 EVELINE,сделаешь, пришлешь,ладно?Я тебе даже рецензию помогу написать... 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
EVELINE 0 Опубликовано: 30 апреля 2007 EVELINE,сделаешь, пришлешь,ладно?Я тебе даже рецензию помогу написать... Я непротив!! 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Maksim 0 Опубликовано: 30 апреля 2007 Программирование,- это искуство, всякий алгоритм разбивается на 3 куска, следование, условие и цикл чтоли, позор не помню уже.Блок-схемы проходили? Ну вот... действуй. Можешь напомнить про блок-схемы (если вспомнишь)? например: http://forum.dedowsk.com/index.php?sho...58entry148558 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Skin 0 Опубликовано: 30 апреля 2007 а тогда что? я не знаю. Честно, я даже не помню как выглядит бэйсик, да простит меня Татьяна Борисовна :1: :1: :1: :1: :1: 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
KeViN 0 Опубликовано: 30 апреля 2007 Какой? уж часом не кубейсик? в школе его так впаривают, что аж жить не хочется... 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
EVELINE 0 Опубликовано: 30 апреля 2007 в школе его так впаривают, что аж жить не хочется... а у нас только наполовину информацию дают, поэтому и не знаем его почти 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Maksim 0 Опубликовано: 30 апреля 2007 (изменено) а у нас только наполовину информацию дают, поэтому и не знаем его почти Если ты хочешь дальше продвигаться в этой области, мой тебе совет: Купи книжку "TurboPascal 7.0" Фаронов В.В. - по паскалю, в московских школах его ведь преподают. Параллельно, "Алгоритмы и структуры данных" Н. Вирта,- классика,- там не паскаль правда, но алгоритмики фудаментальные, переписываешь на паскаль, практика хорошая и опыт появиться. В паскале разбирешься, то на делфи перейти будет просто. Изменено 30 апреля 2007 пользователем Maksim 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
EVELINE 0 Опубликовано: 30 апреля 2007 Если ты хочешь дальше продвигаться в этой области, мой тебе совет:Купи книжку "TurboPascal 7.0" Фаронов В.В. - по паскалю, в московских школах его ведь преподают. Параллельно, "Алгоритмы и структуры данных" Н. Вирта,- классика,- там не паскаль правда, но алгоритмики фудаментальные, переписываешь на паскаль, практика хорошая и опыт появиться. В паскале разбирешься, то на делфи перейти будет просто. а что именно можно написать на этом языке (паскаль и делфи)? 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Maksim 0 Опубликовано: 30 апреля 2007 а что именно можно написать на этом языке (паскаль и делфи)? Паскаль создавался для обучения программированию. Всё необходимое там есть, хоть драйвера пиши :4: Делфи посерьёзнее, - объектно-ориентированный язык, на нем писать можно от простых программулек для ОС Windows до СУБД. 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Satanas 0 Опубликовано: 30 апреля 2007 я не знаю. Честно, я даже не помню как выглядит бэйсик, да простит меня Татьяна Борисовна :1: Кастрюля тебе это навряд ли простит!!! Я уж и сам от Basic'а помню только ... "cls" и "print" А С++ Наиболее перспективный из языков програмирования. Куча возможностей, но чтобы их правильно использовать, надо почитать хотябы "Подбельского", а лучше "Страуструпа" За годик может осилите эти книжечки... а может и нет :41: 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alair 0 Опубликовано: 1 мая 2007 мдя... эвелина, изучите сначала этот примитивный кубэйсик, он даёт основы, развивает логику построения программ. Когда научитесь на нём делать мало-мальски интересные вещи програмирование успеет вам наскучить. Ps. Макс, минобразования не прикалывается...кубейсик - это самое оптимальное, он прост и понятен, но видя как мои одноклассники с трудом делают ерунду, понял что паскаль - слишком жестоко. Вообще не преподавать - тоже плохо. Pps. Невер, ага. Я помню занятия в дк). 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Skin 0 Опубликовано: 1 мая 2007 Ps. Макс, минобразования не прикалывается...кубейсик - это самое оптимальное, он прост и понятен, но видя как мои одноклассники с трудом делают ерунду, понял что паскаль - слишком жестоко. Вообще не преподавать - тоже плохо. прикалывается, и еще как :1: я этот кубейсик как ни старался, так и не смог понять, зато в универе паскаль понял вообще без проблем 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
EVELINE 0 Опубликовано: 1 мая 2007 прикалывается, и еще как :1: я этот кубейсик как ни старался, так и не смог понять, зато в универе паскаль понял вообще без проблем значит, язык паскаля более понятен. я это замечала несколько раз. многие начинают именно с него. 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Billie Joe 0 Опубликовано: 1 мая 2007 значит, язык паскаля более понятен. я это замечала несколько раз. многие начинают именно с него. Нельзя сказать, что что-то более понятно, а что-то нет. Понятно, что за делфи и php сразу не сядешь, если не имеешь представления об элементарных алгоритмах. Однако, на мой взгляд, Pascal отличается от Basic'a тем, что в нем гораздо удобнее организована работа с процедурами и функциями, что заметно облегчает процесс программирования(когда код огромный). Но это детали. Я, к примеру, начинал с Basica в школе, потом без затруднений перешел на Паскаль. Если программирование - смысл жизни, то неважно с чего начинать :) . P.S. недавно в инсте лабу с друганом сделали на Паскале. Размер 3000 строк(для Паскаля многовато). Интерфейс почти как в Винде :) . Препод посмотрел и сказал: читать не буду. Зачтено. :) 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Maksim 0 Опубликовано: 1 мая 2007 P.S. недавно в инсте лабу с друганом сделали на Паскале. Размер 3000 строк(для Паскаля многовато). Интерфейс почти как в Винде :) . Препод посмотрел и сказал: читать не буду. Зачтено. :) Дай заценить,- выложи сюда, чо эт за лаба в 3000 строк. 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Kyoto 0 Опубликовано: 1 мая 2007 (изменено) Программеры мля ......прикрепить текстовый файл что не позволяет ? У меня препод был такой же талантливый как вы программер ,который выкладывал в инет фотки в .bmp Изменено 1 мая 2007 пользователем Kyoto 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Billie Joe 0 Опубликовано: 1 мая 2007 (изменено) Программеры мля ......прикрепить текстовый файл что не позволяет ? У меня препод был такой же талантливый как вы программер ,который выкладывал в инет фотки в .bmp прикрепить текстовый файл не позволял форум :) . Temp.doc Изменено 1 мая 2007 пользователем Billie Joe 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Kyoto 0 Опубликовано: 1 мая 2007 hui.doc Мэджик ! 0 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах