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

melbet sportfo… (not verified)

Sat, 09/17/2022 - 15:05

мелбет зеркало официальный сайт зеркало рабочее <a href=http://www.alrazooqitravels.ae/how-to-register-melbet/>мелбет зеркало официальный сайт зеркало сегодня</a> мелбет контора зеркало http://healthywealthybizschool.com/katrin-tequila-cowgirl-on-intercours… melbet мобильная зеркало melbet (мелбет) bk-info57 online http://www.mydatabus.com/__media__/js/netsoltrademark.php?d=info-mix.in… киберспорт melbet скачать melbet зеркало на android

telecharger l … (not verified)

Sat, 09/17/2022 - 15:05

betwinner arjel <a href=https://top3gp.com/betwinner-different-hyperlinks-mirror-url-betwinner-… withdrawal</a> code promo betwinner https://mumbaimalmo.se/2022/09/06/betwinner-2021-1-01-apk-mod-free-buy-… betwinner зеркало рабочее скачать бесплатно на сегодня бетвиннер бонусы при регистрации http://ihunter.ru/bitrix/click.php?goto=http://1502jungle.com/betwinner… игровые автоматы бетвиннер betwinner afiliados

Thomastep (not verified)

Sat, 09/17/2022 - 15:06

[url=https://crazy-mining.org/en/]bitcoin usd exchange rate[/url] - DOWNLOAD PhoenixMiner 4.7c, Ошибка видеокарты код 43. Система Windows остановила это устройство. - Crazy-Mining.org

скачать мелбет… (not verified)

Sat, 09/17/2022 - 15:06

melbet logo <a href=https://reinaturall.com/stockholm-1912-summer-olympic-video-games-medal… melbet</a> баланс мелбет https://ewifiglobal.com/2022/09/06/katrin-tequila-cowgirl-on-sex-toy-an… melbet партнер скачать melbet букмекерская контора зеркало http://redwoodpower.net/__media__/js/netsoltrademark.php?d=onsetla.com/… как работает бонус на первый депозит melbet https://betting-ru.com/промокод-melbet

fqoqj23 (not verified)

Sat, 09/17/2022 - 15:07

betwinner cameroun (not verified)

Sat, 09/17/2022 - 15:07

бк betwinner официальный сайт <a href=https://primadonna37.ru/betwinner-2021-1-01-apk-mod-free-purchase-for-a… betwinner</a> betwinner. https://primadonna37.ru/betwinner-2021-1-01-apk-mod-free-purchase-for-a… скачать бетвиннер betwinner app old version http://akrustal.ru/bitrix/redirect.php?goto=http://essay-a.com/how-to-e… win games day betwinner что это https betwinner ru

betwinner appl… (not verified)

Sat, 09/17/2022 - 15:09

бетвиннер зеркало рабочее на сегодня прямо сейчас <a href=http://puzonik.staccato.pl/obtain-betwinner-2021-apk/>betwinner условия каждого из вариантов</a> betwinner affiliate http://mcgatgjer.oaknash.ch/?p=245838 как установить betwinner betwinner free bonus http://kaz.kraspan.ru/bitrix/click.php?goto=http://shop-fries.com/betwi… aplikacija betwinner apk скачать betwinner на ios

Medikamente Re… (not verified)

Sat, 09/17/2022 - 15:09

Free pills. Discount Drugs For Sale, Enistic.

[url=https://medikamente365.space/bisoprolol-kaufen-ohne-rezept/]bisoprolol kaufen ohne rezept[/url]

Billige pfizer generisches 25mg bestellen, kosten rezept. Global Health Services, Online Apotheke Europa Viagra, Chef Maha.
http://rathkolb.eu/gaestebuch/comment-page-9411/#comment-167512 https://apkalso.com/droneboi-space-building-sandbox-multiplayer-0-27/?u… http://manojgajavelli.com/uncategorized/hello-world/?unapproved=69007&m… http://webmoneyinvest.ru/webmoney/garant-sistemy-webmoney-transfer-po-w… https://sontuyenphat.com/vai-bo-ve-dep-moc-mac-hiem-co-cua-lang-vai/?un… https://robotsinmyhome.com/blog/ras-robot-elderly/?unapproved=52884&mod… https://reflexionescuerpoalma.com/nacer-de-nuevo/?unapproved=217861&mod… https://gourmetdaily.com/hello-world/?unapproved=294686&moderation-hash… https://quediferenciahay.com/que-diferencia-hay-entre-viagra-y-cialis/?… https://blogg.improveme.se/imdress/2016/05/10/the-real-reason-beyonces-… https://archiwum.pion.pl/web/node/120?page=401#comment-7095373 http://blog.tzyyng.com/archives/3353 https://americas-table.com/recipes/desserts/remember-the-troops?unappro… http://lekarstvennierastenia.ru/oreh-gretskii.html/comment-page-1?unapp… https://goxbet.ru/?unapproved=40088&moderation-hash=6cd407317029a65d82d… http://kpp.ac.th/kppoly/?p=2806&unapproved=48265&moderation-hash=e3634a… http://karmakontot.com/uncategorized/hello-world/?unapproved=76206&mode… http://sanphamdathat.com/day-da-dong-ho/lam-sao-de-thay-day-da-dong-ho-… https://uniclaretiana.edu.co/noticia/posgrados-en-eeuu?page=1734#commen… https://otrada-volga.ru/index.php/component/k2/item/149 http://electriciandevon.com/news/wired-for-success/?unapproved=4675&mod… http://blog.tzyyng.com/archives/3919/comment-page-105#comment-5164163
[url=https://maxiotzyv.ru/catalog/soolantra-kaufen-ohne-rezept-7]soolantra kaufen ohne rezept[/url] [url=https://fanlizz.com/plugin.php?id=it618_credits:index]soolantra kaufen ohne rezept[/url] [url=http://zinaramirez.com/mybb/thread-166750.html]modafinil kaufen online[/url] [url=http://firmidablewiki.com/index.php/User:Charlescog]ivermectin kaufen[/url] [url=https://forum.moushe.ru/thread-393.html]doxepin rezeptfrei bestellen[/url] c6a60ad

зеркало бетвиннер (not verified)

Sat, 09/17/2022 - 15:09

зеркало betwinner скачать на айфон <a href=https://twitop.info/betwinner-promo-code-and-promotions_234525.html>бет… официальный сайт скачать</a> betwinner на айфон http://www.asinaorme.com/2022/09/06/betwinner-nigeria-official-site-for… букмекерская контора бетвиннер betwinner deposit bonus http://radmed.ru/bitrix/rk.php?goto=http://lightfulcanarias.com/betwinn… betwinner рабочее на сегодня бетвиннер скачать зеркало бесплатно

betwinner withdrawal (not verified)

Sat, 09/17/2022 - 15:09

бетвиннер 2020 <a href=http://ingeniariak.intelec.es/here-is-why-betwinner-is-among-the-leader… зеркало com</a> бетвиннер демо счет https://indismm.com/betwinner-promo-code-and-promotions_1662474504.html скачать betwinner с официального сайта на андроид codigo bonus da betwinner http://mackenzietwins.com/__media__/js/netsoltrademark.php?d=erama.info… приложение бетвиннер скачать бесплатно betwinner рабочее зеркало бк бетвиннер официальный

прогон молодог… (not verified)

Sat, 09/17/2022 - 15:10

купит прогон сайта https://furniture.biz.ua/memberlist.php?mode=viewprofile&u=18703 прогон сайта по каталогам делать или нет http://missiontomars.free.fr/index.php?file=Members&op=detail&autor=dis… индексация товара на сайте https://all.me/goshaww?post=61c340afac7e641b19cc447d когда можно делать прогон сайта http://lightfulcanarias.com/obtain-betwinner-2021-apk/

прогон сайт по базами программы прогона сайта по каталогам проверка индексации страниц http://hwskoszalin.home.pl/hws/forum/welcome-mat/23878-%D1%83%D1%84-%D0… запретить индексирование сайта в robots txt

прогон сайта по трастовым каталогам быстрая индексация сайта в яндексе http://qcyxdy.66rt.com/space.php?uid=1579050 ускоренная индексация сайта сделать http://tincantho247.blogspot.com/2018/10/news-on-youtube-oct-30-2018_25… прогон сайта по твиттеру бесплатно

сервис для прогона сайта прогон сайта 2014 скрипт прогона сайта прогон сайта по трастовым сайтам форум

закрыть ссылку от индексации nofollow прогон по трастовым сайтам это http://himeuta.org/member.php?1415842-RalphSes база трастовых сайтов для ручного прогона http://zghncy.cn/home.php?mod=space&uid=556505 купит прогон сайта http://singinkorus.blogspot.com/2014/08/blog-post.html?m=0

программы прогона сайта скачать хороший фильм 2021 на телефон прогон сайта по профилям на форумах с тиц http://nivitalik.ru/users/axiomaticboss75 прогон по сайтам программа

трастовый прогон сайта заказать программа для прогона сайта каталогах https://vlbjcas.ac.in/online-casino-in-australia.html лучший сервис прогона сайта http://atikerservice.com.ua/index.php?subaction=userinfo&user=averagegu… авто прогон сайта по

отключить индексирование сайта прогон сайта что это база сайтов анализаторов для прогона прогон по каталогам сайтов 2020

проверка индексации сайта в яндекс http://ftp.berksys.com/__media__/js/netsoltrademark.php?d=clarion.a2hos… ускоренное индексирование страниц яндекс http://rezeptsport.ru/bitrix/redirect.php?goto=http://stratege.ru/forum… форум по прогону сайтов http://simkodent.ru/bitrix/rk.php?goto=http://tupalo.com/en/users/34536… продвижение сайта статьями размещение статей http://ronl.org/redirect?url=http://www.puzonik.staccato.pl/nhl-betting…

http://delicedefrance.com/__media__/js/netsoltrademark.php?d=casino.fil…

http://site1309.ru

<a href=http://site1309.ru>http://site1309.ru</a&gt;

ejjzb531 (not verified)

Sat, 09/17/2022 - 15:10

melbet тото (not verified)

Sat, 09/17/2022 - 15:11

рабочий сайт мелбет на сегодня <a href=http://www.asinaorme.com/2022/09/06/laras-bali-how-to-load-melbet-code/… бонусная программа</a> melbet xyz https://davinaclaire.com/melbet-macedonia-mirror-websites-various-hyper… как получить фрибет melbet melbet org зеркало http://images.google.com.qa/url?q=http://web-ss.com/laras-bali-the-way-… partners melbet ru melbet главный сайт

tedch770 (not verified)

Sat, 09/17/2022 - 15:11

melbet промоко… (not verified)

Sat, 09/17/2022 - 15:12

melbet актуальный промокод <a href=https://hexisag.info/the-method-to-register-melbet/>скачать последнюю версию мелбет бесплатно</a> melbet акции https://angisnails.co.uk/2013/06/10/obtain-melbet-app-kenya-for-android… melbet sport мелбет скачать казино http://www.videoconverse.com/__media__/js/netsoltrademark.php?d=events… melbet roulette melbet predictions

melbet мобильн… (not verified)

Sat, 09/17/2022 - 15:12

как создать промокод на мелбет <a href=http://korearegistry.cafe24.com/what-to-do-after-registration-in-melbet… ставки на спорт мелбет</a> melbet app ghana http://steve-kitchen.tribefarm.net/outdoor-sports-activities-accessorie… melbet. apk. скачать. melbet ghana app http://railagent.ru/bitrix/rk.php?goto=http://shantihearthospital.com/?… site:meta-ratings.com.ua/casino/melbet/ melbet букмекерская контора melbet зеркало

zzxxn585 (not verified)

Sat, 09/17/2022 - 15:13

зеркало melbet… (not verified)

Sat, 09/17/2022 - 15:14

проверенная стратегия на игры в мелбет <a href=https://garmanlogistic.com/index.php/2022/09/06/melbet-different-links-… войти в личный кабинет</a> melbet mobile version https://loginasq.com/stockholm-1912-summer-season-olympic-games-medals-… melbet russia how to bet on melbet http://1c-hotel.com/bitrix/redirect.php?goto=http://gps-fake.com/blog/o… скачать букмекерская компания мелбет мелбет 2019

почему не могу… (not verified)

Sat, 09/17/2022 - 15:15

melbet nigeria promo code <a href=https://apk-mod.info/how-to-register-melbet_943258.html>мелбет скачать на андроид с официального сайта</a> melbet available countries https://digitalsplace.com/melbet-macedonia-mirror-websites-various-link/ бонусний код melbet мелбет рабочее на сегодня http://unitlog.ru/bitrix/rk.php?goto=http://thetankhotel.com/laras-bali… мелбет. скачать. на. андроид. бесплатно. melbet de deposito

ubofugegiwu (not verified)

Sat, 09/17/2022 - 15:17

Prompt vdf.hski.parkerbeck.me.bnu.cc valine [URL=http://beauviva.com/ritonavir/][/URL] [URL=http://transylvaniacare.org/tricor/][/URL] [URL=http://sadlerland.com/item/paxlovid/][/URL] [URL=http://marcagloballlc.com/prices-for-pharmacy/][/URL] [URL=http://rinconprweddingplanner.com/coversyl/][/URL] [URL=http://davincipictures.com/drug/dalacin-c/][/URL] [URL=http://columbiainnastoria.com/on-line-imulast/][/URL] [URL=http://lbprintery.net/pill/acivir-cream/][/URL] [URL=http://frankfortamerican.com/kamagra-pills/][/URL] [URL=http://bay-head-nj.com/product/diprovate-plus-cream/][/URL] [URL=http://adailymiscellany.com/lithium/][/URL] [URL=http://rinconprweddingplanner.com/azax/][/URL] [URL=http://outdoorview.org/item/levitra/][/URL] [URL=http://ucnewark.com/prednisone/][/URL] [URL=http://bay-head-nj.com/product/megalis/][/URL] rarely, collection, <a href="http://beauviva.com/ritonavir/"></a&gt; <a href="http://transylvaniacare.org/tricor/"></a&gt; <a href="http://sadlerland.com/item/paxlovid/"></a&gt; <a href="http://marcagloballlc.com/prices-for-pharmacy/"></a&gt; <a href="http://rinconprweddingplanner.com/coversyl/"></a&gt; <a href="http://davincipictures.com/drug/dalacin-c/"></a&gt; <a href="http://columbiainnastoria.com/on-line-imulast/"></a&gt; <a href="http://lbprintery.net/pill/acivir-cream/"></a&gt; <a href="http://frankfortamerican.com/kamagra-pills/"></a&gt; <a href="http://bay-head-nj.com/product/diprovate-plus-cream/"></a&gt; <a href="http://adailymiscellany.com/lithium/"></a&gt; <a href="http://rinconprweddingplanner.com/azax/"></a&gt; <a href="http://outdoorview.org/item/levitra/"></a&gt; <a href="http://ucnewark.com/prednisone/"></a&gt; <a href="http://bay-head-nj.com/product/megalis/"></a&gt; mother's carry dull-eyed http://beauviva.com/ritonavir/ http://transylvaniacare.org/tricor/ http://sadlerland.com/item/paxlovid/ http://marcagloballlc.com/prices-for-pharmacy/ http://rinconprweddingplanner.com/coversyl/ http://davincipictures.com/drug/dalacin-c/ http://columbiainnastoria.com/on-line-imulast/ http://lbprintery.net/pill/acivir-cream/ http://frankfortamerican.com/kamagra-pills/ http://bay-head-nj.com/product/diprovate-plus-cream/ http://adailymiscellany.com/lithium/ http://rinconprweddingplanner.com/azax/ http://outdoorview.org/item/levitra/ http://ucnewark.com/prednisone/ http://bay-head-nj.com/product/megalis/ heals nephrotoxic relevant.

umiqsicnonowx (not verified)

Sat, 09/17/2022 - 15:17

Dislocation jmj.dnwt.parkerbeck.me.brg.yg swollen [URL=http://frankfortamerican.com/flagyl-cheap/][/URL] [URL=http://rinconprweddingplanner.com/biaxin/][/URL] [URL=http://ucnewark.com/nolvadex/][/URL] [URL=http://davincipictures.com/drug/menodac/][/URL] [URL=http://ghspubs.org/www-hydroxychloroquine-com/][/URL] [URL=http://transylvaniacare.org/vidalista-ct/][/URL] [URL=http://americanazachary.com/purchase-retin-a/][/URL] [URL=http://autopawnohio.com/topamax/][/URL] [URL=http://marcagloballlc.com/mail-order-amoxicillin/][/URL] [URL=http://damcf.org/ginette-35/][/URL] [URL=http://bay-head-nj.com/product/soft-pack-40/][/URL] [URL=http://eatliveandlove.com/acivir-pills/][/URL] [URL=http://ma-roots.org/modvigil/][/URL] [URL=http://millerwynnlaw.com/women-pack-20/][/URL] [URL=http://bay-head-nj.com/product/prednisone/][/URL] compete lifting, <a href="http://frankfortamerican.com/flagyl-cheap/"></a&gt; <a href="http://rinconprweddingplanner.com/biaxin/"></a&gt; <a href="http://ucnewark.com/nolvadex/"></a&gt; <a href="http://davincipictures.com/drug/menodac/"></a&gt; <a href="http://ghspubs.org/www-hydroxychloroquine-com/"></a&gt; <a href="http://transylvaniacare.org/vidalista-ct/"></a&gt; <a href="http://americanazachary.com/purchase-retin-a/"></a&gt; <a href="http://autopawnohio.com/topamax/"></a&gt; <a href="http://marcagloballlc.com/mail-order-amoxicillin/"></a&gt; <a href="http://damcf.org/ginette-35/"></a&gt; <a href="http://bay-head-nj.com/product/soft-pack-40/"></a&gt; <a href="http://eatliveandlove.com/acivir-pills/"></a&gt; <a href="http://ma-roots.org/modvigil/"></a&gt; <a href="http://millerwynnlaw.com/women-pack-20/"></a&gt; <a href="http://bay-head-nj.com/product/prednisone/"></a&gt; abort http://frankfortamerican.com/flagyl-cheap/ http://rinconprweddingplanner.com/biaxin/ http://ucnewark.com/nolvadex/ http://davincipictures.com/drug/menodac/ http://ghspubs.org/www-hydroxychloroquine-com/ http://transylvaniacare.org/vidalista-ct/ http://americanazachary.com/purchase-retin-a/ http://autopawnohio.com/topamax/ http://marcagloballlc.com/mail-order-amoxicillin/ http://damcf.org/ginette-35/ http://bay-head-nj.com/product/soft-pack-40/ http://eatliveandlove.com/acivir-pills/ http://ma-roots.org/modvigil/ http://millerwynnlaw.com/women-pack-20/ http://bay-head-nj.com/product/prednisone/ cornerstone lapses properly.

roffb393 (not verified)

Sat, 09/17/2022 - 15:17

отзывы о букме… (not verified)

Sat, 09/17/2022 - 15:17

мелбет фрибет при регистрации <a href=https://i-wsm.com/tips-on-how-to-register-melbet_791797.html>мелбет коэффиценты</a> букмекерская контора melbet вход личный кабинет https://raimane.com/melbet-registration-bahrain-melbet-join-bonus-200-m… как забрать кэшбэк мелбет как сделать свой промокод в мелбет http://www.middleatlantic.co.uk/__media__/js/netsoltrademark.php?d=twit… melbet реклама промокод мелбет на казино

betwinner поль… (not verified)

Sat, 09/17/2022 - 15:18

betwinner скачать на айфон с официального сайта зеркало <a href=https://caffebellaitaliasandiego.com/?p=5514>betwinner affiliate program</a> скачать betwinner на андроид https://expediters.co.ke/2013/06/14/betwinner-bangladesh-?-different-link-for-bengali-punters/ betwinner зеркало рабочее на сегодня прямо сейчас скачать betwinner букмекерская контора отзывы клиентов http://0-print.westlaw.com.skyline.personalslotmachine.com/__media__/js… betwinner бонус на первый депозит как отыграть бонус на бетвиннер

iolnv701 (not verified)

Sat, 09/17/2022 - 15:18

betwinner casi… (not verified)

Sat, 09/17/2022 - 15:19

betwinner букмекерская контора <a href=http://korearegistry.cafe24.com/betwinner-app-kenya-betwinner-apk-free-… partners skachat</a> бетвиннер депозит https://skinandfin.com/what-are-the-options-of-the-bet-winner-obtain-th… betwinner сайт блог betwinner зеркало рабочее на сегодня com http://transpacificdistributors.com/__media__/js/netsoltrademark.php?d=… betwinner скачать на андроид приложение betwinner yorumlar

промокоды стар… (not verified)

Sat, 09/17/2022 - 15:19

betwinner партнерка <a href=https://elraieflourmills.com/betwinner-pakistan-registration-from-pakis… партнерская</a> бетвиннер cashback http://puzonik.staccato.pl/obtain-betwinner-2021-apk/ скачать betwinner на андроид зеркало betwinner официальный блог http://sstc.spb.ru/bitrix/rk.php?goto=http://uzv1.ru/betwinner-pakistan… betwinner app android betwinner скачать на андроид приложение

Add new comment

Plain text

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