anoniem Geplaatst: 27 maart 2008 Delen Geplaatst: 27 maart 2008 Hallo, ik hoop dat jullie me kunnen helpen dus laat ik mijn vraag maar stellen :) Ik heb dus een soort van opdrachtje van het inter net gehaald om mijn visual basic 'skills' een beetje uit te breiden. De opdracht is dus dat ik een kruispunt moet maken met stoplichten en auto's erin. Ik moet ervoor zien te zorgen dat ik de kruispunt naar behoren laat werken, dus dat de stoplichten niet allemaal tegelijk groen worden maar als ze groen worden dat de auto's dan ook echt daadwerkelijk gaan rijden. Ook moet ik er een knopje bij zetten waarme er een 'brandweerauto' door het scherm komt en dat elke auto dus stil staat tot ie weg is. Mijn vraag is dus..... Hoe pak ik dit ten eerste aan :S ik heb dus geen flauw idee hoe ik moet beginnen en wat ik moet gebruiken, en wat voor code ik moet gebruiken. Ik hoop dat jullie me kunnen helpen :) Ben nog een beginnertje in dit soort spul ^^. grts Marloes Quote Link naar reactie
anoniem Geplaatst: 18 mei 2008 Auteur Delen Geplaatst: 18 mei 2008 Klinkt redelijk moeilijk, helemaal omdat VB niet echt gemaakt is voor grafische dingen, maar meer voor knoppen die iets van een tekstveldje veranderen enzo. De autotjes moeten ten eerste een plek hebben. Hiervoor maken we twee tabellen met de x en de y van het autotje [code:1:7fd90e5f49] Dim AutoX(1 to autocount) Dim AutoY(1 to autocount)[/code:1:7fd90e5f49] Autocount is het aantal autotjes dat je neer wilt zetten. Laten we eens een autotje neerzetten. [code:1:7fd90e5f49]AutoX(1) = 500 AutoY(1) = 500[/code:1:7fd90e5f49] We hebben nu dus een auto nr 1 op de plek 500,500 Natuurlijk heb je geen zin om alle autotjes zelf neer te zetten. Hiervoor kunnen we een functie maken. Laten we zeggen dat we een weg 1 en een weg 2 hebben. ..........|#1#|........ ..........|###|........ --------####-------- 2##########2# --------####--------- ..........|###|......... ..........|#1#|........ Eerst bepalen we op welke weg we het autotje neer zetten. [code:1:7fd90e5f49]dim wegnummer wegnummer = Round(Rnd() + 1, 0) [/code:1:7fd90e5f49] Even wat uitleg bij deze code: rnd() genereert een getal tussen 0 en 1. Wij willen een getal tussen 1 en 2, dus doen we rnd() + 1. Vervolgens zorgen we met Round(getal,getallen achter decimaal) dat het getal tussen 1 en 2 (bijvoorbeeld 1,175) een geheel getal wordt. [code:1:7fd90e5f49]If wegnummer = 1 then PlaatsAutoOpWeg1(autonummer) If wegnummer = 2 then PlaatsAutoOpWeg2(autonummer) [/code:1:7fd90e5f49]We zorgen nu dat als het wegnummer 1 is, dat het programma de functie PlaatsAutoOpWeg1 aanroept. Andersom, als het wegnummer 2 is, roept het programma PlaatsAutoOpWeg2 op. Het autonummer geeft de nummer van het autotje aan. Met bijvoorbeeld de volgende code kunnen we 5 auto's neerzetten: [code:1:7fd90e5f49] dim wegnummer dim dummy for dummy = 1 to 5 wegnummer = round(rnd() + 1) if wegnummer = 1 then PlaatsAutoOpWeg1(dummy) if wegnummer = 2 then PlaatsAutoOpWeg2(dummy) next dummy [/code:1:7fd90e5f49] Als je niet weet hoe for werkt vraag je het maar. Laten we er vanuit gaan dat het wegnummer 1 is. We maken de volgende functie: [code:1:7fd90e5f49]Public Sub PlaatsAutoOpWeg1(nummer as integer) AutoX(nummer) = rnd() * 500 + 250 AutoY(nummer) = rnd()* 1000 End Function[/code:1:7fd90e5f49] De weg is 500 breed, dus rnd() * 500 (rnd() genereert een getal tussen nul en 1: 0*500 = 0 en 1 * 500 is 1, dus het getal ligt altijd tussen 0 en 1 De weg begint niet bij nul maar bij 250 dus rnd * 500 + 250. De weg loopt van boven naar helemaal beneden, en is dus rnd * 1000 Tot zover deze post, ik vertel later misschien nog wel meer, maar ik ga nu wat anders doen :wink: Zorg er wel voor dat je alle subs public maakt zodat de variablen overal werken. Quote Link naar reactie
anoniem Geplaatst: 18 mei 2008 Auteur Delen Geplaatst: 18 mei 2008 Zijn we nu niet iemands huiswerk aan het maken? Quote Link naar reactie
anoniem Geplaatst: 18 mei 2008 Auteur Delen Geplaatst: 18 mei 2008 Ach, de inleverdatum lijkt me toch al verstreken te zijn. [quote:28cd4a1a0f]Geplaatst: 27 mrt 2008 11:34[/quote:28cd4a1a0f] Quote Link naar reactie
anoniem Geplaatst: 18 mei 2008 Auteur Delen Geplaatst: 18 mei 2008 Ik kan hier eindelijk ook iets zeggen, nu de inlevertermijn voor het huiswerk waarschijnlijk ver achter de rug ligt. Ik ken Windows computer programmeertalen die wel eenvoudig animaties aankunnen. Net zoals je vroeger met je MSX of C64 sprites kon gebruiken voor animaties. Liberty BASIC combineert het programmeren van vensters (Forms in VB) met het programmeren van sprites voor animatie. Abcott Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen