Как сделать игру в бейсике

Добавил пользователь Евгений Кузнецов
Обновлено: 19.09.2024

BASIC, что означает универсальный символьный код инструкций для начинающих, по-прежнему является наиболее известным языком программирования для начинающих, а QBasic - это простой интерпретатор, с помощью которого вы можете писать и запускать программы. По-прежнему существует значительное сообщество любителей QBasic, и обучение созданию игр QBasic учит основам программирования и доставляет массу удовольствия.

Начало работы с QBasic

Если у вас нет QBasic в вашей системе, вы можете загрузить оригинальную версию с сайта Пита QB (см. Ресурсы) или более свежую версию под названием QB64, которая разработана для совместимости с оригиналом. Как только вы откроете его, вы увидите синий экран. Введите следующее:

CLS PRINT "Привет, мир!" ВХОД "Как тебя зовут?"; имя $ PRINT "Привет"; имя $; "!" КОНЕЦ

Затем нажмите Shift + F5, чтобы запустить программу. Вот что происходит:

QBasic Guessing Games

Введите следующий код в QBasic:

ДЕЛАЙТЕ, КОГДА ШАНСЫ% число% ПОТОМ ПЕЧАТИ "Слишком высоко". Иначе печать "Произошла ошибка. Попробуйте еще раз." END IF шансы% = шансы% + 1 LOOP

ПЕЧАТАТЬ ПЕЧАТЬ "У тебя кончились шансы! Извини!" КОНЕЦ

youwin: PRINT PRINT "Вы угадали номер! Номер был"; число%; "!" КОНЕЦ

В этой игре программа создает случайное число от 1 до 10 и предлагает вам три шанса сделать это правильно, давая вам подсказки после первых двух подсказок. Он включает в себя множество концепций программирования.

Прямо перед концом цикла есть строка "chances% = chances% + 1". Это гарантирует, что цикл запускается только три раза.

Больше игровых идей

С PRINT, INPUT, IF … THEN … ELSE и GOTO у вас есть все необходимое для создания простого текстового приключения. Вот пример кода:

house: INPUT "Ты стоишь в доме. Что бы ты хотел сделать"; выбор $ ЕСЛИ выбор $ = "иди наверх" ТОГДА ГОТО наверх ЭЛСЕ ГОТО дом

Постарайтесь сделать это настолько сложным, насколько это возможно, основываясь на том, что вы знаете. И для большего вдохновения, Интернет предлагает множество бесплатных загрузок игр QBasic. Играйте в них и изучайте код, стоящий за ними, чтобы изучить новые методы и получить идеи.

Веселые текстовые игры для игры с парнем

Веселые текстовые игры для игры с парнем

Игры для игры с друзьями онлайн

Игры для игры с друзьями онлайн

Существует множество игр, в которые можно играть онлайн. Любите ли вы головоломки, взрывать вещи, придумывать вещи или стратегии, у вас и ваших друзей есть .

Как найти бесплатные оффлайн игры для игры на компьютере

Как найти бесплатные оффлайн игры для игры на компьютере

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

Сертификат и скидка на обучение каждому участнику

Елена Бурьевая

Выберите документ из архива для просмотра:

Выбранный для просмотра документ +++проект Ярика.doc

Муниципальное казенное общеобразовательное

Проектная работа

на тему «Создание игр в среде объектно-ориентированного программирования Visual Basic . Игра Баше.

Руководитель проекта

учитель математики и информатики Карачаева С.Х.

Разработка игр является одним из направлений как курса математики (математические игры), так и курса информатики (программирования).

Эти игры рассчитаны на возрастную категорию от 7 лет. Они развивают логическое, аналитическое мышление и математическую интуицию.

Применять данные игры можно не только на уроках в начальной школе, но и для более старшего возраста, в частности, при составлении выигрышной стратегии множества игр.

В работе представлено описание игр, их стратегий, программные коды и обоснование выбора данного метода программирования. Также приложены сами игры в виде исполняемых файлов.

Описание проектов.

Описание игры:

В игре участвуют два человека, ходят поочередно. За каждый ход любой из играющих может брать из общей группы, которая к началу игры содержит N предметов, от 1 до Р предметов включительно.
Перед началом каждой партии числа N и Р задаются.
Победителем считается тот, кто сумеет вести игру так, что его соперник вынужден будет взять последний предмет.

Из истории:

Применение:

для развития аналитического мышления у игроков;

Выигрышная стратегия:

Исход игры определен после первого хода, если партнеры не делают ошибок.

В первоначальном варианте игры правила были следующими: первый игрок выбирал число от 1 до 10, второй прибавлял к нему любое число из того же интервала и т.д. Побеждал тот, кто получал в сумме 100. В ней также есть выигрышные позиции, указанные самим Баше: 9, 19, 29, 89.

2. Модификация игры Быки-Коровы

Описание игры:

Играют двое. Каждый задумывает и записывает тайное 4-значное число с неповторяющимися цифрами. Игрок, который начинает игру по жребию, делает попытку отгадать число. Попытка — это 4-значное число с неповторяющимися цифрами, сообщаемое противнику. Противник сообщает в ответ, сколько цифр угадано без совпадения с их позициями в тайном числе и сколько угадано вплоть до позиции в тайном числе.

Например:

Игроки делают попытки угадать по очереди. Побеждает тот, кто угадает число первым.

Модификация:

Из истории:

Эту игру придумали английские пастухи, пытаясь скрасить время.

Применение:

для развития аналитического мышления у игроков.

Алгоритм, позволяющий угадать число за минимальное количество ходов:

Цифр всего десять, поэтому за два хода можно определить, как они распределены в группах цифр 1234, 5678, 90. Наихудший для вычисления вариант — когда две нужные цифры находятся среди цифр одной из проверенных нами четверок, одна — в другой четверка и одна — в паре 90. Если добавить к паре 90, где в любом случае есть одна корова, любую пару из той четверки, где есть еще одна корова, можно на третьем ходу определить пару цифр, которых нет в задуманном противником числе. На четвертом ходе, зная те две цифры, которых у противника нет, можно разбить ту четверку, где есть две коровы, на пары, в самом худшем случае — пары, в каждой из которых есть по одной корове.

Кроме того, чтобы точно выяснить цифры, задуманные противником, необходимо еще четыре хода. Таким образом, за восемь ходов можно однозначно узнать все цифры числа, задуманного противником. Если при каждой проверке следить, чтобы проверяемые цифры не стояли на одном и том же месте в числе, называемом на текущем ходе, можно сократить вычисления до семи ходов.

Обоснование выбранного метода программирования игр

Обоснованность выбора данной системы программирования:

Данная система обладает следующими достоинствами:

Высокая скорость создания приложений с графическим интерфейсом для MS Windows.

Простой синтаксис, позволяющий очень быстро освоить язык.

Возможность компиляции как в машинный код, так и в P-код (по выбору программиста). В режиме отладки программа всегда (вне зависимости от выбора) компилируется в P-код, что позволяет приостанавливать выполнение программы, вносить значительные изменения в исходный код, а затем продолжать выполнение: полная перекомпиляция и перезапуск программы при этом не требуется.

Защита от ошибок, связанных с применением указателей и доступом к памяти. Этот аспект делает Visual Basic приложения более стабильными, но также является объектом критики.

Возможность использования большинства WinAPI функций для расширения функциональных возможностей приложения.

А существующие недостатки данной системы не отразятся на работе данных программ, так как они достаточно “просты”.

Янв 26, 2013 - Игры 13 комментариев

Игра на VB6

Великолепная игра, написанная на Visual Basic 6.

17003 Игра на VB6

Похожие записи:

13 комментариев

Кто пробовал поиграть, пишите свои ощущения.

Прикольно! Не знал что такое на VB написать можно!

А почему страница не существует?

Да, действительно. Спасибо, в пятницу перезалью и обновлю ссылку на скачивание.

Скажи код,пожалуйста. Проект не открылся у меня. ТВОЕЙ ИГРЕ 1000 ИЗ 10! Кстати ты знаешь литературы по бэйсику хорошую?
Заранее спасибо.

Евгений Мишин

Друзья, есть возможность поучить программирование на Смоллике в процессе создания "с нуля" расширенной версии классической игры "Змейка" :)
Никуда не торопимся. Ничего не стесняемся. Делаем всё - в удовольствие.
Предлагаем и спрашиваем всё, что угодно (никто пальцем тыкать не будет)
Вперёд! ;)

Евгений Мишин

☝

Иван, первое, что я могу тебе посоветовать, это НЕ ПУТАТЬ ПРОГРАММИРОВАНИЕ С КОДИРОВАНИЕМ .
Программирование, это разработка ЛОГИКИ работы будущей программы. построение её "механизма".
А кодирование - это уже описание созданной Логики и Механизма командами языка программирования, чтобы её смог прочесть Процессор.

Евгений Мишин

А по сему. тебе, как начинающему программеру, я советую начать работу над "Змейкой" с написания КОММЕНТАРИЯМИ . на родном языке. ДЛЯ СЕБЯ . последовательности тех действий, которые ты бы хотел, чтобы тут выполняла программа.
А поскольку первое, что, по логике, должна будет делать наша программа - это "вывести на монитор стартовый экран с красивой заставкой", то давай это так в свою программу и запишем.
(у тебя, кстати, версия Small Basic-а какая. Да и расширение LitDev нам о-о-очень поможет. У тебя оно есть. )

Иван Черниговский

Евгений Мишин

Иван, а ты последнюю версию (1.2) ставить планируешь.
LitDev под неё много классных функций в своём расширении написал . И с довольно скоростных (для детского Смоллика-то). На оригинальном сайте пацаны и 3D приличное делают. и фотки эффектами обрабатывают.
Так-что, если за Смоллик хочешь браться - ставь всё последнее

Владислав Рыжук

Евгений Мишин

Владислав, конечно можно .
Она будет выглядеть так, как решит КОМАНДА РАЗРАБОТЧИКОВ нашей группы, которая возьмётся за создание игры

Иван Черниговский

Евгений Мишин

Иван, ни фига . Змейка forever .
Нюня тока дождаться парочку КОНКРЕТНЫХ ПАЦАНОВ .
А они - найдутся. Обязательно найдутся

Миша Пчелкин

Миша Пчелкин

GraphicsWindow.CanResize = 0
GraphicsWindow.Width = 800
GraphicsWindow.Height = 600
GraphicsWindow.Left = Desktop.Width / 2 - GraphicsWindow.Width / 2
GraphicsWindow.Top = Desktop.Height / 2 - GraphicsWindow.Height / 2

' Предыдущий лучший результат
' The following line could be harmful and has been automatically commented.
' bestscore = File.ReadContents(Program.Directory+"\score.txt")
If bestscore = "" Then
bestscore = "00000000"
EndIf

' Информационное поле
GraphicsWindow.BrushColor = "SteelBlue"
GraphicsWindow.FillRectangle(4,562,792,34)
GraphicsWindow.PenWidth = 4
GraphicsWindow.DrawRectangle(1,560,120,38)
GraphicsWindow.DrawRectangle(121,560,120,38)
GraphicsWindow.DrawRectangle(241,560,557,38)
GraphicsWindow.BrushColor = "Black"
GraphicsWindow.PenWidth = 1

GraphicsWindow.FontSize = 22
GraphicsWindow.FontName = "Impact"
GraphicsWindow.DrawText(10,565,bestscore)
GraphicsWindow.FontSize = 15
GraphicsWindow.FontName = "Arial"
GraphicsWindow.DrawText(350,570,"F11 - Sound ON/OFF F12 - Pause Esc - Выход")

score = 0
PrintScore()

' Начальные координаты питона на поле
x = Math.GetRandomNumber(GraphicsWindow.Width)
x = x - Math.Remainder(x,20)
y = Math.GetRandomNumber(GraphicsWindow.Height-60)
y = y - Math.Remainder(y,20)

ng = 1 ' Длина питона
snd = 1 ' Звук включен
p = "s" ' Начальное состояние - пауза

' Голова питона
InkPiton()

' Яблоко
GraphicsWindow.BrushColor = "Yellow"
a = Shapes.AddEllipse(20,20)
a2 = Shapes.AddLine(10,7,13,-4)
MoveApfel()

If p<>"s" Then ' Если не пауза

fg = Array.GetValue("g",1)
x = Shapes.GetLeft(fg)
y = Shapes.GetTop(fg)

If p = "l" Then
x = x - 20
EndIf
If p = "r" Then
x = x + 20
EndIf
If p = "u" Then
y = y - 20
EndIf
If p = "d" Then
y = y + 20
EndIf

Г.А. Андросов, А.Ю. Герасимов

ДВЕ ИГРЫ НА БЕЙСИКЕ

Игры "Лучи" и "Змейка" отличаются от множества себе подобных большой компактностью и, мы надеемся, будут полезны начинающим программистам на Бейсике. Главной задачей при их написании было максимально сократить количество строк. Эти две программы являются результатом наших соревнований, правда, их пришлось немного изменить, добавив по строчке, иначе отдельные строчки были бы слишком длинны. Программы удобны тем, что если нечем заняться, то их можно набить очень быстро. А теперь о структуре каждой программы.

