Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Jak zapisać to krucej/ problem z pętlą ?
kamil010



Typ: neutral
Postów: 28
Zarejestrowany: Jul 2004
Jak zapisać to krucej/ problem z pętlą ?

Jak zapisać to krucej wygląda to fatalnie, jest to wczytywanie mapy do mojej gry..... jednak miałem problem z zastosowaniem tu jakieś pętli, nie chciał wcztywać obrazków. Tym bardziej ze chciałbym mape rozbudowac o dodatkowe lementy a  nie mam zamiaru kolejny raz dopisywac cyferki....POZDRAWIAM pomocnych








Private Sub loadd_Click()
cd1.Filter = "Plik levelu (*.lvl)|*.lvl"
cd1.Action = 1
If cd1.FileName = "" Then Exit Sub

Open cd1.FileName For Input As #1
For a = 0 To pic.Count - 1
    Y = Input$(2, 1)
   
If Y = 0 Then pic(a).Picture = graf.GraphicCell(0)
If Y = 1 Then pic(a).Picture = graf.GraphicCell(1)
If Y = 2 Then pic(a).Picture = graf.GraphicCell(2)
If Y = 3 Then pic(a).Picture = graf.GraphicCell(3)
If Y = 4 Then pic(a).Picture = graf.GraphicCell(4)
If Y = 5 Then pic(a).Picture = graf.GraphicCell(5)
If Y = 6 Then pic(a).Picture = graf.GraphicCell(6)
If Y = 7 Then pic(a).Picture = graf.GraphicCell(7)
If Y = 8 Then pic(a).Picture = graf.GraphicCell(8)
If Y = 9 Then pic(a).Picture = graf.GraphicCell(9)
If Y = 10 Then pic(a).Picture = graf.GraphicCell(10)
If Y = 11 Then pic(a).Picture = graf.GraphicCell(11)
If Y = 12 Then pic(a).Picture = graf.GraphicCell(12)
If Y = 13 Then pic(a).Picture = graf.GraphicCell(13)
If Y = 14 Then pic(a).Picture = graf.GraphicCell(14)
If Y = 15 Then pic(a).Picture = graf.GraphicCell(15)
If Y = 16 Then pic(a).Picture = graf.GraphicCell(16)
If Y = 17 Then pic(a).Picture = graf.GraphicCell(17)
If Y = 18 Then pic(a).Picture = graf.GraphicCell(18)
If Y = 19 Then pic(a).Picture = graf.GraphicCell(19)
If Y = 20 Then pic(a).Picture = graf.GraphicCell(20)
If Y = 21 Then pic(a).Picture = graf.GraphicCell(21)
If Y = 22 Then pic(a).Picture = graf.GraphicCell(22)
If Y = 23 Then pic(a).Picture = graf.GraphicCell(23)
If Y = 24 Then pic(a).Picture = graf.GraphicCell(24)
If Y = 25 Then pic(a).Picture = graf.GraphicCell(25)
If Y = 26 Then pic(a).Picture = graf.GraphicCell(26)
If Y = 27 Then pic(a).Picture = graf.GraphicCell(27)
If Y = 28 Then pic(a).Picture = graf.GraphicCell(28)
If Y = 29 Then pic(a).Picture = graf.GraphicCell(29)
If Y = 29 Then pic(a).Picture = graf.GraphicCell(29)
If Y = 30 Then pic(a).Picture = graf.GraphicCell(31)
If Y = 31 Then pic(a).Picture = graf.GraphicCell(32)
If Y = 32 Then pic(a).Picture = graf.GraphicCell(33)
If Y = 33 Then pic(a).Picture = graf.GraphicCell(34)
If Y = 34 Then pic(a).Picture = graf.GraphicCell(35)
If Y = 35 Then pic(a).Picture = graf.GraphicCell(35)
If Y = 36 Then pic(a).Picture = graf.GraphicCell(36)
If Y = 37 Then pic(a).Picture = graf.GraphicCell(37)
If Y = 38 Then pic(a).Picture = graf.GraphicCell(38)
If Y = 39 Then pic(a).Picture = graf.GraphicCell(39)
If Y = 40 Then pic(a).Picture = graf.GraphicCell(40)
If Y = 41 Then pic(a).Picture = graf.GraphicCell(41)
If Y = 42 Then pic(a).Picture = graf.GraphicCell(42)
If Y = 43 Then pic(a).Picture = graf.GraphicCell(43)
If Y = 44 Then pic(a).Picture = graf.GraphicCell(44)
If Y = 45 Then pic(a).Picture = graf.GraphicCell(45)
If Y = 46 Then pic(a).Picture = graf.GraphicCell(46)
If Y = 47 Then pic(a).Picture = graf.GraphicCell(47)
If Y = 48 Then pic(a).Picture = graf.GraphicCell(48)
If Y = 49 Then pic(a).Picture = graf.GraphicCell(49)
If Y = 50 Then pic(a).Picture = graf.GraphicCell(50)
If Y = 51 Then pic(a).Picture = graf.GraphicCell(51)
If Y = 52 Then pic(a).Picture = graf.GraphicCell(52)
If Y = 53 Then pic(a).Picture = graf.GraphicCell(53)
If Y = 54 Then pic(a).Picture = graf.GraphicCell(54)
If Y = 55 Then pic(a).Picture = graf.GraphicCell(55)
If Y = 56 Then pic(a).Picture = graf.GraphicCell(56)
If Y = 57 Then pic(a).Picture = graf.GraphicCell(57)
If Y = 58 Then pic(a).Picture = graf.GraphicCell(58)
If Y = 59 Then pic(a).Picture = graf.GraphicCell(59)
If Y = 60 Then pic(a).Picture = graf.GraphicCell(60)
If Y = 61 Then pic(a).Picture = graf.GraphicCell(61)
If Y = 62 Then pic(a).Picture = graf.GraphicCell(62)
If Y = 63 Then pic(a).Picture = graf.GraphicCell(63)
If Y = 64 Then pic(a).Picture = graf.GraphicCell(64)
If Y = 65 Then pic(a).Picture = graf.GraphicCell(65)
If Y = 66 Then pic(a).Picture = graf.GraphicCell(66)
If Y = 67 Then pic(a).Picture = graf.GraphicCell(67)
If Y = 68 Then pic(a).Picture = graf.GraphicCell(68)
If Y = 69 Then pic(a).Picture = graf.GraphicCell(69)
If Y = 70 Then pic(a).Picture = graf.GraphicCell(70)
If Y = 71 Then pic(a).Picture = graf.GraphicCell(71)
If Y = 72 Then pic(a).Picture = graf.GraphicCell(72)
If Y = 73 Then pic(a).Picture = graf.GraphicCell(73)
If Y = 74 Then pic(a).Picture = graf.GraphicCell(74)
If Y = 75 Then pic(a).Picture = graf.GraphicCell(75)
If Y = 76 Then pic(a).Picture = graf.GraphicCell(76)
If Y = 77 Then pic(a).Picture = graf.GraphicCell(77)
If Y = 78 Then pic(a).Picture = graf.GraphicCell(78)
If Y = 79 Then pic(a).Picture = graf.GraphicCell(79)
If Y = 80 Then pic(a).Picture = graf.GraphicCell(80)
If Y = 81 Then pic(a).Picture = graf.GraphicCell(81)
If Y = 82 Then pic(a).Picture = graf.GraphicCell(82)
If Y = 83 Then pic(a).Picture = graf.GraphicCell(83)
If Y = 84 Then pic(a).Picture = graf.GraphicCell(84)
If Y = 85 Then pic(a).Picture = graf.GraphicCell(85)
If Y = 86 Then pic(a).Picture = graf.GraphicCell(86)
If Y = 87 Then pic(a).Picture = graf.GraphicCell(87)
If Y = 88 Then pic(a).Picture = graf.GraphicCell(88)
If Y = 89 Then pic(a).Picture = graf.GraphicCell(89)
If Y = 90 Then pic(a).Picture = graf.GraphicCell(90)
If Y = 91 Then pic(a).Picture = graf.GraphicCell(91)
If Y = 92 Then pic(a).Picture = graf.GraphicCell(92)
If Y = 93 Then pic(a).Picture = graf.GraphicCell(93)
If Y = 94 Then pic(a).Picture = graf.GraphicCell(94)
If Y = 95 Then pic(a).Picture = graf.GraphicCell(95)
If Y = 96 Then pic(a).Picture = graf.GraphicCell(96)

frame2.AutoRedraw = True

frame2.PaintPicture pic(a).Picture, pic(a).Left, pic(a).Top, 41, 41

frame2.AutoRedraw = False


'If Not pic(a).Picture = graf.GraphicCell(0) Then
'pic(a).Visible = True
'End If

Next a
Close #1




End Sub


_____________________________________________
Każdy problem ma rozwiązanie, jeśli nie ma rozwiązania to nie ma problemu

05-03-2005 21:45
Pokaż profil kamil010  Wyślij email do kamil010   Odwiedź stronę kamil010       7447998
Adrian



Typ: neutral
Postów: 59
Zarejestrowany: Jan 2005

Zawsze możesz próbować tak zrobic (to tylko przykład - jeszcze nie opracowany prze ze mnie)

If Y = 0 To 30  inne funkcje
albo:
If Y = 0 < 30 inne funkcje

niewiem czy dobrze napisałem ale chciałem pomóć


_____________________________________________
+_+ADI SOFTWARE+_+

05-03-2005 22:34
Pokaż profil Adrian  Wyślij email do Adrian   Odwiedź stronę Adrian  
kamil010



Typ: neutral
Postów: 28
Zarejestrowany: Jul 2004

Dzięki, dokładniej chodzi mi o to że :
gdy próbowałem wsadzić drugą pętle w ten sposób

fot c = 0 to 96
If Y = c Then pic(a).Picture = graf.GraphicCell(c)
next c

Wiem, że umieszcze dwóch tak duzych pętli naraz jest nie wydajne, ale to tez nie działa :/

jeśli to coś zmienia to w tym pliku tekstowym pole
o wartosci 0 to "00" a o wartosci 1 to "01" a przy 11 to poprostu 11 (dodałem zero w liczbach z oczywsitych powód . Myślałem ze chodzi o to ze nie umi tekstu poruwnać do zmiennej liczbowej, ale szczerze to nie mam pojęcia jak mój problem rozwkłac......


_____________________________________________
Każdy problem ma rozwiązanie, jeśli nie ma rozwiązania to nie ma problemu

05-03-2005 23:12
Pokaż profil kamil010  Wyślij email do kamil010   Odwiedź stronę kamil010       7447998
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Może ja coś źle zrozumiałem.. ale nie łatwiej to zrobić w ten sposób?

pic(a).Picture = graf.GraphicCell(Y)


Swoją drogą: czy to przypadek, czy celowy zabieg?

If Y = 29 Then pic(a).Picture = graf.GraphicCell(29)
If Y = 29 Then pic(a).Picture = graf.GraphicCell(29)
If Y = 30 Then pic(a).Picture = graf.GraphicCell(31)
If Y = 31 Then pic(a).Picture = graf.GraphicCell(32)
If Y = 32 Then pic(a).Picture = graf.GraphicCell(33)
If Y = 33 Then pic(a).Picture = graf.GraphicCell(34)
If Y = 34 Then pic(a).Picture = graf.GraphicCell(35)
If Y = 35 Then pic(a).Picture = graf.GraphicCell(35)



_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

06-03-2005 08:24
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
kamil010



Typ: neutral
Postów: 28
Zarejestrowany: Jul 2004
ojojjo

Dzięki marcin_an.
To przypadek ...:/ ale był on tylko w notatniku, niewazne zresztą. Kurcze czemu ja tego tak nie zapisałem.............już nie będe pisał niczego po nocach , bo to strara czasu Jeszcze raz dzięki

A tak przy okazji czy na to tez jest jakaś banalna metoda na która nie umiem wpasć (liczby od 1 do 9 muszą byc dwucyforwe czyli 01,02,03,04,05 itd..


Private Sub savee_Click()

cd1.Filter = "Plik levelu (*.lvl)|*.lvl"
cd1.Action = 2
If cd1.FileName = "" Then Exit Sub

Select Case pic(licz).Picture
Case graf.GraphicCell(0)
Print #1, "00";
Case graf.GraphicCell(1)
Print #1, "01";
Case graf.GraphicCell(2)
Print #1, "02";
Case graf.GraphicCell(3)
Print #1, "03";
Case graf.GraphicCell(4)
Print #1, "04";
Case graf.GraphicCell(5)
Print #1, "05";
Case graf.GraphicCell(6)
Print #1, "06";
Case graf.GraphicCell(7)
Print #1, "07";
Case graf.GraphicCell(8)
Print #1, "08";
Case graf.GraphicCell(9)
Print #1, "09";
Case graf.GraphicCell(10)
Print #1, "10";

End Select


Next licz

Close #1






[IMG=http://][IMG=http://][URL=http://]


_____________________________________________
Każdy problem ma rozwiązanie, jeśli nie ma rozwiązania to nie ma problemu

06-03-2005 09:49
Pokaż profil kamil010  Wyślij email do kamil010   Odwiedź stronę kamil010       7447998
karolinavb




Typ: neutral
Postów: 468
Zarejestrowany: Jan 2003

Funkcja Format:

VB4ALL Menu/Teoria - dział funkcje - funkcje formatujące - Format - patrz tabelka na dole "Formaty numeryczne zdefiniowane przez użytkownika" - (0)

MsgBox Format(2, "00" )


_____________________________________________
Karolina

06-03-2005 12:03
Pokaż profil karolinavb  Wyślij email do karolinavb   
Usercontrol
mr. Tom



Typ: neutral
Postów: 191
Zarejestrowany: Oct 2003

a nie lepiej tak:

pic(a).Picture = graf.GraphicCell(Y)

jedna mała linijka, i problem (chyba) rozwiązany.



PS. No, widze ze ktos mnie uprzedzil...

[Post edytowany dnia 08-03-2005 21:06 przez Usercontrol]

08-03-2005 21:03
Pokaż profil Usercontrol  Wyślij email do Usercontrol   Odwiedź stronę Usercontrol       1518548
Wszystkich odpowiedzi: 6 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1