Arduino

Snake on Pixelbox v0.2

{newstitle-2

2016-04-26 18:01:46

Geschreven door: Jakob

De Arduino software voor het spel snake te spelen op de Pixelbox

/*
* Naam: Snake.Matrix
 * FileNaam:SnakeDotMatrix
 * Versie: V0.1 * Maker: Jakob Robijns
 * 6H07 * Damiaaninstituut Aarschot
 * * WAT: Een Snake game op de Pixelbox
 * HOE: De slang (Snake) beweegt zich elke 0,5 voort in de richting dead jij aangeeft. Als je met de joystick naar boven gaat, dan gaat de slang ook naar boven, tot je een andere richting aangeeft.
   Als je op de randen kort, dan ga je naar Naar de andere kant. Eet je de appel op, dan wordt je lengte langer, maar raak je je eigen aan, Dan ga je dood, en begin je opnieuw.
 *
 *

TODO:
-Timer1 gebruiken
- Doodgaan als je over jezelf gaat (check)
-niet bv links gaan, en dan rechts.(check)
-Sneller reactie (ZIEN OF DIT WEL EEN PROBLEEM KAN GEVEN)
-Bij dood, lengte van slang weergeven. (Deels check)
-Alles vertalen in NL
-Alles commentaar geven
-Functies maken (check)
-int naar byte doen
-Shield
-Snelheid van moveSnakeing (OPTIONEEL)
-Doodicon ':(' & dat minder flitsend tonen. (check)
-Apen niet spawnen in de slang zelf. (check)
-Apel flikkeren!
-Drukknopoptie.
-cameCase maken
-Een taal gebruiken => engelse functies & nederlandse commentaar
-Variabels verwijderd:
    tellerkleur
    oudesnakeHeadLocation
    RGBwaarde
0   1   2   3   4   5   6   7   8   9   10  11
23  22  21  20  19  18  17  16  15  14  13  12
24  25  26  27  28  29  30  31  32  33  34  35
47  46  45  44  43  42  41  40  39  38  37  36
48  49  50  51  52  53  54  55  56  57  58  59
71  70  69  68  67  66  65  64  63  62  61  60
72  73  74  75  76  77  78  79  80  81  82  83
95  94  93  92  91  90  89  88  87  86  85  84
96  97  98  99  100 101 102 103 104 105 106 107
119 118 117 116 115 114 113 112 111 110 109 108
120 121 122 123 124 125 126 127 128 129 130 131
143 142 141 140 139 138 137 136 135 134 133 132
 */
//INSTELBARE VARIABELEN
byte
numberLeds
= 144
;
//Aantal Leds aan de LEDstrip
byte dataPin  = 2;  //Datapin aan de Arduino
byte clockPin = 3;  // Clockpin aan de Arduino
boolean wallDeath = 0;  //Als het de muur aanraakt, ben je dood
int delayMovingSnake = 200; //De tijd tussen de moveSnakeingen, hoe kleiner, hoe sneller.
byte matrix[144] = {
  1, 2, 3, 4, 5,  0, 0, 0, 0, 0,  0,  0, //0   1   2   3   4   5   6   7   8   9   10  11
  145, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0,  0, //23  22  21  20  19  18  17  16  15  14  13  12
  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0 , 0, //24  25  26  27  28  29  30  31  32  33  34  35
  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0 , 0, //47  46  45  44  43  42  41  40  39  38  37  36
  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0 , 0, //48  49  50  51  52  53  54  55  56  57  58  59
  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0 , 0, //71  70  69  68  67  66  65  64  63  62  61  60
  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0 , 0, //72  73  74  75  76  77  78  79  80  81  82  83
  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0 , 0, //95  94  93  92  91  90  89  88  87  86  85  84
  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0 , 0, //96  97  98  99  100 101 102 103 104 105 106 107
  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0 , 0, //119 118 117 116 115 114 113 112 111 110 109 108
  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0 , 0, //120 121 122 123 124 125 126 127 128 129 130 131
  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0 , 0, //143 142 141 140 139 138 137 136 135 134 133 132
};
int snakeHeadLocation = 4; //Beginlocatie van de kop van de slang, Moet overeen komen met de matrix!!!
#include "LPD8806.h"
#include "SPI.h"
LPD8806 strip = LPD8806(numberLeds, dataPin, clockPin);
byte directionSnake = 2; //Richting van de slang. 1=boven;2=onder;3=links;4=rechts;
byte locationApple = 12; //Locatie van de appel
byte snakeLenght = 5; //De beginlengte van de slang, dit groeit naarmate je meer appels eet.
int timer = 0;
void setup()
{
  Serial.begin(9600);
  strip.begin();
  strip.show();
  for (byte i = 0; i < strip.numPixels(); i++) {
    strip.setPixelColor(i, 0, 0, 0); // Set new pixel 'on'
    //          pinnummer,R,G,B
  }
  strip.show();
  refreshScreen();
}


void loop()
{
  if (timer == delayMovingSnake) {
    timer = 0;
       //SerialPrintMatrix();  //Toont de huidige matrixstatus in de Smonitor, het aanzetten zorgt voor een hooge delay
    for (byte i = 0; i < 144; i++) {  //Laat de slang (behalve het hoofd bewegen door alle waardes te verlagen. Bv de kop (5) wordt (4) als waarde, en dus is het niet meer de kop. 0 blijft nul.
      if (matrix[i] >= 1 && matrix[i] < 65) { //Enkel de Slang mag verlaagd worden, dus zien we enkel de slang.
        matrix[i]--; //Verlaagt de Waardes (012345 ->001234)
      }
    }
    if (snakeHeadLocation == locationApple) { //Als de appel is gegeten.
      eatApple(); //Controleerd of de kop van de slang bij(op) de appel is.
    }

    moveSnake();
    dead();  //Zet dit boven "matrix[snakeHeadLocation] = snakeLenght;", anders werkt dit niet!!!!
    matrix[snakeHeadLocation] = snakeLenght; //Zet de waarde van de lengte als waarde in de matrix voor de kop van de slang.
    refreshScreen();
  }
  timer++;
  delay(1);
  joystick(); //Controleerd de bewegingen van de Joystick.
  // serialShowMatrix();
}

void moveSnake() {
  switch (directionSnake) { //Kijkt naar welke richting de slang moet verder gaan.
    case 1: //Boven
      if (snakeHeadLocation >= 0 && snakeHeadLocation <= 11) { //Als de kop van de slang op de bovenste rij is (rij 0), dan moet het terug naar de onderste rij gaan (rij 7);
        snakeHeadLocation = snakeHeadLocation + 144;
        snakeAtwall();
      }
      snakeHeadLocation = snakeHeadLocation - 12; //Om naar boven te gaan in de matrix is de positie 8 plaatsen terug.
      break;
    case 2: //Beneden
      if (snakeHeadLocation >= 132 && snakeHeadLocation <= 143) { //Als de kop van de slang op de onderste rij is (rij 7), dan moet het terug naar de bovenste rij gaan (rij 0);
        snakeHeadLocation = snakeHeadLocation - 144;
        snakeAtwall();
      }
      snakeHeadLocation = snakeHeadLocation + 12; //Om naar beneden te gaan in de matrix is de positie 8 plaatsen verder.
      break;
    case 3: //Links
      if (snakeHeadLocation == 0 || snakeHeadLocation == 12 || snakeHeadLocation == 24 || snakeHeadLocation == 36 || snakeHeadLocation == 48 || snakeHeadLocation == 60 || snakeHeadLocation == 72 || snakeHeadLocation == 84 || snakeHeadLocation == 96 || snakeHeadLocation == 108 || snakeHeadLocation == 120 || snakeHeadLocation == 132) { //Als de kop van de slang op de linkse colom is (colom 0), dan moet het terug naar de rechtse colom gaan (colom 7);
        snakeHeadLocation = snakeHeadLocation + 12;
        snakeAtwall();
      }
      snakeHeadLocation = snakeHeadLocation - 1; //Om naar links te gaan in de matrix is de positie 1 plaats terug.
      break;
    case 4: //Rechts
      if (snakeHeadLocation == 11 || snakeHeadLocation == 23 || snakeHeadLocation == 35 || snakeHeadLocation == 47 || snakeHeadLocation == 59 || snakeHeadLocation == 71 || snakeHeadLocation == 83 || snakeHeadLocation == 95 || snakeHeadLocation == 107 || snakeHeadLocation == 119 || snakeHeadLocation == 131 || snakeHeadLocation == 143) {//Als de kop van de slang op de rechtse colom is (colom 7), dan moet het terug naar de linkse colom gaan (colom 0)
        snakeHeadLocation = snakeHeadLocation - 12;
        snakeAtwall();
      }
      snakeHeadLocation = snakeHeadLocation + 1; //Om naar rechts te gaan in de matrix is de positie 1 plaats verder.
      break;
  }
}
void refreshScreen()  //Toont(update) de Matrix
{
  byte ledNumber = 0;
  byte tellerMatrix = 0;
  int RGBcolorRed;
  int RGBcolorGreen;
  int RGBcolorBlue;

  for (byte doubleStripCounterip = 0; doubleStripCounterip < 6; doubleStripCounterip ++) {
    for (byte i = 0; i < 12; i++) { //0 -> 11
      if (matrix[tellerMatrix] >= 1 && matrix[tellerMatrix] < 65) { //Alle delen van de slang is de kleur Rood behalve de kop
        RGBcolorRed = 255;
        RGBcolorGreen = 0;
        RGBcolorBlue = 0;
        if (matrix[tellerMatrix] == snakeLenght) {  //Als de het de kop is (Lngte van de slang = nummer van het hoofd
          RGBcolorRed = 0;
          RGBcolorGreen = 0;
          RGBcolorBlue = 255;
        }
      } else if (matrix[tellerMatrix] == 145) {  //145 is de appel, die wordt de kleur groen
        RGBcolorRed = 0;
        RGBcolorGreen = 255;
        RGBcolorBlue = 0;
      } else if (matrix[tellerMatrix] == 0) { //Alles wat geen appel of slang is.
        RGBcolorRed = 0;
        RGBcolorGreen = 0;
        RGBcolorBlue = 0;
      }
      strip.setPixelColor(ledNumber,  RGBcolorRed,  RGBcolorGreen,  RGBcolorBlue);
      ledNumber++;
      tellerMatrix++;
    }
    
    ledNumber += 11;
    for (byte i = 0; i < 12; i++) { //23 <-12
      if (matrix[tellerMatrix] >= 1 && matrix[tellerMatrix] < 65) {
        RGBcolorRed = 255;
        RGBcolorGreen = 0;
        RGBcolorBlue = 0;
        if (matrix[tellerMatrix] == snakeLenght) {
          RGBcolorRed = 0;
          RGBcolorGreen = 0;
          RGBcolorBlue = 255;
        }
      } else if (matrix[tellerMatrix] == 145) {
        RGBcolorRed = 0;
        RGBcolorGreen = 255;
        RGBcolorBlue = 0;
      } else if (matrix[tellerMatrix] == 0) {
        RGBcolorRed = 0;
        RGBcolorGreen = 0;
        RGBcolorBlue = 0;
      }
      strip.setPixelColor(ledNumber,  RGBcolorRed,  RGBcolorGreen,  RGBcolorBlue);
      ledNumber--;
      tellerMatrix++;
    }
    ledNumber += 13;
  }
  strip.show();
}

void SerialPrintMatrix() {  //Toont de matrix op je Scom
  byte teller = 0;
  for (byte Yas = 0; Yas < 12; Yas++)
  {
    for (byte Xas = 0; Xas < 12; Xas++)
    {
      Serial.print(matrix[teller]);
      teller ++;
    }
    Serial.println();
  }
  Serial.println();
  Serial.println();
}


void eatApple() { //Controleerd of het hoofd van de slang op de Appel zit. (=Opeten)
  snakeLenght++;  //Maakt de lengte van de slang eentje langer.
  while (matrix[locationApple] >= 1) { //Zolang de (nieuwe) locatie van de appel hoger dan 1 is, zoekt het een nieuwe locatie.
    Serial.println("Nieuwe locatie voor de appel");
    locationApple = random(143);  //Pakt random locatie voor de appel.
    Serial.println(locationApple);
  }
  Serial.println("Locatie gekozen.");
  matrix[locationApple] = 145;  //refreshScreent de appel
  for (byte teller = 0; teller < 144; teller++) {
    if (matrix[teller] >= 1 && matrix[teller] <= 64) { //Enkel de Slang mag een verhoogt worden worden, dus zien we enkel de slang.
      matrix[teller]++; //Zet de Waardes van de slang een hoger, omdat het direct erna eentje wordt verlaagd allemaal. Resultaat: De Slang is niet moveSnaket, maar de kop komt er wel bij. Waarvan de lengte eentje langer wordt.
    }
  }

}

void joystick() { //Bekijkt de bewegingen van de joystick      !!!NOG VERBETEREN!!!
  // Serial.println(analogRead(A4));
  if (analogRead(A5) < 100 && (directionSnake == 3 || directionSnake == 4)) {  //Als de Yjoystick boven is (zo goed als).
    directionSnake = 1;
    Serial.println("boven");
  }
  if (analogRead(A5) > 1000 && (directionSnake == 3 || directionSnake == 4)) {  //Als de Yjoystick onder is (zo goed als).
    directionSnake = 2;
    Serial.println("onder");
  }
  if (analogRead(A4) > 1000  && (directionSnake == 1 || directionSnake == 2)) {  //Als de Xjoystick rechts is (zo goed als).
    directionSnake = 4;
    Serial.println("rechts");
  }
  if (analogRead(A4) < 100 && (directionSnake == 1 || directionSnake == 2)) {  //Als de Xjoystick links is (zo goed als).
    directionSnake = 3;
    Serial.println("links");
  }
}

void dead() {
  for (byte teller = 0; teller < 144; teller++) {
    if (matrix[teller] >= 1 && matrix[teller] <= 64) { //Enkel de Slang mag een verhoogt worden worden, dus zien we enkel de slang.
      //Controlleer of  'teller' == snakeHeadLocation voor het zetten op de matrix!!!!! Als iets fout is, controlleer of de matrix pas later is geupdate. anders is het fout.
      if (teller == snakeHeadLocation) {
        Serial.print("dead");
        endAnimation();
        herstart();
      }
    }
  }
}


void endAnimation() {
  Serial.print("void endAnimation()");
  //TODO
}


void herstart() {
  Serial.print("void herstart()");
  for (byte teller = 0; teller < 144; teller++) {  //Reset de matrix
    matrix[teller] = 0; //Alles op 0 zetten
  }
  refreshScreen();
  //showLengthSnake();
  for (byte teller = 0; teller < 144; teller++) {  //Reset de matrix
    matrix[teller] = 0; //Alles op 0 zetten
  
							
													
Aantal likes:26

Reacties:

I want to voice my gratitude for your generosity for persons who really need help on this important topic. Your real dedication to getting the message up and down ended up being rather powerful and has enabled others like me to reach their desired goals. This important key points entails much to me and extremely more to my office workers. Thank you; from all of us.
yeezy 500
I simply wished to thank you very much once again. I'm not certain the things I would have handled in the absence of these ideas provided by you regarding such a area of interest. This was a real challenging setting for me, however , noticing the specialised manner you solved it made me to leap with contentment. I'm just happy for this service and as well , hope that you realize what an amazing job that you are getting into instructing men and women via a web site. I'm certain you
I and also my buddies have already been checking the good points from your web site while suddenly developed a terrible suspicion I had not thanked the web site owner for those secrets. Those men happened to be for that reason excited to study them and already have in actuality been making the most of them. Appreciate your being indeed helpful and also for finding such marvelous information millions of individuals are really desperate to discover. My personal honest regret for not saying thanks
I and my friends were viewing the excellent solutions located on the blog while instantly developed an awful suspicion I had not thanked you for those strategies. The young men are already for this reason very interested to study them and already have definitely been taking advantage of these things. Thanks for being really kind and then for opting for this sort of outstanding subjects millions of individuals are really desirous to understand about. My sincere regret for not expressing gratitude
Thanks a lot for providing individuals with such a brilliant chance to read in detail from this web site. It can be very brilliant plus packed with a lot of fun for me and my office mates to visit your blog at least three times in 7 days to see the latest secrets you will have. And lastly, we are actually impressed for the unique opinions you give. Some 1 tips in this posting are unequivocally the most effective we've ever had.
nike
My spouse and i got absolutely thrilled that Chris managed to finish off his analysis via the precious recommendations he obtained through the web pages. It's not at all simplistic to simply happen to be releasing steps which often the rest may have been selling. We really acknowledge we need the blog owner to be grateful to for this. The type of explanations you have made, the simple site menu, the friendships you can make it possible to engender - it's got most powerful, and it'
I simply needed to say thanks all over again. I am not sure what I might have carried out without those tips and hints provided by you regarding that theme. It previously was a real hard issue in my opinion, but considering this expert style you solved it made me to weep for gladness. Extremely happy for this help and then wish you really know what a great job you happen to be undertaking teaching men and women with the aid of your web page. Most probably you've never come across all of us.
I simply wanted to make a brief note to say thanks to you for all the great ideas you are posting on this website. My particularly long internet investigation has at the end of the day been honored with reasonable suggestions to talk about with my guests. I would claim that we site visitors actually are undeniably fortunate to live in a great network with many marvellous individuals with good plans. I feel really fortunate to have used your entire site and look forward to many more entertaining
I simply needed to thank you very much once again. I'm not certain the things that I might have tried in the absence of the entire smart ideas discussed by you directly on such a concern. It truly was an absolute intimidating dilemma in my view, nevertheless coming across this skilled fashion you processed that made me to cry with delight. I'm grateful for the information and have high hopes you realize what a great job your are putting in educating some other people via your web blog.
My husband and i have been very excited that Raymond managed to round up his research using the ideas he acquired when using the web pages. It's not at all simplistic just to choose to be making a gift of secrets and techniques which often the rest may have been trying to sell. And we take into account we now have the blog owner to thank for that. The main explanations you made, the simple website navigation, the relationships you will help to foster - it's everything excellent, and it
Thanks so much for giving everyone a very superb opportunity to read critical reviews from this blog. It is always very sweet plus full of a lot of fun for me personally and my office fellow workers to search your site at the least three times in a week to read the newest stuff you will have. And definitely, I am certainly amazed considering the magnificent inspiring ideas served by you. Selected 4 tips in this post are surely the simplest we have all ever had.
I must show appreciation to you for rescuing me from this particular situation. As a result of exploring throughout the world wide web and coming across basics that were not powerful, I believed my entire life was done. Existing without the presence of solutions to the issues you've resolved by means of your guideline is a critical case, as well as those that could have negatively damaged my entire career if I had not come across your site. Your personal mastery and kindness in touching a
I definitely wanted to construct a quick message to express gratitude to you for these fantastic secrets you are writing on this site. My considerable internet lookup has at the end been honored with professional knowledge to exchange with my pals. I 'd assert that most of us readers are truly lucky to exist in a fabulous community with many awesome individuals with helpful advice. I feel really fortunate to have discovered your site and look forward to really more pleasurable moments read
I definitely wanted to develop a simple remark in order to express gratitude to you for these unique secrets you are sharing on this website. My particularly long internet search has finally been rewarded with really good facts and techniques to exchange with my family. I would assume that we site visitors actually are very endowed to be in a great community with very many special individuals with helpful suggestions. I feel very blessed to have encountered the web site and look forward to so ma
I must show some appreciation to you for bailing me out of this type of matter. As a result of exploring throughout the world wide web and getting tricks which were not productive, I figured my entire life was over. Living devoid of the answers to the issues you have solved through this write-up is a critical case, and the kind which might have in a negative way affected my entire career if I hadn't come across your web site. Your actual natural talent and kindness in playing with a lot of
I simply wished to thank you very much again. I do not know the things I would have undertaken without these opinions revealed by you concerning such theme. It has been the alarming difficulty in my opinion, but observing the specialized tactic you treated it made me to cry for joy. I'm just thankful for your support and in addition wish you realize what a powerful job that you are getting into teaching the others with the aid of your site. Probably you've never encountered all of us.
I as well as my guys have already been checking out the good helpful tips found on your web page and the sudden got a horrible suspicion I had not expressed respect to the site owner for them. Those people had been for this reason warmed to read through them and have in effect in truth been tapping into them. Appreciate your being so accommodating and also for obtaining certain good tips most people are really needing to know about. My personal sincere apologies for not expressing gratitude to y
Thanks so much for providing individuals with a very remarkable chance to discover important secrets from this site. It's usually very lovely and stuffed with a lot of fun for me and my office mates to visit your web site no less than three times in a week to see the fresh items you will have. Of course, I'm just always fulfilled considering the splendid creative ideas served by you. Selected 2 ideas in this post are really the most impressive we've had.
I wish to show appreciation to you just for rescuing me from this type of scenario. As a result of looking through the world-wide-web and obtaining solutions which were not helpful, I figured my entire life was gone. Being alive devoid of the answers to the issues you have resolved by way of your entire article is a critical case, and ones which might have negatively affected my entire career if I had not noticed your site. The competence and kindness in controlling all the pieces was valuable.
I enjoy you because of all your valuable effort on this web page. Debby really loves going through internet research and it's obvious why. Most of us learn all regarding the compelling medium you create effective things via your website and in addition increase contribution from other individuals on that topic plus my princess is without question starting to learn a great deal. Enjoy the remaining portion of the year. Your conducting a really good job.
I'm just commenting to let you understand what a amazing encounter my cousin's girl undergone viewing your web page. She came to understand a lot of details, not to mention what it is like to have a great giving nature to make many people quite simply gain knowledge of certain multifaceted topics. You truly surpassed our own expected results. Thank you for displaying those interesting, safe, edifying and even fun tips about the topic to Kate.
I wish to show my appreciation to the writer for bailing me out of this trouble. Right after looking out through the search engines and obtaining concepts which were not helpful, I thought my life was gone. Being alive without the presence of solutions to the difficulties you have fixed by way of your main article content is a critical case, as well as the ones that would have in a negative way damaged my career if I hadn't discovered your web page. Your actual natural talent and kindness i
I am also writing to make you know of the exceptional discovery my friend's child found studying your blog. She realized such a lot of pieces, not to mention how it is like to possess an incredible teaching spirit to get most people effortlessly master several specialized subject matter. You actually surpassed our expected results. I appreciate you for providing these helpful, trustworthy, explanatory and in addition unique thoughts on your topic to Kate.
A lot of thanks for all of your labor on this site. Betty takes pleasure in carrying out internet research and it's really simple to grasp why. We hear all of the powerful tactic you present rewarding strategies by means of the website and as well as welcome participation from some others about this area and our own child is certainly understanding a great deal. Take advantage of the remaining portion of the new year. You're the one performing a dazzling job.
Thank you a lot for providing individuals with an exceptionally memorable chance to read critical reviews from here. It really is very pleasing and also packed with a good time for me and my office acquaintances to search your website at least thrice a week to study the latest things you have. And of course, I am always happy considering the powerful knowledge you serve. Selected 1 areas in this article are unquestionably the simplest we've had.
Thanks so much for providing individuals with a very splendid possiblity to read articles and blog posts from this website. It really is so fantastic and stuffed with a lot of fun for me and my office mates to search your blog at minimum three times in a week to see the latest guides you have got. Not to mention, I'm so always pleased with all the awesome techniques served by you. Selected 1 areas in this post are basically the simplest I have ever had.
I am just writing to let you know of the notable discovery my friend's daughter experienced reading the blog. She realized lots of pieces, which included what it is like to possess a great giving style to make the mediocre ones very easily comprehend some complicated topics. You actually did more than our own expected results. I appreciate you for showing those priceless, trustworthy, informative and fun guidance on this topic to Lizeth.
I simply wanted to construct a simple note so as to say thanks to you for these great pointers you are showing here. My particularly long internet lookup has at the end of the day been recognized with good details to write about with my neighbours. I would assume that we readers actually are unquestionably fortunate to dwell in a good network with very many special professionals with very helpful methods. I feel really fortunate to have discovered your entire web page and look forward to plenty
Needed to create you a little note in order to thank you so much as before for your wonderful opinions you've documented here. It has been really tremendously open-handed of people like you giving publicly all some people could have offered for sale as an e-book to earn some profit for themselves, particularly considering that you might well have tried it if you ever decided. The suggestions in addition served to be a good way to fully grasp the rest have the identical fervor like my very o
I must show some thanks to this writer just for rescuing me from this particular circumstance. Because of checking throughout the internet and finding proposals that were not helpful, I believed my life was well over. Living minus the strategies to the difficulties you've solved all through the site is a serious case, and those which could have badly damaged my career if I had not noticed your blog post. Your understanding and kindness in controlling all the details was priceless. I don
I just wanted to construct a small message so as to express gratitude to you for all the splendid techniques you are writing on this website. My considerable internet lookup has at the end been paid with good details to share with my pals. I 'd state that that many of us website visitors are unquestionably endowed to live in a really good site with so many wonderful people with good guidelines. I feel really happy to have used your entire weblog and look forward to really more enjoyable min
My wife and i got quite lucky that Peter managed to do his survey from the ideas he had while using the blog. It's not at all simplistic just to find yourself making a gift of strategies which usually a number of people have been selling. And we understand we now have the website owner to be grateful to for this. The main illustrations you've made, the easy site menu, the relationships you assist to engender - it is everything unbelievable, and it's really helping our son in addit
I and my pals were found to be reading the good guidelines from your web page then all of the sudden came up with a horrible feeling I never thanked you for those strategies. All the people came stimulated to learn them and have truly been having fun with these things. Appreciate your really being indeed considerate and then for picking out certain helpful ideas most people are really desirous to be aware of. Our sincere regret for not saying thanks to you earlier.
My spouse and i were so thankful that Ervin managed to round up his studies with the precious recommendations he received out of your blog. It's not at all simplistic to simply find yourself giving away tips and tricks which people may have been selling. We really realize we now have the website owner to give thanks to because of that. All the explanations you've made, the easy site navigation, the relationships you help engender - it is many fabulous, and it's letting our son in
I actually wanted to post a word to thank you for the splendid points you are giving out on this site. My time consuming internet look up has now been paid with useful suggestions to write about with my colleagues. I would believe that most of us site visitors are definitely fortunate to dwell in a fine site with many lovely professionals with beneficial tips and hints. I feel extremely fortunate to have seen your entire site and look forward to so many more entertaining minutes reading here.
Needed to post you one very little observation in order to thank you very much again for all the splendid pointers you've featured on this site. It has been simply wonderfully open-handed of people like you to allow extensively what exactly many of us could have offered for sale for an ebook to get some profit for themselves, certainly since you could possibly have done it in the event you decided. These principles also worked like a good way to recognize that someone else have a similar dr
I wanted to send you that little note to help thank you once again just for the awesome strategies you have documented here. This has been quite pretty generous with people like you to provide freely precisely what most people could have distributed for an ebook to help with making some dough for their own end, even more so considering that you might well have done it in the event you decided. The tips likewise worked to become good way to comprehend most people have the identical keenness just
I precisely had to thank you so much once more. I am not sure the things that I might have carried out without the information provided by you regarding such topic. It absolutely was a traumatic concern for me, but encountering the very specialized tactic you dealt with it took me to jump over delight. Now i am happier for your advice as well as wish you really know what an amazing job you were getting into educating the others through the use of your website. I am sure you haven't got to k
I intended to compose you the little remark to say thanks the moment again considering the pleasant thoughts you have discussed on this page. It was quite particularly open-handed with people like you to present easily precisely what a number of people would have advertised as an e book in order to make some bucks for their own end, chiefly seeing that you could possibly have done it if you ever considered necessary. The principles as well served to become a good way to understand that someone e
My husband and i were so joyful that Peter managed to conclude his analysis from the precious recommendations he gained out of the web page. It's not at all simplistic to just always be freely giving ideas that others may have been selling. So we figure out we have the website owner to appreciate for this. Most of the illustrations you've made, the easy site menu, the friendships your site help to promote - it is everything sensational, and it's leading our son in addition to the
Thank you a lot for providing individuals with a very wonderful chance to discover important secrets from this blog. It is often so superb and also stuffed with a lot of fun for me personally and my office friends to search your website a minimum of 3 times a week to study the latest tips you have. Not to mention, I am just certainly motivated with the excellent knowledge you serve. Certain 1 points on this page are essentially the very best we have had.
I and my pals have been checking the great guides on the website and so the sudden developed a horrible feeling I had not thanked the site owner for them. All the guys came for that reason happy to learn all of them and have now absolutely been loving these things. Many thanks for getting so thoughtful and then for selecting some superb themes millions of individuals are really eager to be aware of. My very own sincere regret for not saying thanks to sooner.
Thanks for each of your work on this web site. My daughter really likes managing internet research and it's easy to understand why. Many of us notice all concerning the powerful ways you make worthwhile techniques by means of your website and therefore invigorate participation from people on that point while my daughter is really learning a lot. Take advantage of the remaining portion of the new year. Your carrying out a dazzling job.
I simply had to thank you so much all over again. I do not know the things I could possibly have followed in the absence of those tips discussed by you on that area of interest. It previously was a very fearsome scenario for me personally, however , being able to see the specialised mode you solved the issue took me to weep with gladness. I will be happier for your assistance and even hope you recognize what an amazing job that you're carrying out training the others with the aid of your si
http://hatun.ru/forum/viewtopic.php?pid=708357#p708357 http://stateoflawrp.com/showthread.php?tid=56004&pid=195556#pid195556 http://gelik.ru/includes/guest/index.php?showforum=4 http://jambforum.com/cgi-bin/forum.pl?board=admission http://enteghal85.ir/showthread.php?tid=61065&pid=329830#pid329830 http://clubwv-tc.wz.cz/news.php http://forum.ogameautomizer.com/index.php/topic,342564.new.html#new https://xn--80aqfgkangfhg.xn--p1ai/ http://gtmp-forum.cc/showthread.php?tid=199281&pid=22
http://www.psbgcommunity.com/showthread.php?tid=46672&pid=179059#pid179059 http://sexualdysfunction.ru/css/guest/index.php?showforum=2 http://lasertrack.ru/beam/viewtopic.php?f=3&t=26230 http://enteghal85.ir/showthread.php?tid=2730&pid=329779#pid329779 https://crypher.com/index.php?topic=64380.new#new http://www.emmasupports.de/Forum/viewtopic.php?f=5&t=1774748 http://www.noznos.com/cimal-citalopram-order-383662-1-1.html http://asmrpg.com.br/topico/hydrea-cost-wiki-buy-hydrea/ ht
http://www.fvr-cra.jp/signup.php http://0.0.0.0.ehhkzg.mannlist.com/viewtopic.php?f=10&t=38234891 http://lbac.neotemplarios.com/mybb/showthread.php?tid=375241 https://externalurl.net/index.php?topic=151837.new#new http://clansvk.wz.cz/news.php http://crossrole.com/viewtopic.php?f=2&t=7308 http://obiettivoitalia.forumup.it/viewtopic.php?p=48695&mforum=obiettivoitalia#48695 http://rsosh7.su/includes/guest/index.php?showforum=21 https://sp-23.ru/forum/viewtopic.php?f=15&t=10538 http
https://thewheelmen.com/forum/index.php?topic=12615.new#new http://rus-uae.ru/includes/guest/index.php?showforum=7 http://ratemymlmcoach.com/forum/ http://wwwforum.buyang.cz/viewtopic.php?f=5&t=36541 http://fabrizio.forumup.it/viewtopic.php?p=24378&mforum=fabrizio#24378 http://forum.healthcafe350.com/viewtopic.php?pid=106547#p106547 http://eyra.forumup.it/viewtopic.php?p=57278&mforum=eyra#57278 http://kookgek.be/forum/viewtopic.php?f=3&t=132388 http://mplampla.com/2012-10-20-17-3
http://adosinformatica.com/index.php/component/kunena/bienvenido-mat/52629-pravastatin-vs-simvastatin-cost-pravastatin-cost-pravachol#53034 http://www.millennium2.net/forum01/showthread.php?tid=41841&pid=583090#pid583090 http://www.noznos.com/cardizem-gel-cheapest-prices-cardizem-cd-12-383090-1-1.html http://www.fck3bbs.com/thread-12736-1-1.html http://www.emmasupports.de/Forum/viewtopic.php?f=5&t=1774487 http://diariodeforexonline.com.br/forum/viewtopic.php?f=9&t=1239056 http://arci
http://flycomp.ru/forum/viewtopic.php?f=3&t=18057 http://www.divorcesupportformen.com/index.php?topic=664499.new#new http://forum.ogameautomizer.com/index.php/topic,342428.new.html#new http://forum.jerkoffallday.net/viewtopic.php?f=8&t=15845 http://t-gradcom.perm.ru/forum/index.php?topic=2575108.new#new https://xn--80aqfgkangfhg.xn--p1ai/ https://n3rd0rama.tk/showthread.php?tid=33708 http://edrp-samp.com/index.php?topic=10286.new#new https://premiumuk.net/thread-4199.html http://www.domv
http://www.pinkpowerrangersracing.co.uk/showthread.php?tid=40590&pid=310325#pid310325 http://forum.lineage.zone/thread-216899.html http://bolaku.org/threads/cost-of-azulfidine-how-much-does-azulfidine-cost.21074/ http://luca.forumup.it/viewtopic.php?p=133821&mforum=luca#133821 http://miniboatmadness.com/wiki/User:46.161.9.63 http://ratemymlmcoach.com/forum/ http://durvenproeven.be/zytholoog/viewtopic.php?f=4&t=88763 http://www.planetajedrez.com.ve/foro/viewtopic.php?f=6&t=332154
http://www.thetunnel-art.co.uk/forum/viewtopic.php?f=2&t=2747367 https://csgocheats.org/showthread.php?tid=195488&pid=662237#pid662237 http://www.fvr-cra.jp/signup.php http://www.chuangfulm.cn/forum.php?mod=viewthread&tid=2253&pid=30005&page=656&extra=#pid30005 http://trollgh.com/forums/showthread.php?tid=124389 http://asmrpg.com.br/topico/cheap-rumalaya-forte/ http://radiolafamilia.net/radioforo/viewtopic.php?f=6&t=164370 http://britishcar.forumup.it/viewtopic.php?p=
http://completegaming.com/viewtopic.php?f=5&t=446927 http://snapzphevolution.000webhostapp.com/index.php?threads/revatio-generic-cost-revatio-over-the-counter.2212/ http://7780.tk/forum.php?mod=viewthread&tid=1006&extra= http://domnabakovke.ru/viewtopic.php?f=3&t=6107 https://onionbit.com/forum/viewtopic.php?f=8&t=746012 http://www.nkbusiness.co.th/forum/index.php?topic=309670.new#new http://kadrowka.org/forum/viewtopic.php?f=3&t=28421&p=82463#p82463 http://womaneater
http://sexualdysfunction.ru/css/guest/index.php?showforum=23 http://forum.teamtfem.se/viewtopic.php?f=12&t=173433 https://www.kakirman.com/smf/index.php?topic=35264.new#new http://www.lw78.info/bbs/forum.php?mod=viewthread&tid=112215&extra= http://se-union.com/forum.php?mod=viewthread&tid=40465&pid=282707&page=477&extra=page%3D1#pid282707 http://forum.houstonwehavespinach.com/index.php?topic=8962.new#new http://chip.mexanicka.ru/index.php?topic=61289.new#new http://ma
http://cychacks.com/index.php?topic=11811.new#new https://www.kiastingerowners.com/showthread.php?tid=272053&pid=545837#pid545837 https://sosyal.panzehir.tv/showthread.php?tid=119509&pid=509951#pid509951 http://www.forum.pkmkembangjanggut.com/showthread.php?tid=76&pid=139119#pid139119 http://5.189.132.43/vb/showthread.php?p=12123#post12123 http://www.grauewelt.com/igor/forum/viewtopic.php?pid=522310#p522310 http://otrohet.se/viewtopic.php?f=9&t=483693&sid=1c0fe65e8df31d4f992c
http://odin.web-dortmund.de/forum/viewtopic.php?f=13&t=1049020 http://sexualdysfunction.ru/css/guest/index.php?showforum=12 http://xfs.aero/forums/viewtopic.php?f=3&t=147837 http://nauc.info/forums/viewtopic.php?f=4&t=7623264 https://askacommunist.org/viewtopic.php?f=8&t=992376 http://pas.edu.vn/index.php/forum/3-h-p-thu-gop-y/254815-cartia-xt-cost-buy-cartia-aspirin#254815 http://clangotebrasil.com.br/forum/viewtopic.php?f=2&t=4933 http://meteo-evolution-france.com/forum/vie
https://forum.fitforecommerce.eu/viewtopic.php?f=6&t=8461 http://avalge.it/phpbb/viewtopic.php?f=3&t=141617 http://www.goodarts.org/bbs/viewthread.php?tid=343669&extra= http://mta.advanced-gaming.org/lspd/index.php/topic,1157091.new.html#new http://uro.lv/f/index.php?/topic/459679-voltaren-order-mobilat-mobilat-salbe-order-voltaren/ http://aalamer.com/vb/showthread.php?p=752457#post752457 http://forum.fifahd.com/index.php?topic=14279.new#new http://hunterzonerp.260mb.net/index.php?to
http://icongress-paar.ru/bitrix/rk.php?goto=http://ninjaslots.tk http://ewritersplace.com/linkout/o.php?out=http://insbestusa.com http://apspos.com/__media__/js/netsoltrademark.php?d=slotswall.ru http://www.clubfs.com.au/coffs/news/articles/clubambassador.aspx?Returnurl=https://slotsgood.ru http://www.mailprocessing.com/__media__/js/netsoltrademark.php?d=insurtopusa.com http://www.lanebryantonline.com/__media__/js/netsoltrademark.php?d=ninjaslots.ga http://hycalog.com/__media__/js/netsoltrademar
http://www.fortworthconventioncenter.org/__media__/js/netsoltrademark.php?d=ninjaslots.ml http://ghanahomes.com/__media__/js/netsoltrademark.php?d=omegaslots.ru http://illongconstruction.org/__media__/js/netsoltrademark.php?d=slotstrust.ru http://umwow.com/__media__/js/netsoltrademark.php?d=slotsgood.ru http://ms1.caps.ntct.edu.tw/school/netlink/hits.php?id=107&url=http://slotsplus.ru http://www.accountmanagerpreview.com/__media__/js/netsoltrademark.php?d=ninjaslots.ga http://coresurfshop.co
http://www.easyliftspring.com/__media__/js/netsoltrademark.php?d=slotsgood.ru http://onlynewsgroups.net/__media__/js/netsoltrademark.php?d=insuranceusaauto.com http://www.broadwayplaza.net/__media__/js/netsoltrademark.php?d=ninjaslots.ml http://zerodown-calc.com/__media__/js/netsoltrademark.php?d=insurtopusa.com http://www.cawatchablewildlife.org/listagencysites.php?a=National+Audubon+Society&u=http://ninjaslots.ga http://www.puttingittogether.com/__media__/js/netsoltrademark.php?d=slotsplus
http://www.redstoneagency.net/__media__/js/netsoltrademark.php?d=instrustus.com https://webhosting-wmd.hr/index?URL=http://ninjaslots.ga http://craftsetc.de/__media__/js/netsoltrademark.php?d=ninjaslots.tk http://ebogosse.de/__media__/js/netsoltrademark.php?d=slotstrust.ru https://opentuner.is/redirect.php?url=http://insuranceusaauto.com http://msiinsurancegroup.biz/__media__/js/netsoltrademark.php?d=insurtopusa.com http://www.delawarefederallitigation.net/__media__/js/netsoltrademark.php?d=insu