Как сделать меню ЧЕМПИОНЫ в игре
Хочу сделать меюшку ЧЕМПИОНЫ в игре. Такие меню есть в играх Пинбол, сапер (Windows XP). Так как сделать такое меню в VB ?
Что никто не знает?
По окончании игры пишеш в файл максимальный результат игрока.
По вызову - читаеш из этого файла.
Да, игра уже готова. Можешь поподробнее рассказать что именно за файл(формат) и как сделать так чтобы к примеру играешь в игру, набрал 120 очков к примеру и Game Over, и сразу выскакивает окошко ВВЕДИТЕ СВОЕ ИМЯ и напротив написан результат 120 очков.? И чтобы если в след. раз набрал 140 очков, то старый результат (120 очков) был уже на втором месте?
Это же элементарная логика, особенно, если верить утверждению, что вами написана игра.
ЗЫ: Но все-же интересно, что за игра то?
Может это и элементарная логика, но с VB я знаком не сильно, поэтому и спрашиваю на форуме. Файл должен быть .txt или какой?
файл должен быть ЛЮБОЙ. То КАК ты реализуеш хранение данных никак не ограничено. Но давай вернемся к началу - у тебя эта игра в исходных кодах или как exe файл?
В исходных.
private highscorename(3) as string '3 - кол-во рекордов
private highscore(3) as long
private CurrentScore as long 'текущие очки игрока
private sub ReadHighScore() 'функция, читает рекорды
dim k as byte
dim s as string
open app.path & "\highscore.txt" for input as #1
for k=1 to 3
line input #1,highscorename(k)
line input #1,s
highscore(k)=val(s)
next
close #1
end sub
private sub SaveHighscore() 'Функция, сохраняет рекорды
dim k as byte
dim m as byte
dim l as byte
open app.path & "\highscore.txt" for output as #1
for k=1 to 3
print #1,highscorename(k)
print #1, trim(str(highscore(k)))
next
close #1
end sub
private sub CheckHighscore() 'Функция, проверяет рекорд ли
dim k as byte
k=1
do while (highscore(k)>Currentscore)and(k<=3)
k=k+1
loop
if k>3 then exit sub
l=3+1
for m=k+1 to 3
l=l-1
highscore(l+1)=highscore(l)
highscorename(l+1)=highscorename(l)
next
highscorename(k)=inputbox("Вы победитель! Введите свое имя:")
end sub
В коде после геймовера вставляешь:
ReadHighscore()
CheckHighscore()
SaveHighscore()
И еще чего-нить чтобы показывало рекорды но ты уж сам тут думай :)
Программе не нравиятся строчки
private highscorename(3) as string '3 - кол-во рекордов
private highscore(3) as long
private CurrentScore as long 'текущие очки игрока.
Я вообще твой листинг вставлял в форму. может его надо вставлять в Module ? И ReadHighscore()
CheckHighscore()
SaveHighscore()
можно написать как Call ReadHighscore и тд. ?
писать call не нужно но можно - разницы нет
Вставлять можно куда угодно, но если в модуль, то у sub'ов private надо заменить на public
начет того что ругается - проверь, нет ли уже такого (не точно такого но может похожего)
Line Input #1, highscorename(k).
Я создал один файл highscore.txt и все.
И еще когда в конце пишу ReadHighScore()
CheckHighscore()
SaveHighscore()
то проге тоже не нравится.
<имя 1>
<очки 1>
<имя 2>
<очки 2>
<имя 3>
<очки 3>
...
А у тебя библиотека для работы с fso подключина, или она сдесь не нужна?