Annyi otthoni teendőm torlódott fel, hogy szószerint megbénultam az íróasztalom előtt. Ezt is kellene, azt is kellene, ez rohadt sürgős, na az meg aztán végképp… csak néztem a monitoromat, néztem… végül úgy döntöttem, hogy hagyom eluralkodni magamon az ösztöneimet és játszok egy kicsit.
Persze geek módra.
Barnának ma este mutattam egy ízelítőt a logikai folyamatok grafikus ábrázolási módjairól, megemlítve, hogy ilyesmi ábrák jelentik a számítógép programozásának az alapjait is. Aztán – már egyedül, magamban – elgondolkodtam, le tudnám-e skiccelni a huszonegyes kártyajáték modelljét. Persze, vágtam rá. Igazából le se kellett rajzolnom, pár perc alatt fejben összeraktam.
Utána jött az izgalom: félóra alatt le tudnám-e programozni ezt – demonstrációs céllal – akármelyik itthoni számítógépen? Emlékszem-e még ennyire a régi dolgaimból, bennem van-e még készség szinten valami programolás – és van-e még eszközöm ahhoz, hogy csak úgy összedobjak egy programot? (Ugye a C64 esetében nem volt gond. Korai – első 10 év – IT-s időmben mindig volt vagy Pascal, vagy Clipper a gépemen beélesítve, bármikor gyorsan kellett valamit csinálnom, egyből ment.)
Az utóbbi feltétel nem okozott komoly problémát: az eszköz természetesen egy átlagos gépen is adott, Excel ma már mindenhol van – és ahol Office van, ott VBScript is van, nem is rossz GUI-val. A programolással már elvoltam egy kicsit, már csak hiúságból is igyekeztem minél tisztábban, egyszerűbben megoldani a feladatot. Jól elvoltam, na.
A sürgős teendőim meg ennyit igazán várhatnak.
Végül itt van a program. Maga az Excel tábla is letölthető, a vbscript része meg alant olvasható.
Sub Macro1()
‘
‘ Macro1 Macro
‘ Macro recorded 2006.11.06 by The Tiger of Wekerle
‘
‘ Keyboard Shortcut: Ctrl+a
‘
Dim i, lapomRange(”B2:C24″).Select
Selection.ClearContentsi = 0
lapom = 0Do While lapom < 16 And lapom < Cells(2, 1)
i = i + 1
lapom = lapom + (Int(10 * Rnd(1)) + 2)
Cells(1 + i, 2).Value = lapom
LoopIf Cells(2, 1) > 21 Then
Cells(1 + i, 3).Value = “Yeah, the smarter has won!”
Else
If Cells(1 + i, 2).Value < Cells(2, 1).Value Or Cells(1 + i, 2).Value > 21 Then
Cells(1 + i, 3).Value = “Your mother wears army boots”
Else
Cells(1 + i, 3).Value = “Yeah, the smarter has won!”
End If
End IfRange(”A2″).Select
End Sub
ps: A sorbehúzásokért elnézést, nem szoktam ilyen csúnyán forráskódot írni, de a WordPress kigyomlálja a space-ket.
Recent Comments