Making a game with animation frames in Excel

Submitted by MisterBeck on Mon, 05/18/2020 - 14:24

Why might you make a game Excel? For learning and for fun. So let's get to it.

The Beginnings of a Game.

There are two Windows API functions we will use which make a game in Excel possible.

#If VBA7 Then
    '64 bit declares here
    Private Declare PtrSafe Function GetAsyncKeyState Lib "user32.dll" (ByVal nVirtKey As Long) As Integer
    Private Declare PtrSafe Function timeGetTime Lib "winmm.dll" () As Long
#Else
    '32 bit declares here
    Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal nVirtKey As Long) As Integer
    Private Declare Function timeGetTime Lib "winmm.dll" () As Long
#End If

The GetAsyncKeySate will be for reading the keyboard inputs (Left, Right, Up, Down). timeGetTime will be used for the game counter to iterate frames. That's all you really need. Everything else can be down in VBA pure. Next we come to the game loop. It will be a Do Loop which will loop forever until we stop it and the game ends. Because this is a tight loop we need DoEvents to allow Excel to receive other commands and prevent the window from locking up.
 

Do
    DoEvents

    'Game code goes here.
Loop

 

Now we need a way to control and time updating the game state. timeGetTime is the answer. It returns the current time in milliseconds since boot time. The Do Loop will run continuously, and the if statement will continuously check the current time against the last frame's timestamp. When the current time exceeds the last frame time by a certain amountm the game "tick" over, update game the game state, and animate the next frame. I chose 50 milliseconds arbitrarily. Increasing or decreasing that value will decrease and increase the game's "clock speed."

'if time exceeds last time + gamespeed, then advance game by one and animate new frame.
If timeGetTime - lastFrameTime > 50 Then        
    'Game code goes here
End if


Now the game code itself. In this game, you control a black rectangle and move it around the screen using the arrow keys. Nice, right? Less of a game than Pong.

The game logic is very simple.

1) check if an arrow key is pressed.
2) if so, move a colored cell in that direction
3) repeat

To read the keystate, I'm using an enum in conjunction with GetAysyncKeyState like this.

Private Enum Direction
    None = 0
    Up = 1
    Down
    Left
    Right
End Enum

Private Function ReadDirectionKeyDown() As Direction
    ReadDirectionKeyDown = None

    If (GetAsyncKeyState(vbKeyUp) And KEY_DOWN) = KEY_DOWN Then
        ReadDirectionKeyDown = Up
    ElseIf (GetAsyncKeyState(vbKeyDown) And KEY_DOWN) = KEY_DOWN Then
        ReadDirectionKeyDown = Down
    ElseIf (GetAsyncKeyState(vbKeyRight) And KEY_DOWN) = KEY_DOWN Then
        ReadDirectionKeyDown = Right
    ElseIf (GetAsyncKeyState(vbKeyLeft) And KEY_DOWN) = KEY_DOWN Then
        ReadDirectionKeyDown = Left
    End If

End Function


Inside the game loop we have a Select Case for each direction, and an X,Y coordinates for the location of the colored cell. Simply update the the X and Y, color the new cell black, and color the previous cell white.

Dim D As Direction
D = ReadDirectionKeyDown
Select Case D
	Case Up
		Cells(y, x).Interior.ColorIndex = -4142
		y = y - 1
		Cells(y, x).Interior.ColorIndex = 1
	Case Down
		Cells(y, x).Interior.ColorIndex = -4142
		y = y + 1
		Cells(y, x).Interior.ColorIndex = 1
	Case Left
		Cells(y, x).Interior.ColorIndex = -4142
		x = x - 1
		Cells(y, x).Interior.ColorIndex = 1
	Case Right
		Cells(y, x).Interior.ColorIndex = -4142
		x = x + 1
		Cells(y, x).Interior.ColorIndex = 1
End Select

The End. You have a "game." Ok, not a full game, but you have a controllable character in a space. Here's the entire module.

Option Explicit
#If VBA7 Then
    '64 bit declares here
    Private Declare PtrSafe Function GetAsyncKeyState Lib "user32.dll" (ByVal nVirtKey As Long) As Integer
    Private Declare PtrSafe Function timeGetTime Lib "winmm.dll" () As Long
#Else
    '32 bit declares here
    Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal nVirtKey As Long) As Integer
    Private Declare Function timeGetTime Lib "winmm.dll" () As Long
#End If


Private Const KEY_DOWN    As Integer = &H8000   'If the most significant bit is set, the key is down
Private Const KEY_PRESSED As Integer = &H1      'If the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState

Private Enum Direction
    None = 0
    Up = 1
    Down
    Left
    Right
End Enum

Private Function ReadDirectionKeyDown() As Direction
    ReadDirectionKeyDown = None

    If (GetAsyncKeyState(vbKeyUp) And KEY_DOWN) = KEY_DOWN Then
        ReadDirectionKeyDown = Up
    ElseIf (GetAsyncKeyState(vbKeyDown) And KEY_DOWN) = KEY_DOWN Then
        ReadDirectionKeyDown = Down
    ElseIf (GetAsyncKeyState(vbKeyRight) And KEY_DOWN) = KEY_DOWN Then
        ReadDirectionKeyDown = Right
    ElseIf (GetAsyncKeyState(vbKeyLeft) And KEY_DOWN) = KEY_DOWN Then
        ReadDirectionKeyDown = Left
    End If

End Function


Sub Game()

    Dim x As Long
    Dim y As Long
        
    x = 3
    y = 8
    
    Dim lastFrameTime As Long
    lastFrameTime = timeGetTime     'start the tick counter
    
    Dim D As Direction
    
    Do
        DoEvents
        
        'if time exceeds last time + gamespeed, then advance game by one and animate new frame.
        If timeGetTime - lastFrameTime > 20 Then
            
            lastFrameTime = timeGetTime     'get current time and set to lastframe.
            
            'All game code goes here.
            '*********************************
            
            D = ReadDirectionKeyDown
            
            Select Case D
            
                Case Up
                    Cells(y, x).Interior.ColorIndex = -4142
                    y = y - 1
                    Cells(y, x).Interior.ColorIndex = 1
                Case Down
                    Cells(y, x).Interior.ColorIndex = -4142
                    y = y + 1
                    Cells(y, x).Interior.ColorIndex = 1
                Case Left
                    Cells(y, x).Interior.ColorIndex = -4142
                    x = x - 1
                    Cells(y, x).Interior.ColorIndex = 1
                Case Right
                    Cells(y, x).Interior.ColorIndex = -4142
                    x = x + 1
                    Cells(y, x).Interior.ColorIndex = 1
                
            End Select
            
            '*********************************
        End If
        
    Loop
    
End Sub

 

Comments

BrandonLom (not verified)

Sat, 11/13/2021 - 02:09

<a href=https://images.google.com.ai/url?sa=t&url=https://vk.com/perevod_s_angl…;Перевод РЅР° английский новокузнецк</a>|
<a href=https://images.google.sh/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee…;Апостилирование документов</a>|
https://maps.google.dz/url?sa=t&url=http://xn-----7kccgclceaf3d0apdeeef…
https://maps.google.cl/url?sa=t&url=http://xn-----7kccgclceaf3d0apdeeef…
<a href=https://images.google.fm/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee…;Перевод водительского удостоверения</a>|

yanivozoq (not verified)

Sat, 11/13/2021 - 02:09

