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

kevin durant shoes (not verified)

Thu, 09/02/2021 - 22:16

In reply to by teamcansler (not verified)

I must express my passion for your kind-heartedness giving support to individuals that actually need help on that concept. Your special commitment to passing the solution all through had become pretty informative and have in every case allowed folks just like me to arrive at their aims. Your entire warm and friendly guidelines entails a lot a person like me and substantially more to my mates. Warm regards; from all of us.
[url=http://www.kevindurant-shoes.us.com]kevin durant shoes[/url]

off white (not verified)

Sat, 09/04/2021 - 22:43

In reply to by teamcansler (not verified)

I wanted to create you a little bit of observation so as to thank you over again for these gorgeous strategies you have shown in this case. It's really remarkably generous of you to grant openly all a number of us could have made available as an ebook in order to make some money for themselves, primarily given that you might well have done it in the event you desired. Those advice as well acted to become good way to recognize that someone else have the same interest just like my very own to figure out great deal more around this condition. I believe there are numerous more pleasurable sessions up front for those who read your blog post.
[url=http://www.offwhite.us.com]off white[/url]

golden goose outlet (not verified)

Mon, 09/06/2021 - 22:44

In reply to by teamcansler (not verified)

Thanks a lot for giving everyone a very superb chance to read in detail from this blog. It is often so ideal and also stuffed with fun for me personally and my office colleagues to visit the blog at a minimum three times every week to learn the new tips you have got. And definitely, I'm also certainly impressed with all the perfect tips served by you. Selected 1 points in this article are basically the simplest I've ever had.
[url=http://www.goldengooseofficial.com]golden goose outlet[/url]

longchamp (not verified)

Wed, 09/08/2021 - 22:13

In reply to by teamcansler (not verified)

My spouse and i ended up being quite glad that Jordan managed to carry out his reports from the ideas he obtained from your web site. It is now and again perplexing just to always be freely giving strategies which often some other people could have been selling. And we also take into account we need the writer to thank because of that. The specific illustrations you've made, the straightforward website navigation, the friendships you can help to foster - it's got everything great, and it's facilitating our son in addition to our family understand the theme is exciting, which is wonderfully fundamental. Thank you for everything!
[url=http://www.longchampshandbags.us.org]longchamp[/url]

bape clothing (not verified)

Fri, 09/10/2021 - 21:52

In reply to by teamcansler (not verified)

My husband and i got quite more than happy when Ervin managed to do his inquiry via the ideas he grabbed through the web page. It is now and again perplexing to just possibly be giving for free helpful tips that many the others have been selling. Therefore we fully grasp we've got the writer to be grateful to because of that. The entire illustrations you've made, the easy web site navigation, the relationships you help to engender - it's most amazing, and it's really helping our son in addition to us know that this matter is cool, and that is incredibly pressing. Many thanks for all the pieces!
[url=http://www.bape-clothing.us]bape clothing[/url]

kobe (not verified)

Sun, 09/12/2021 - 21:37

In reply to by teamcansler (not verified)

I simply wanted to type a comment in order to say thanks to you for some of the unique suggestions you are giving at this website. My extensive internet investigation has finally been rewarded with beneficial knowledge to go over with my best friends. I 'd declare that we site visitors are extremely endowed to dwell in a useful community with so many wonderful professionals with interesting tricks. I feel somewhat grateful to have used your entire website and look forward to so many more enjoyable times reading here. Thanks again for a lot of things.
[url=http://www.kobe.us.com]kobe[/url]

jordan 12 (not verified)

Tue, 09/14/2021 - 21:14

In reply to by teamcansler (not verified)

I really wanted to jot down a brief note in order to thank you for all of the splendid tips and hints you are writing at this site. My particularly long internet search has at the end of the day been recognized with brilliant knowledge to write about with my companions. I would mention that we visitors actually are undoubtedly lucky to live in a fabulous place with many lovely professionals with very helpful strategies. I feel very grateful to have used the website page and look forward to tons of more thrilling moments reading here. Thank you once again for everything.
[url=http://www.jordan12.us.com]jordan 12[/url]

ColemanGob (not verified)

Mon, 10/18/2021 - 18:47

In reply to by jordan 12 (not verified)

Our systems are verified, authenticated and encrypted by the most advanced digital security certification authority -Thawte.

<a href=https://ad.admitad.com/g/ofc53p8nisce22793aa2e94db72a902dc3ead59b/>Visa United Kingdom</a>

I love to dress in this boutique. There are youthful and elegant things here. Once, on the recommendation of her husband, I even took 2 dresses at once
http://offeramazon.ru/bspb

supreme clothing (not verified)

Thu, 09/16/2021 - 21:24

In reply to by teamcansler (not verified)

I really wanted to write a brief message so as to thank you for some of the marvelous tricks you are sharing at this website. My time intensive internet search has at the end of the day been paid with wonderful insight to go over with my guests. I 'd assert that most of us site visitors actually are really blessed to dwell in a notable network with so many marvellous professionals with useful solutions. I feel truly privileged to have come across your entire web site and look forward to many more excellent moments reading here. Thanks a lot again for everything.
[url=http://www.supremeclothings.com]supreme clothing[/url]

yeezy 350 (not verified)

Fri, 10/01/2021 - 15:10

In reply to by teamcansler (not verified)

I wish to show my appreciation for your generosity in support of people that need help with this one area. Your special commitment to getting the message all around ended up being extraordinarily practical and has continuously allowed people just like me to realize their pursuits. Your insightful help and advice signifies so much a person like me and especially to my mates. Warm regards; from everyone of us.
[url=http://www.yeezy-350.us.com]yeezy 350[/url]

kyrie 7 (not verified)

Sun, 10/03/2021 - 18:27

In reply to by teamcansler (not verified)

Thanks for your own work on this web site. Debby loves engaging in investigations and it is obvious why. Almost all know all regarding the lively method you produce advantageous solutions on the web site and in addition improve participation from other people on that subject matter and our simple princess is actually being taught so much. Take advantage of the remaining portion of the year. You're the one conducting a tremendous job.
[url=http://www.kyrie7shoes.us]kyrie 7[/url]

goyard handbags (not verified)

Tue, 10/05/2021 - 18:29

In reply to by teamcansler (not verified)

My husband and i were so excited Michael could conclude his homework because of the precious recommendations he made through the blog. It is now and again perplexing to simply possibly be releasing guidelines others may have been trying to sell. And now we fully understand we have the website owner to thank for that. Most of the illustrations you've made, the straightforward web site navigation, the friendships you can aid to engender - it's everything remarkable, and it's really aiding our son in addition to the family reason why that topic is brilliant, which is extraordinarily pressing. Thank you for the whole thing!
[url=http://www.goyardhandbag.com]goyard handbags[/url]

bape clothing (not verified)

Fri, 10/08/2021 - 01:23

In reply to by teamcansler (not verified)

Thank you for all your effort on this website. My mother really likes engaging in internet research and it's easy to understand why. All of us know all concerning the dynamic manner you convey both useful and interesting secrets through the web site and as well as invigorate contribution from other ones about this concept while our own child is always starting to learn a lot of things. Have fun with the rest of the new year. You are always carrying out a glorious job.
[url=http://www.bape-clothing.us]bape clothing[/url]

lebron shoes (not verified)

Sun, 10/10/2021 - 04:36

In reply to by teamcansler (not verified)

Thanks so much for providing individuals with remarkably spectacular opportunity to check tips from here. It can be very useful plus jam-packed with amusement for me personally and my office friends to visit your web site at minimum 3 times a week to read through the new tips you have got. And indeed, I'm just always pleased with all the magnificent creative ideas you give. Selected 1 facts in this article are in truth the finest we have ever had.
[url=http://www.lebronjames.us.com]lebron shoes[/url]

chrome hearts … (not verified)

Tue, 10/12/2021 - 05:59

In reply to by teamcansler (not verified)

I precisely needed to thank you so much all over again. I am not sure the things that I would have used in the absence of those tips and hints contributed by you regarding my concern. Entirely was a challenging concern in my view, but taking note of the well-written style you treated it forced me to leap for delight. I am happier for your guidance and thus hope that you are aware of an amazing job you are always doing educating the mediocre ones all through your webpage. More than likely you've never encountered any of us.
[url=http://www.chromeheartstoreonline.com]chrome hearts online store[/url]

off white hoodie (not verified)

Thu, 10/14/2021 - 11:16

In reply to by teamcansler (not verified)

I'm commenting to let you understand what a magnificent experience my wife's child encountered going through your webblog. She noticed too many details, not to mention what it is like to have an incredible teaching spirit to make folks without hassle have an understanding of specific multifaceted matters. You actually exceeded our own expected results. I appreciate you for distributing the priceless, safe, educational not to mention easy tips about this topic to Sandra.
[url=http://www.offwhitehoodies.us]off white hoodie[/url]

off white jordan 1 (not verified)

Sat, 10/16/2021 - 14:09

In reply to by teamcansler (not verified)

My husband and i ended up being absolutely relieved when Peter managed to complete his inquiry using the precious recommendations he got through your site. It is now and again perplexing just to happen to be freely giving helpful hints which often the rest might have been selling. So we realize we need you to give thanks to for that. The illustrations you've made, the easy site navigation, the relationships your site aid to instill - it's most fantastic, and it's really assisting our son in addition to the family consider that this topic is cool, which is certainly pretty essential. Thank you for all the pieces!
[url=http://www.offwhiteshoes.us.com]off white jordan 1[/url]

off white (not verified)

Mon, 10/18/2021 - 16:46

In reply to by teamcansler (not verified)

I am writing to make you know of the great encounter my princess undergone studying your site. She came to find lots of details, which include what it is like to have an incredible teaching mood to let other individuals very easily master a number of complex subject matter. You really exceeded her expected results. I appreciate you for distributing those priceless, trustworthy, revealing and even cool tips about the topic to Tanya.
[url=http://www.offwhiteoutlet.us.org]off white[/url]

jordan 13 (not verified)

Wed, 10/20/2021 - 19:59

In reply to by teamcansler (not verified)

I and my guys have been going through the good procedures found on your website while all of the sudden developed an awful feeling I never thanked the website owner for those strategies. All of the young boys had been certainly excited to read through them and have now unquestionably been making the most of them. Appreciate your turning out to be indeed kind as well as for utilizing some extraordinary subject matter millions of individuals are really wanting to learn about. Our sincere apologies for not saying thanks to you sooner.
[url=http://www.jordan13.us.com]jordan 13[/url]

kd shoes (not verified)

Fri, 11/12/2021 - 18:15

In reply to by teamcansler (not verified)

I not to mention my guys have already been looking through the best hints located on your web site and suddenly came up with an awful feeling I never thanked the blog owner for those techniques. All the ladies are already as a result excited to study all of them and now have simply been using them. Thank you for indeed being very considerate and also for figuring out varieties of notable topics most people are really needing to be aware of. Our own sincere apologies for not expressing appreciation to you sooner.
[url=http://www.kd10.us]kd shoes[/url]

jordans (not verified)

Sun, 11/14/2021 - 21:12

In reply to by teamcansler (not verified)

I am also writing to make you know of the impressive encounter my child gained visiting your web site. She discovered a good number of issues, most notably how it is like to have an amazing giving heart to make many others effortlessly have an understanding of specific impossible topics. You undoubtedly exceeded readers' desires. Thank you for providing those priceless, trustworthy, revealing as well as fun guidance on your topic to Janet.
[url=http://www.jordanssneakers.us.com]jordans[/url]

kobe 11 (not verified)

Wed, 11/17/2021 - 00:16

In reply to by teamcansler (not verified)

I want to show my gratitude for your generosity supporting all those that really want help with that subject matter. Your special dedication to getting the solution across turned out to be extraordinarily insightful and have continuously allowed guys just like me to arrive at their endeavors. This helpful hints and tips denotes so much to me and substantially more to my office workers. Thanks a ton; from all of us.
[url=http://www.kobebasketballshoes.net]kobe 11[/url]

supreme outlet (not verified)

Fri, 11/19/2021 - 03:45

In reply to by teamcansler (not verified)

I wish to express my gratitude for your kindness for individuals who have the need for guidance on this one niche. Your very own commitment to getting the solution up and down ended up being astonishingly important and has really helped men and women just like me to achieve their aims. Your amazing helpful suggestions indicates so much to me and a whole lot more to my office colleagues. Many thanks; from each one of us.
[url=http://www.supremesoutlet.us.com]supreme outlet[/url]

curry 5 shoes (not verified)

Sun, 11/21/2021 - 07:09

In reply to by teamcansler (not verified)

I wish to voice my affection for your kind-heartedness giving support to individuals who must have help on this content. Your very own dedication to passing the solution all over was exceptionally invaluable and has continually enabled somebody just like me to arrive at their goals. Your new warm and friendly useful information indicates much a person like me and still more to my office workers. Thank you; from each one of us.
[url=http://www.curry5.us.com]curry 5 shoes[/url]

supreme t shirt (not verified)

Tue, 11/23/2021 - 10:31

In reply to by teamcansler (not verified)

Thanks so much for giving everyone such a brilliant possiblity to read critical reviews from here. It is often so ideal and full of a great time for me personally and my office colleagues to search your site really thrice in a week to see the latest stuff you have got. Not to mention, I'm at all times satisfied for the fantastic things served by you. Certain two tips in this posting are undoubtedly the most suitable we have ever had.
[url=http://www.supremeoutlet.us.com]supreme t shirt[/url]

off white (not verified)

Thu, 11/25/2021 - 13:44

In reply to by teamcansler (not verified)

I together with my friends have been studying the good solutions found on the website then all of the sudden I had a horrible suspicion I had not thanked the website owner for those techniques. Most of the ladies came for that reason thrilled to read all of them and have very much been taking pleasure in them. We appreciate you truly being really considerate and for pick out this form of extraordinary issues most people are really wanting to discover. My very own honest regret for not expressing gratitude to you earlier.
[url=http://www.offwhite.us.com]off white[/url]

golden goose outlet (not verified)

Wed, 03/16/2022 - 19:28

In reply to by teamcansler (not verified)

I and also my guys were found to be analyzing the excellent advice found on your web site and then quickly I had a terrible feeling I had not expressed respect to the site owner for those techniques. The people had been totally happy to study all of them and have in effect unquestionably been taking advantage of these things. Thanks for actually being considerably considerate and for figuring out some fabulous ideas millions of individuals are really needing to discover. Our sincere apologies for not expressing appreciation to you earlier.
[url=http://www.goldengooseoutletstore.com]golden goose outlet[/url]

off white (not verified)

Sat, 03/19/2022 - 14:02

In reply to by teamcansler (not verified)

I'm commenting to let you be aware of of the great discovery my cousin's girl went through reading your site. She picked up so many things, which included what it is like to possess an incredible coaching mindset to let other people with ease learn about some problematic subject areas. You truly surpassed readers' expectations. Thank you for presenting those informative, healthy, explanatory and as well as fun tips on your topic to Jane.
[url=http://www.offwhitehoodies.us]off white[/url]

supreme clothing (not verified)

Fri, 03/25/2022 - 02:44

In reply to by teamcansler (not verified)

I'm also writing to make you be aware of what a helpful encounter my cousin's child found reading your web site. She came to find such a lot of pieces, which included what it's like to possess a very effective coaching mood to get the others smoothly understand certain complex things. You undoubtedly surpassed her expected results. Thank you for showing those precious, trustworthy, educational as well as unique tips about the topic to Lizeth.
[url=http://www.supremeclothingsstore.com]supreme clothing[/url]

supreme (not verified)

Sun, 03/27/2022 - 20:50

In reply to by teamcansler (not verified)

I want to convey my love for your generosity for people that actually need assistance with this particular area. Your personal dedication to passing the message throughout was incredibly effective and has regularly allowed women like me to get to their aims. Your own valuable report denotes a lot a person like me and substantially more to my peers. Thanks a lot; from all of us.
[url=http://www.supremeclothing.us.org]supreme[/url]

hermes birkin bag (not verified)

Wed, 03/30/2022 - 14:14

In reply to by teamcansler (not verified)

I not to mention my guys were reviewing the best hints found on your site while unexpectedly I got a terrible suspicion I never thanked the site owner for those strategies. My ladies were certainly glad to read through all of them and already have in truth been taking advantage of them. We appreciate you getting indeed considerate as well as for using variety of ideal subject areas most people are really eager to discover. My very own honest apologies for not expressing appreciation to sooner.
[url=http://www.hermesbirkins.com]hermes birkin bag[/url]

kd shoes (not verified)

Mon, 04/11/2022 - 08:44

In reply to by teamcansler (not verified)

I simply wanted to make a simple word to be able to say thanks to you for all of the fabulous tips and hints you are giving out on this website. My particularly long internet look up has at the end been honored with reliable tips to talk about with my close friends. I 'd suppose that most of us site visitors are quite blessed to dwell in a really good website with many perfect people with great opinions. I feel quite privileged to have seen the web page and look forward to tons of more brilliant minutes reading here. Thank you again for all the details.
[url=http://www.kd12.us.com]kd shoes[/url]

kobe 9 (not verified)

Tue, 04/12/2022 - 09:40

In reply to by teamcansler (not verified)

I must show some thanks to the writer just for rescuing me from such a incident. As a result of looking throughout the search engines and coming across basics which were not pleasant, I thought my entire life was well over. Existing minus the answers to the problems you have sorted out through your review is a serious case, as well as the ones which may have in a wrong way affected my entire career if I hadn't discovered your blog post. Your primary competence and kindness in handling all the things was excellent. I am not sure what I would have done if I had not encountered such a solution like this. I am able to at this moment look ahead to my future. Thanks for your time very much for the impressive and sensible help. I will not hesitate to refer your web page to any individual who ought to have assistance about this issue.
[url=http://www.kobebasketballshoes.net]kobe 9[/url]

yeezy boost 350 (not verified)

Wed, 04/13/2022 - 12:38

In reply to by teamcansler (not verified)

I precisely had to appreciate you again. I'm not certain the things that I might have taken care of in the absence of those pointers shown by you over my question. It became an absolute traumatic concern for me, nevertheless noticing the professional tactic you treated that forced me to cry for contentment. I'm thankful for your advice and in addition expect you find out what a powerful job you're getting into instructing the rest through the use of your web page. Most probably you haven't come across all of us.
[url=http://www.yeezy-350.us.com]yeezy boost 350[/url]

westbrook shoes (not verified)

Thu, 04/14/2022 - 13:33

In reply to by teamcansler (not verified)

I wish to convey my respect for your kind-heartedness for persons who must have help on your topic. Your special dedication to getting the solution up and down appears to be surprisingly insightful and has all the time enabled individuals much like me to realize their desired goals. Your amazing invaluable hints and tips means much a person like me and extremely more to my office workers. Warm regards; from each one of us.
[url=http://www.russellwestbrookshoes.us]westbrook shoes[/url]

bape outlet (not verified)

Fri, 04/15/2022 - 15:22

In reply to by teamcansler (not verified)

I enjoy you because of each of your labor on this web site. My aunt delights in doing internet research and it's really easy to see why. A number of us notice all relating to the dynamic means you convey helpful thoughts by means of this website and even attract participation from other individuals on this article and my girl is certainly understanding a great deal. Take advantage of the remaining portion of the year. Your doing a wonderful job.
[url=http://www.bapesonline.com]bape outlet[/url]

off white (not verified)

Sat, 04/16/2022 - 17:14

In reply to by teamcansler (not verified)

I wanted to draft you the bit of word to finally thank you so much once again for the amazing guidelines you've shown at this time. It was so wonderfully generous with people like you to supply publicly precisely what a few individuals might have marketed as an e-book to get some profit for their own end, mostly given that you might have tried it in case you desired. These things also served as a great way to know that someone else have the same interest similar to mine to understand significantly more in respect of this issue. Certainly there are thousands of more enjoyable sessions in the future for individuals that find out your blog post.
[url=http://www.offwhiteoutlet.us.org]off white[/url]

yeezy boost 350 v2 (not verified)

Sun, 04/17/2022 - 19:31

In reply to by teamcansler (not verified)

I simply wished to say thanks once again. I'm not certain the things I would have gone through without these creative ideas shared by you concerning that situation. This has been a real daunting issue in my circumstances, nevertheless witnessing a specialized approach you managed the issue made me to leap over delight. I am just happy for this service and thus trust you realize what a powerful job that you are getting into educating the mediocre ones all through your webblog. I am certain you haven't met all of us.
[url=http://www.yeezy-shoes.us.org]yeezy boost 350 v2[/url]

jordan shoes (not verified)

Mon, 04/18/2022 - 22:40

In reply to by teamcansler (not verified)

A lot of thanks for each of your work on this blog. Ellie really likes carrying out research and it's easy to see why. A number of us hear all about the compelling form you render helpful solutions via your web blog and in addition improve participation from other people about this concept so my child has been studying a lot. Have fun with the rest of the year. You are performing a superb job.
[url=http://www.shoesjordan.us.com]jordan shoes[/url]

lebron 18 (not verified)

Wed, 04/20/2022 - 02:39

In reply to by teamcansler (not verified)

I simply wanted to post a simple message so as to appreciate you for all of the great solutions you are sharing on this website. My long internet lookup has finally been rewarded with high-quality facts and techniques to exchange with my companions. I would repeat that most of us site visitors actually are unequivocally blessed to exist in a remarkable place with very many outstanding professionals with very beneficial solutions. I feel really lucky to have seen your weblog and look forward to plenty of more fun times reading here. Thank you once more for everything.
[url=http://www.lebron18.net]lebron 18[/url]

moncler outlet (not verified)

Thu, 04/21/2022 - 05:53

In reply to by teamcansler (not verified)

I in addition to my pals came reading through the excellent helpful tips from your web blog then all of the sudden developed a horrible suspicion I had not thanked the web blog owner for those strategies. The ladies had been so warmed to read through them and have in effect absolutely been loving them. Appreciate your truly being indeed considerate and then for picking some excellent topics millions of individuals are really wanting to understand about. My personal honest apologies for not expressing appreciation to earlier.
[url=http://www.monclerjackets.us.org]moncler outlet[/url]

gardido (not verified)

Thu, 04/21/2022 - 09:20

In reply to by teamcansler (not verified)

над гишето г. без рецепта http://naturmed-bg.over-blog.com/ как и кога да се използва купувайте онлайн без рецепта Евтини онлайн онлайн без рецепта http://slimbg2.hatenablog.com/entry/2020/11/21/234833 цена цена
наркотик безопасно онлайн http://naturmed-bg.over-blog.com/2019/11/-778.html в онлайн аптеките евтино
високо качество цена http://naturmed-bg.over-blog.com/2019/11/-605.html най-доброто място за онлайн покупка няма страничен ефект
без рецепта лекарство http://naturmed-bg.over-blog.com/2019/11/-17.html без рецепта Интернет аптека оригинал онлайн онлайн без рецепта http://slimbg.hatenablog.com/entry/2020/11/21/225645 евтини онлайн механизъм на действие
алтернативи аптека http://naturmed-bg.over-blog.com/2019/11/-03.html без рецепта Евтини онлайн
на разположение онлайн най-доброто място за онлайн покупка http://slimbg2.hatenablog.com/entry/2020/11/21/234711 на разположение онлайн без одобрение от лекар
евтини онлайн без рецепта http://slimbg.hatenablog.com/entry/2020/11/21/225904 ниска цена безопасно онлайн
безопасно онлайн цена http://slimbg.hatenablog.com/entry/2020/11/21/225806 оригинал онлайн лекарствени взаимодействия
най-добро качество и ниски цени над гишето http://slimbg2.hatenablog.com/entry/2020/11/21/234240 оригинал онлайн алтернативи
цена без рецепта http://slimbg2.hatenablog.com/entry/2020/11/21/233720 Онлайн онлайн без рецепта
без рецепта купувам евтино http://naturmed-bg.over-blog.com/2019/11/-9.html онлайн без рецепта в онлайн аптеките без рецепта в аптеката без рецепта http://slimbg2.hatenablog.com/entry/2020/11/21/235411 най-ниска цена без одобрение от лекар
най-доброто място за онлайн покупка над гишето http://slimbg2.hatenablog.com/entry/2020/11/21/235720 с отстъпка с mastercard

curry 7 shoes (not verified)

Fri, 04/22/2022 - 11:07

In reply to by teamcansler (not verified)

Thanks so much for providing individuals with an exceptionally breathtaking chance to read critical reviews from this site. It is usually very ideal and as well , packed with amusement for me personally and my office peers to visit your blog at least thrice weekly to see the newest items you will have. Not to mention, I'm so always amazed with the surprising creative concepts you give. Selected 1 points in this post are honestly the finest I have had.
[url=http://www.curry7shoes.us]curry 7 shoes[/url]

jordan 11 (not verified)

Mon, 05/02/2022 - 04:33

In reply to by teamcansler (not verified)

Needed to compose you one very small note so as to thank you so much the moment again regarding the beautiful techniques you have featured here. This is really seriously generous with people like you to allow unhampered what some people could have sold as an e-book to make some cash for themselves, specifically now that you might well have done it if you ever decided. Those concepts as well served like the fantastic way to know that some people have the identical dream much like my own to realize great deal more regarding this matter. I think there are millions of more enjoyable periods in the future for those who browse through your site.
[url=http://www.jordan11retro.us.com]jordan 11[/url]

golden goose (not verified)

Tue, 05/03/2022 - 10:12

In reply to by teamcansler (not verified)

I wanted to draft you that very little observation to be able to say thanks a lot again for your personal extraordinary advice you have contributed on this page. It was simply extremely generous with people like you to give freely all that a few individuals would have supplied for an e book to help make some profit on their own, most notably seeing that you might well have tried it if you desired. The creative ideas likewise worked as the great way to understand that other individuals have the same keenness just as my personal own to know the truth very much more with reference to this problem. I am certain there are several more pleasurable situations up front for individuals that go through your blog post.
[url=http://www.golden-goose.us]golden goose[/url]

golden goose (not verified)

Wed, 05/04/2022 - 05:40

In reply to by teamcansler (not verified)

I am only commenting to make you be aware of of the amazing discovery my wife's child encountered reading through your blog. She realized a lot of things, with the inclusion of what it's like to possess an incredible helping spirit to have other folks just grasp several complicated topics. You undoubtedly surpassed our desires. I appreciate you for rendering those informative, safe, informative not to mention unique tips on your topic to Tanya.
[url=http://www.goldengooseoutletonline.us.com]golden goose[/url]

Add new comment

Plain text

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