Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Visual Basic 6.0

None
5 antwoorden
  • 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
  • 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.
  • Zijn we nu niet iemands huiswerk aan het maken?
  • Ach, de inleverdatum lijkt me toch al verstreken te zijn.

    [quote:28cd4a1a0f]Geplaatst: 27 mrt 2008 11:34[/quote:28cd4a1a0f]
  • 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

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.