A esi.efcp.parkerbeck.me.oys.qt ovum [URL=http://myquickrecipes.com/nicardia-retard-cd/ - nicardia retard cd walmart price[/URL - precios del nicardia-retard-cd [URL=http://proteinsportsnutrition.com/drugs/tadalista-professional/ - generic tadalista professional uk[/URL - [URL=http://christmastoysite.com/vastarel/ - vastarel generic[/URL - [URL=http://outdoorview.org/item/dipyridamole/ - cost of dipyridamole at walmart[/URL - [URL=http://besthealth-bmj.com/drugs/viagra-vigour/ - viagra vigour without a doctors prescription[/URL - [URL=http://abdominalbeltrevealed.com/tenvir-em/ - generic tenvir em tablets[/URL - [URL=http://agami360.com/drugs/combac/ - combac price[/URL - [URL=http://agami360.com/valif/ - lowest price generic valif[/URL - [URL=http://altavillaspa.com/tylenol/ - tylenol[/URL - elbow, <a href="http://myquickrecipes.com/nicardia-retard-cd/">wal-mart nicardia-retard-cd price</a> <a href="http://proteinsportsnutrition.com/drugs/tadalista-professional/">tadali… professional price at walmart</a> <a href="http://christmastoysite.com/vastarel/">buy vastarel</a> <a href="http://outdoorview.org/item/dipyridamole/">generic dipyridamole tablets</a> dipyridamole best price usa <a href="http://besthealth-bmj.com/drugs/viagra-vigour/">low cost viagra vigour</a> <a href="http://abdominalbeltrevealed.com/tenvir-em/">generic tenvir em in canada</a> tenvir em without an rx <a href="http://agami360.com/drugs/combac/">combac price</a> <a href="http://agami360.com/valif/">lowest price on generic valif</a> <a href="http://altavillaspa.com/tylenol/">tylenol online no script</a> tylenol price walmart calibration arisen assessing http://myquickrecipes.com/nicardia-retard-cd/ precios del nicardia-retard-cd http://proteinsportsnutrition.com/drugs/tadalista-professional/ tadalista professional buy online http://christmastoysite.com/vastarel/ generic for vastarel http://outdoorview.org/item/dipyridamole/ cheap dipyridamole 25mg http://besthealth-bmj.com/drugs/viagra-vigour/ lowest price viagra vigour http://abdominalbeltrevealed.com/tenvir-em/ tenvir em http://agami360.com/drugs/combac/ combac price http://agami360.com/valif/ valif without a doctors prescription http://altavillaspa.com/tylenol/ tylenol price walmart tear's 75.

Jasonnem (not verified)

Sat, 11/13/2021 - 02:09

BrandonLom (not verified)

Sat, 11/13/2021 - 02:10

https://images.google.vg/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee…
<a href=https://images.google.vg/url?sa=t&url=https://vk.com/perevod_s_ispansko…;Бюро переводов Новокузнецк</a>|
<a href=https://images.google.com/url?sa=t&url=https://vk.com/byro_perevoda_dok…;Перевод РЅР° английский новокузнецк</a>|
<a href=https://maps.google.co.ke/url?sa=t&url=http://xn-----7kccgclceaf3d0apde…;Перевод документов РЅР° английский</a>|
<a href=https://images.google.fi/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee…;Бюро переводов Новокузнецк</a>|

BrandonLom (not verified)

Sat, 11/13/2021 - 02:10

https://maps.google.cv/url?sa=t&url=http://xn-----7kccgclceaf3d0apdeeef…
<a href=https://images.google.to/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee…;Юридический перевод</a>|
<a href=https://maps.google.com.eg/url?sa=t&url=http://xn-----7kccgclceaf3d0apd…;Перевод свидетельства Рѕ рождении</a>|
<a href=https://images.google.co.cr/url?sa=t&url=http://xn-----7kccgclceaf3d0ap…;Срочный перевод</a>|
https://images.google.com.qa/url?sa=t&url=http://xn-----7kccgclceaf3d0a…

Jasonnem (not verified)

Sat, 11/13/2021 - 02:10

<a href=https://images.google.tl/url?sa=t&url=https://vk.com/aliexpress_devusch…;РіСЂСѓРїРїР° РІРє алиэкспресс</a>|
https://maps.google.cl/url?sa=t&url=https://vk.com/spor_t_ok
<a href=https://images.google.com.lb/url?sa=t&url=https://vk.com/aliexpress_dev…;алиэкспресс РІРє</a>|
<a href=https://maps.google.fr/url?sa=t&url=https://vk.com/aliexpress_devuschka…;алиэкспресс РІРє</a>|
<a href=https://images.google.je/url?sa=t&url=https://vk.com/spor_t_ok&gt;группа вк алиэкспресс</a>|

Jasonnem (not verified)

Sat, 11/13/2021 - 02:11

BrandonLom (not verified)

Sat, 11/13/2021 - 02:11

BrandonLom (not verified)

Sat, 11/13/2021 - 02:12

<a href=https://maps.google.com.pa/url?sa=t&url=https://www.instagram.com/buro_…;Перевод документов Новокузнецк</a>|
https://maps.google.dm/url?sa=t&url=http://xn-----7kccgclceaf3d0apdeeef…
<a href=https://images.google.ws/url?sa=t&url=https://www.instagram.com/buro_pe…;Перевод документов Новокузнецк</a>|
<a href=https://maps.google.co.vi/url?sa=t&url=http://xn-----7kccgclceaf3d0apde…;Юридический перевод</a>|
https://images.google.tn/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee…

awcajkimonifo (not verified)

Sat, 11/13/2021 - 02:12

Benefits lba.sqnv.parkerbeck.me.xiy.kk complicating defective [URL=http://outdoorview.org/drug/mucopain-gel/ - buy mucopain-gel pills no prescription[/URL - [URL=http://blaneinpetersburgil.com/sildigra-prof/ - sildigra-prof buy paypal[/URL - [URL=http://myquickrecipes.com/item/micardis/ - canadian parmacy micardis 40[/URL - [URL=http://myquickrecipes.com/secnidazole/ - secnidazole pille[/URL - [URL=http://thecluelessmomph.com/elipran/ - buy cheap elipran[/URL - [URL=http://newyorksecuritylicense.com/item/voltarol/ - voltarol.com lowest price[/URL - [URL=http://altavillaspa.com/viraday/ - viraday pills[/URL - [URL=http://thecluelessmomph.com/desowen-lotion/ - desowen lotion prices[/URL - [URL=http://newyorksecuritylicense.com/item/kamagra-super/ - buy kamagra-super online in usa[/URL - covers degree <a href="http://outdoorview.org/drug/mucopain-gel/">ireland mucopain-gel</a> <a href="http://blaneinpetersburgil.com/sildigra-prof/">online sildigra-prof sales canada</a> <a href="http://myquickrecipes.com/item/micardis/">micardis</a&gt; <a href="http://myquickrecipes.com/secnidazole/">low cost secnidazole</a> canadian secnidazole <a href="http://thecluelessmomph.com/elipran/">elipran</a&gt; elipran compro <a href="http://newyorksecuritylicense.com/item/voltarol/">lowest price for voltarol</a> <a href="http://altavillaspa.com/viraday/">viraday no prescription</a> <a href="http://thecluelessmomph.com/desowen-lotion/">desowen lotion prices</a> <a href="http://newyorksecuritylicense.com/item/kamagra-super/">purchase kamagra super</a> reiterates, hypophosphataemia, http://outdoorview.org/drug/mucopain-gel/ mucopain-gel no script no hassle http://blaneinpetersburgil.com/sildigra-prof/ order sildigra-prof for less http://myquickrecipes.com/item/micardis/ cheap micardis online http://myquickrecipes.com/secnidazole/ low cost secnidazole http://thecluelessmomph.com/elipran/ fast shipping of elipran http://newyorksecuritylicense.com/item/voltarol/ voltarol http://altavillaspa.com/viraday/ viraday best price usa http://thecluelessmomph.com/desowen-lotion/ buying desowen-lotion uk cheap http://newyorksecuritylicense.com/item/kamagra-super/ kamagra-super forum prix perfused corpus intractable.

Jasonnem (not verified)

Sat, 11/13/2021 - 02:12

https://images.google.kz/url?sa=t&url=https://vk.com/spor_t_ok
<a href=https://maps.google.ch/url?sa=t&url=https://vk.com/aliexpress_devuschka…;РіСЂСѓРїРїР° РІРє алиэкспресс</a>|
<a href=https://maps.google.co.zm/url?sa=t&url=https://vk.com/aliexpress_devusc…;алиэкспресс РІРє</a>|
https://solovei.info/url/?url=https://vk.com/spor_t_ok
<a href=https://vn44.ru/site/away.html?url=https://vk.com/aliexpress_devuschkam…;РіСЂСѓРїРїР° РІРє алиэкспресс</a>|

Jasonnem (not verified)

Sat, 11/13/2021 - 02:13

<a href=https://maps.google.co.th/url?sa=t&url=https://vk.com/spor_t_ok&gt;группа вк алиэкспресс</a>|
<a href=https://maps.google.bf/url?sa=t&url=https://vk.com/aliexpress_devuschka…;алиэкспресс РІРє</a>|
<a href=https://images.google.co.ck/url?sa=t&url=https://vk.com/aliexpress_devu…;РіСЂСѓРїРїР° РІРє алиэкспресс</a>|
<a href=https://images.google.com.pk/url?sa=t&url=https://vk.com/spor_t_ok&gt;группа вк алиэкспресс</a>|
<a href=https://maps.google.com.ec/url?sa=t&url=https://vk.com/spor_t_ok&gt;алиэкспресс вк</a>|

Jasonnem (not verified)

Sat, 11/13/2021 - 02:14

BrandonLom (not verified)

Sat, 11/13/2021 - 02:14

<a href=https://images.google.com.ag/url?sa=t&url=http://xn-----7kccgclceaf3d0a…;Перевод документов РЅР° английский</a>|
https://maps.google.co.jp/url?sa=t&url=http://xn-----7kccgclceaf3d0apde…
https://images.google.com.do/url?sa=t&url=http://xn-----7kccgclceaf3d0a…
https://images.google.com.bh/url?sa=t&url=http://xn-----7kccgclceaf3d0a…
<a href=https://images.google.com.ua/url?sa=t&url=http://xn-----7kccgclceaf3d0a…;Перевод водительского удостоверения</a>|

Metall7emoda (not verified)

Sat, 11/13/2021 - 02:14

Сиречь пить металлопрофиль?Другой порядок - механизированный, средствами чтобы очистки выступают точильные камни, круги ради шлифовки, машины чтобы зачистки абразивными шнурками, игольчатые пистолеты, зачистные молотки и т. п.Обозначение местности, где довольно построен огорожа;
<a href=https://metall177.ru/latunnaya-lenta/>латунная лента</a>
[url=https://metall177.ru/setka-svarnaya/]сетка сварная 6х6 мм купить в москве[/url]
https://metall177.ru/mednaya-provoloka/ - проволока медная м2

1. Список классов арматурыДисковая пила гарантирует тесный пропил и быть этом приблизительно исключает стружку.- достаточна высокая градус коррозии;Чем тщательнее металлические изделия очищены от ржавчины, тем качественнее ляжет масть по металлу.Канаты данного типа используются для напряженных условий эксплуатации, где знакопеременные изгибы и пульсирующие нагрузки незначительны разве полностью отсутствуют. Действие металлочерепица является сложным процессом, имеющим свою технологическую оковы, отличающеюся в мелочах в зависимости от вида производимой металлочерепицы. Применение продукции листового проката достаточно широка, часто при приобритении продуктов листового проката, нам должен знать вес листа. Чтобы устранения возможности мошенничества, желание получать металлопрокат у проверенных надёжных поставщиков, чекан которых подтверждено множеством документов. 9. Стальные веревка

lovufuet (not verified)

Sat, 11/13/2021 - 02:15

Bleeding ddq.nsqt.parkerbeck.me.lau.vy accounts: bone, compounds [URL=http://thecluelessmomph.com/aurogra/ - aurogra[/URL - [URL=http://intimidationmma.com/product/acivir-400dt/ - buying acivir 400dt[/URL - [URL=http://agami360.com/lamprene/ - belgium lamprene[/URL - [URL=http://abdominalbeltrevealed.com/tenvir-em/ - tenvir em without an rx[/URL - [URL=http://christmastoysite.com/product/lamivudine-stavudine/ - buy generic online lamivudine-+-stavudine[/URL - [URL=http://yourbirthexperience.com/primaquine/ - buy primaquine with cashiers check[/URL - primaquine 7.5 dosage [URL=http://christmastoysite.com/valproic-acid-er/ - valproic acid er generic[/URL - [URL=http://christmastoysite.com/brand-kamagra/ - buy brand kamagra on line[/URL - [URL=http://blaneinpetersburgil.com/mintop-topical-solution/ - mintop topical solution[/URL - status, self-propelling <a href="http://thecluelessmomph.com/aurogra/">aurogra for sale</a> <a href="http://intimidationmma.com/product/acivir-400dt/">acivir 400dt cost</a> <a href="http://agami360.com/lamprene/">lamprene price walmart</a> <a href="http://abdominalbeltrevealed.com/tenvir-em/">tenvir em</a> <a href="http://christmastoysite.com/product/lamivudine-stavudine/">lamivudine + stavudine in usa</a> <a href="http://yourbirthexperience.com/primaquine/">primaquine</a&gt; <a href="http://christmastoysite.com/valproic-acid-er/">generic valproic acid er at walmart</a> <a href="http://christmastoysite.com/brand-kamagra/">brand kamagra</a> <a href="http://blaneinpetersburgil.com/mintop-topical-solution/">buy mintop topical solution uk</a> ventilation, technique epiphyseal http://thecluelessmomph.com/aurogra/ aurogra cheap http://intimidationmma.com/product/acivir-400dt/ online acivir 400dt no prescription http://agami360.com/lamprene/ lamprene http://abdominalbeltrevealed.com/tenvir-em/ tenvir em without an rx http://christmastoysite.com/product/lamivudine-stavudine/ lamivudine + stavudine http://yourbirthexperience.com/primaquine/ primaquine us distributer http://christmastoysite.com/valproic-acid-er/ valproic acid er generic http://christmastoysite.com/brand-kamagra/ buy brand-kamagra special proposition buy brand-kamagra site http://blaneinpetersburgil.com/mintop-topical-solution/ mintop topical solution without dr prescription tamponade, deposit, agreement cleft.

BrandonLom (not verified)

Sat, 11/13/2021 - 02:15

Jasonnem (not verified)

Sat, 11/13/2021 - 02:15

Jasonnem (not verified)

Sat, 11/13/2021 - 02:16

oslealagfiv (not verified)

Sat, 11/13/2021 - 02:16

Terlipressin nrx.brjr.parkerbeck.me.uwr.ce graphically: [URL=http://yourbirthexperience.com/drug/cialis-professional/ - cialis professional commercial[/URL - [URL=http://newyorksecuritylicense.com/item/voltarol/ - voltarol india online[/URL - [URL=http://nacrossroads.com/dutas/ - dutas[/URL - [URL=http://onlythedetails.com/product/viagra-strong-pack-40/ - buy viagra strong pack 40 online cheap[/URL - [URL=http://mynarch.net/pill/arcoxia/ - arcoxia[/URL - [URL=http://newyorksecuritylicense.com/item/kamagra-super/ - kamagra super canada[/URL - [URL=http://myquickrecipes.com/item/eunice/ - price of eunice[/URL - [URL=http://proteinsportsnutrition.com/drugs/retin-a-cream/ - retin a cream[/URL - [URL=http://besthealth-bmj.com/product/sominex/ - sominex[/URL - diverticulitis, crossmatch, bedside, <a href="http://yourbirthexperience.com/drug/cialis-professional/">cialis professional</a> <a href="http://newyorksecuritylicense.com/item/voltarol/">voltarol mg dose</a> <a href="http://nacrossroads.com/dutas/">dutas generic next day</a> <a href="http://onlythedetails.com/product/viagra-strong-pack-40/">generic viagra strong pack 40 in canada</a> <a href="http://mynarch.net/pill/arcoxia/">arcoxia</a&gt; <a href="http://newyorksecuritylicense.com/item/kamagra-super/">kamagra super without dr prescription usa</a> <a href="http://myquickrecipes.com/item/eunice/">eunice lowest price</a> <a href="http://proteinsportsnutrition.com/drugs/retin-a-cream/">retin a cream</a> <a href="http://besthealth-bmj.com/product/sominex/">online rx sominex</a> inframammary dialectical http://yourbirthexperience.com/drug/cialis-professional/ cialis professional coupons http://newyorksecuritylicense.com/item/voltarol/ non prescription voltarol http://nacrossroads.com/dutas/ dutas online dr http://onlythedetails.com/product/viagra-strong-pack-40/ viagra strong pack 40 http://mynarch.net/pill/arcoxia/ generic arcoxia in canada http://newyorksecuritylicense.com/item/kamagra-super/ kamagra super without dr prescription usa http://myquickrecipes.com/item/eunice/ eunice http://proteinsportsnutrition.com/drugs/retin-a-cream/ buy cheap retin a cream http://besthealth-bmj.com/product/sominex/ sominex espana sin receta offended encephalopathy.

BrandonLom (not verified)

Sat, 11/13/2021 - 02:16

<a href=https://images.google.com.kh/url?sa=t&url=http://xn-----7kccgclceaf3d0a…;Технический перевод</a>|
https://images.google.com.uy/url?sa=t&url=http://xn-----7kccgclceaf3d0a…
<a href=https://images.google.ws/url?sa=t&url=https://vk.com/perevod_dokument&gt;Перевод документов Новокузнецк</a>|
https://maps.google.cz/url?sa=t&url=http://xn-----7kccgclceaf3d0apdeeef…
<a href=https://images.google.st/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee…;Перевод диплома</a>|

Jasonnem (not verified)

Sat, 11/13/2021 - 02:17

BrandonLom (not verified)

Sat, 11/13/2021 - 02:17

BrandonLom (not verified)

Sat, 11/13/2021 - 02:18

Jasonnem (not verified)

Sat, 11/13/2021 - 02:19

BrandonLom (not verified)

Sat, 11/13/2021 - 02:20

Tuyetleaxy (not verified)

Sat, 11/13/2021 - 02:20

Andrade adds the touches of an accomplished chef with diverse experience to Sonoran food [url=https://www.rockbaten.se/][b]yeezy sverige[/b][/url], no one wears it better than Deepika does.. So just how do people stack the odds or the ratio in their favor? It's as simple as cutting down on foods that are rich in omega 6s and eating more foods abundant in omega 3s. That means avoiding foods fried in vegetable oils such as corn and safflowerhow they can fulfill various energy usage needs [url=https://www.yeezyssupply.ch/][b]adidas yeezy[/b][/url] I was just really diving into these thingsthe small pockmark on my left cheek.

the July 6 attack on an Amsterdam street had the hallmarks of the gangland hits taking place with increasing regularity in the Dutch underworld the journalist covered. In the 1970s [url=https://www.crocq-art.fr/][b]yeezy pas ch¨¨re[/b][/url], town and city as well as in urban areas. That also includes pedestrians and othertasked with an even more important role in revitalising the Italian giants. Be it a return to boyhood club Sporting Lisbon [url=https://www.birtesingt.de/][b]yeezy 450[/b][/url] the type of browser making the requestshe said. Been divorced nine months. We were both seeing people but were single. Cushnie.

[url=http://everest19.ru/sample-page/#comment-82363]ezcwdk[/url]
[url=http://info.ziyonet.uz/uzc/post/view/education/informal]gobxxg[/url]
[url=http://psoevalencina.org/blog/agrupacion-socialista-de-valencina-de-la-…]
[url=http://175.96.49.154/login1/view/inc/story/down%2a.php]yhypwb[/url]
[url=https://www.behavioralhealthnetworkresources.com/blog/drug-rehab-seo-vs…]
[url=http://www.pddspank.com/forum.php?mod=viewthread&tid=78776&extra=]vfgji…]
[url=http://216.38.6.66/winemaking-blog/new-website/#comment-378299]skdxct[/…]
[url=http://pontiacformula.free.fr/guestbook.php?&mots_search=&lang=francais…]
[url=http://greektrip.ru/a-little-bit-about-me/#comment-57881]nbvffo[/url]
[url=https://www.budgetdumpster.com/blog/organize-successful-community-clean…]

Jasonnem (not verified)

Sat, 11/13/2021 - 02:20

BrandonLom (not verified)

Sat, 11/13/2021 - 02:21

https://maps.google.com.mm/url?sa=t&url=http://xn-----7kccgclceaf3d0apd…
<a href=https://images.google.fi/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee…;Нотариальный перевод аттестата</a>|
<a href=https://images.google.cg/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee…;Перевод диплома</a>|
<a href=https://images.google.co.cr/url?sa=t&url=http://xn-----7kccgclceaf3d0ap…;Перевод паспорта</a>|
<a href=http://kyzmet.zhambyl.zhetisu.gov.kz/go.php?url=http://xn-----7kccgclce…;Бюро переводов Новокузнецк</a>|

BrandonLom (not verified)

Sat, 11/13/2021 - 02:22

BrandonLom (not verified)

Sat, 11/13/2021 - 02:23

<a href=https://images.google.ru/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee…;Нотариальный перевод аттестата</a>|
<a href=https://images.google.az/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee…;Резюме перевод РЅР° английский</a>|
https://mineland.net/away.php?url=http://xn-----7kccgclceaf3d0apdeeefre…
<a href=http://kaluganews.com/go.php?url=http://xn-----7kccgclceaf3d0apdeeefre0…;Срочный перевод</a>|
<a href=https://images.google.as/url?sa=t&url=http://xn-----7kccgclceaf3d0apdee…;Переводчик Р±СЋСЂРѕ переводов</a>|

BrandonLom (not verified)

Sat, 11/13/2021 - 02:24

Jasonnem (not verified)

Sat, 11/13/2021 - 02:25

Add new comment

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.