"ЗМЕЙКА"

Для тех, у кого джойстик распаян не по стандарту "КЛАДа" (2 — влево, 1 — вправо, 4 — вверх, 8 — вниз), в 7-й строке необходимо изменить числа в строках: IF B=.

Листинги:

1 DIM F(30,20)

2 CLS

3 LINE (7,9)-(248,210),,B

4 DATA 15,11,16,11,8

5 READ X,Y,A,B,F(16,11)

6 С=С+1

7 ? STRING $ (5,7) AT (RND(1)*29+1, RND(1)*19+1)"*"AT(X,Y)CHR$(127) AT(11,22) "ОЧКИ:"; C-l

8 F(X,Y)=PEEK(-78)

9 IF F(X,Y)=25 TH X=X+1 EL IF F(X,Y)=8 TH X=X-1 EL IF F(X,Y)=26 TH Y=Y-1 EL Y=Y+1

10 IF X=0 OR X=31 OR Y=0 OR Y=21 OR POINT (X*8+l, Y*10+l)=l TH END EL IF POINT(X*8+3,Y*10+2)=1 TH 6 EL ?AT(A,B)" "AT(X,Y)CHR$(127)

11 IF TAN(PI) OR F(A,B)=25 TH A=A+1 EL IF F(A,B)=8 TH A=A-1 EL IF F(A,B)=26 TH B=B-1 EL B=B+1

12 GOTO 8

0 ' *. ЛУЧИ ******

1 CLS

2 READ X,Y,M,N,J .

3 DATA 10,120,244,120,2

4 LINE (0,0)-(255,239),,B

5 IF PEEK(-78)=8 TH X=X-1 EL IF PEEK(-78)=27 TH Y=Y+1 EL IF PEEK(-78)=26 TH Y=Y-1 EL X=X+1

6 IF РЕЕКГ-52) AND J<>PEEK(-52) TH J=PEEK(-52) EL B=J

7 IF B=2 TH M=M-1 EL IF B=l TH M=M+1 EL IF B=4 TH N=N-1 EL N=N+1

8 IF POINT(X,Y)=4 TH PSET(X,Y),2 EL D=l

9 IF POINT(M,N)=4 TH PSET(M,N),3 EL D=2

10 IF SIN(PI) OR D=l TH ?"END1" EL IF D TH ?"END2" EL 5

ПРИМЕЧАНИЕ РЕДАКТОРА

Предлагаемые игровые мини-программы проверены на БК-0010.01 и вполне работоспособны. Данные программы являются вариантом реализации хорошо известных на БК игр ("Змейка" — тот же "Питон" из комплекта программ, прилагаемого к БК при продаже, "Лучи" — полный аналог "Гонок" в машинных кодах из того же комплекта). Отличаются же эти игры прежде всего своей феноменальной краткостью, и на некоторые из использованных в них приемов, на мой взгляд, стоит обратить внимание. Вот, например, цепочки операторов IF для распознавания нажатых клавиш. Ведь они не только уменьшают "формальное" число строк в программе, в Бейсике БК-0010.01 это один из немногих аналогов отсутствующей возможности записи нескольких операторов в одной строке. Стоит также отметить использование функций TAN(PI) и SIN(PI) в качестве задержки. Конечно, большое значение задержки таким образом получить сложно, но для маленькой, всего в сотые доли секунды, такой способ намного выгоднее обычного "пустого" FOR-цикла. Кстати, обратим внимание и на то, как использованы эти функции: они вставлены в оператор IF, чтобы не выделять под них лишнюю строку. А чтобы значение этой функции не влияло на условие IF, она "подсоединена" к "действительному" условию через OR (если значение функции, как и требуют авторы, равно 0, при такой записи ее наличие или отсутствие несущественно).

Что дает такая оптимизация? Во-первых, программа занимает мало места как в ОЗУ, так и на носителе (можно скомпановать несколько подобных игр в одну программу с меню выбора игры). Во-вторых, как и отметили авторы, набрать такую программу можно очень быстро (всего за 5—10 минут). И наконец, такая программа в силу своей краткости работает намного быстрее, что для динамических игр очень важно (в данных программах на "медленном" Бейсике скорость игры приближается к скорости для аналогичных программ в кодах). Однако, к сожалению, за все хорошее надо платить. И в данном случае за все перечисленные "плюсы" с лихвой уплачено крайне "бедным" внешним оформлением (а внешний вид для хорошей игры тоже не менее важен).

Читайте также: