Wat doe ik fout...

Status
Niet open voor verdere reacties.

Webmaster007

Gebruiker
Lid geworden
22 dec 2003
Berichten
151
Hoi,

ik ben een programma aan het maken voor een speletje op msn.
het is een soort van mafia spel en dat programma dient voor het aantal kogels te berekenen dat je nodig hebt om iemand af te schieten.

die kogels hangen af van 4 dingen die ik heb gezet in comboboxen.
eerste = jouw eigen rank (de nummertjes heb je nodig voor de bewerking)

LegDon=13, RespDon=12, Don=11, LegGF=10, GF=9, RespBoss=8, Boss=7, Assassin=6, Hitman=5, Gangster=4, Thug=3, PeeWee=2, Scum=1

de andere zijn rank, en die 2 waaren moeten door elkaar gedeeld worden
bv: ik ben legendary don en ik wil een thug killen = 12/3

de twee andere zijn de wapens en bescherming

Wapens:
Drag=6, Thompson=5, Carabine=4, MKIII=3, 45=2, HighSt22=1

Bescherming:
V16 Alimo=6, ArmVeh=5, BulletproofVest=4, Bodyguard=3, Deadbolt=2, Doberman=1, Nothing=0,5

met die waarden moet je de volgende bewerkingen doen:

25000/ (jouw rank/ target rank) / (Gun / Bescherming ) = needed bullets


wat ik deels van de code heb: (ingekort)

Private Sub Form_Load()
Dim yourrank As Long
Dim targetsrank As Long
Dim yourgun As Long
Dim protection As Long

With cmbRank
.AddItem ("Scum")
....
End With

zelfde met wapens enzo

If cmbRank = "Scum" Then yourrank = "1"
If cmbRank = "Pee Wee" Then yourrank = "2"
If cmbRank = "Thug" Then yourrank = "3"
If cmbRank = "Gangster" Then yourrank = "4"
....


Private Sub Command1_Click()
txtBullets = 25000 / (yourrank / target) / (yourgun / protection)
End Sub


Kan iemand vertellen wat er fout is?

Greetz,

BadbyBirth
(via Adriaan)
 
Wat voor foutmelding krijg je dan ?

edit:
Ik zie wel dat dit niet klopt :

If cmbRank = "Scum" Then yourrank = "1"
If cmbRank = "Pee Wee" Then yourrank = "2"
If cmbRank = "Thug" Then yourrank = "3"
If cmbRank = "Gangster" Then yourrank = "4"


door de aanhalingstekens wordt er in plaats van een getal, een string toegekend. Zou dus een type mismatch kunnen geven..
 
Long en strings... geeft inderdaad foutmelding.

Ander klein detail:

in geval, van herhalende vergelijking (wanneer cmbRank = dit, dat, zus, of zo) kan je beter een select case gebruiken. Betere kans van slagen. Hieronder even snelle uitleg:

select case cmbRank
case "Scum"
yourRank = 1
case "Pee Wee"
yourRank = 2
case "Thug"
yourRank = 3
case "Gangster"
yourRank = 4
case else
yourRank = 0
'of
'err=....
end select

Dit werkt in veel gevallen beter dan het If then systeem, in deze functies.

Verder zou ik, maar dat ligt aan je programma, werken met een array... kun je allemaal vinden om MSDN site.

(zou zoiets worden als

yourRank() = newarray("Nothing", "Scum", "Pee Wee", "Thug", "Gangster")

)

Veel succes. Ik ben overigens wel benieuwd naar hoe je het met MSN laat werken... wordt het dan echt een multiplayer? Dat is me namelijk nog steeds niet gelukt:(...

mvg

Wouter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan