Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: "Десятка Лучших"-помогите с движком Добавлено: 22.10.03 11:22  

Автор вопроса:  Morpheus | Web-сайт: xury.zx6.ru

Короче, проблема вот в чём. Надо написать функцию или процедуру, которая будет расстанавливать очки по порядку... Блин... ну как объяснить... Ну все же видили в разных играх что нить вроде Top 10 ?

Ну, я вот написал, прога правильно определяет место, которое занял игрок, но вот например если он занял второе место, программа удаляет запись прошлого игрока (а не двигает всех вниз, что я прошу вас мне помочь сделать).

Вот весь код, который надо дописать(ну, или переписать)

Private Sub AddRecord_Click()
Dim Kills As Integer
Dim n As Integer
Kills = Num.Text
For n = 1 To 10
    If Kills >= Lead(n).Caption Then
        Lead(n).Caption = Kills
        MsgBox "Вы на " & n & " месте!", vbCritical + vbExclamation
        Exit Sub
    End If
Next
End Sub

В нём: AddRecord-CommandButton; Kills-кол-во очков, которое игрок набрал, Num - TextBox куда в тестовом проекте вводится значение Kills; Lead (1 to 10)-Label - список очков, начиная с наивысшего.

Заранее всем благодарен.

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Shtirlic



ICQ: 126550596 

Вопросов: 0
Ответов: 5
 Профиль | | #1 Добавлено: 22.10.03 12:21

Private Sub AddRecord_Click()

Dim Kills As Integer

Dim n, k As Integer

Kills = Num.Text

For n = 1 To 10

If Kills >= Lead(n).Caption Then

For k = 9 To (n - 1)

Lead(k + 1).Caption = Lead(k).Caption

Next k

Lead(n).Caption = Kills

MsgBox "Вы на " & n & " месте!", vbCritical + vbExclamation

Exit Sub

End If

Next n

End Sub

Ответить

Номер ответа: 2
Автор ответа:
 Shtirlic



ICQ: 126550596 

Вопросов: 0
Ответов: 5
 Профиль | | #2 Добавлено: 22.10.03 12:23

Мля, пробелы не напечатал. Сорри...

Ответить

Номер ответа: 3
Автор ответа:
 Pashenko



ICQ: 176176951 

Вопросов: 14
Ответов: 655
 Профиль | | #3 Добавлено: 22.10.03 12:24

Private Sub AddRecord_Click()
Dim Kills As Integer
Dim n As Integer

>>;Dim i as integer

Kills = Num.Text
For n = 1 To 10
If Kills >= Lead(n).Caption Then

>> for i=10 to n+1
>> Lead(i).Caption=Lead(i-1).Caption
>> next i

Lead(n).Caption = Kills
MsgBox "Вы на " & n & " месте!", vbCritical + vbExclamation
Exit Sub
End If
Next
End Sub

Ответить

Номер ответа: 4
Автор ответа:
 Pashenko



ICQ: 176176951 

Вопросов: 14
Ответов: 655
 Профиль | | #4 Добавлено: 22.10.03 12:59

Прошу прощения за неточность :

>> for i=10 to n+1 step -1

Ответить

Номер ответа: 5
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #5
Добавлено: 22.10.03 13:11
Я бы грузил список игроков в коллекцию, а там уже проще передвигать
игроков. В принципе, это можно сделать и в массиве, но немного
гемморойно.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам