Etape 5: Utilisez votre imagination
Voici un code initial qui vous amènera à la vitesse.
Vous pouvez rendre le virus plus petites ou ajouter des obstacles et barrières et le code pour les surmonter et de simuler n’importe quelle tâche que vous voulez.
Les Instructables vise à encourager des recherches originales et vous faites preuve d’imagination, donc lui donner tout que votre possible.
Amusez-vous!
'===============================================
"NANOROBOTS - un groupe de robots attaque de virus
'===============================================
' Déclarer des variables.
Dim CX, CY, r(20) As Single, s(20) As Single
Dim i, j, a, b, c, d, e, f, g, h, k, l, m, n
Dim p(20), u, q(20) As Boolean, tripes As Boolean
'----------------------------------------------------------------------------------
Private Sub Form_Load()
Dim Xpos, Ypos
Avec Form1
. Voir l’établissement
. Caption = « Robots »
. FillColor = vbBlue
. Haut = 10
. Gauche = 10
. Hauteur = Screen.Height * 0,75
. Largeur = Screen.Width * 0,75
. AutoRedraw = True
. DrawWidth = 1' définir DrawWidth.
. ModeÉchelle (ScaleMode) = 3
. CLS
Se termine par
PosX = Form1.ScaleWidth / 2' Get centre horizontal.
YPos = Form1.ScaleHeight / 2
'==============================================
Timer1.Enabled = True
Timer1.Interval = 32767
Randomize
' Get Centre vertical.
CX = Xpos * Rnd
CY = Ypos * Rnd
Form1.CurrentX = CX
Form1.CurrentY = CY
u = Point (CX, CY)
'---- objective virus ------------------------------------------------
Form1.Circle (CX, CY), 30, vbBlue
q(9) = True
tripes = False
'==========================================
'---mettre bots, point de départ---
For i = 0 à 15
Randomize
−i = Rnd * ScaleWidth
s(i) = Rnd * ScaleHeight
Prochaine
un = 0
b = 0
'---envoyer nanobots pour trouver et capturer les virus---
Faire
Randomize
"=== envoyer l’ensemble du cluster ===
For i = 1 à 15
Si q = True Then GoTo benzoid
'---calculer partialité cible---
c = Int(r(i)): d = Int(s(i))
g = Abs(c-a)
h = Abs(d-b)
'----------------------------------------
o = 1
'========================================================================
'---trouver bleu ou u---
Faire
Semper :
Si o < 3 alors o = o + 1 Else GoTo benzoid
'---sélectionnez position suivante au hasard---
e = Int ((o * Rnd)-(o - 1) * Rnd) ' + Int ((2 * Rnd)-Rnd)
f = Int ((o * Rnd)-(o - 1) * Rnd) ' + Int ((2 * Rnd)-Rnd)
−i = c + e
s(i) = d + f
'---sélectionner la prochaine position comme plus proche de la cible---
If (Abs(r(i) - a) > g Abs(s(i) ou - b) > h) et a > 0 Then GoTo semper
'--------------------------------------
Si −i < 5 puis −i = −i + 1
Si −i > Form1.ScaleWidth - 5 puis −i = −i - 1
Si s(i) < 5 puis s(i) = s(i) + 1
Si s(i) > Form1.ScaleHeight - 5 puis s(i) = s(i) - 1
'-----------------------------------------------------------
PosX = −i : Ypos = s(i)
p.i = Point (PosX, Posy)
Si p (i) = vbBlue puis Exit Do
Rendement des DoEvents à l’autre
Boucle jusqu'à ce que p (i) = u ou (−i = un And s(i) = b)
'-------------------------------------------------------------
"=== lorsque les virus trouvé ===
Si p (i) = vbBlue et un = 0 Then
' set a et b à l’emplacement cible
un = Int(r(i))
b = Int(s(i))
tripes = True
End If
'============================================
« PSet (−i, s(i)), QBColor(i)
Ligne (c, d)-(r(i), s(i)), QBColor(i)
benzoid :
DoEvents
Prochaine je
Boucle "traitement.
End Sub
Amusez-vous!