{"id":30135,"date":"2023-01-13T11:06:27","date_gmt":"2023-01-13T05:36:27","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/"},"modified":"2023-01-13T11:06:27","modified_gmt":"2023-01-13T05:36:27","slug":"solved-how-do-i-spawn-more-enemies-sdl2-c","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/","title":{"rendered":"[Solved] How do I spawn more enemies? SDL2\/C++"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-28616030\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"28616030\" data-parentid=\"28615674\" data-score=\"0\" data-position-on-page=\"2\" data-highest-scored=\"0\" data-question-has-accepted-highest-score=\"0\" itemprop=\"suggestedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>I suggest placing your enemies into a <code>std::vector<\/code> or <code>std::queue<\/code>.  Each enemy should have it&#8217;s own coordinates (for easy placement).  <\/p>\n<p>In your update or refresh loop, iterator over the enemy list, processing them as necessary.  <\/p>\n<p>In another timing loop or thread, you can add enemies to the container.  This should not affect the code of the rest of the program; except that there may be more data (enemies) in the vector to process.<\/p>\n<p>Example:  <\/p>\n<pre><code>class Enemy_Base\n{\n  public:  \n    virtual void draw(\/* drawing surface *\/);\n};\n\nclass Troll : public Enemy\n{\n  \/\/...\n};\n\nstd::vector&lt;Enemy_Base *&gt; enemy_container;\n\n\/\/...\nstd::vector&lt;Enemy_Base *&gt;::iterator enemy_iter;\n\n\/\/ Rendering loop\nfor (enemy_iter = enemy_container.begin();\n     enemy_iter != enemy_container.end();\n     ++enemy_iter)\n{\n  (*enemy_iter)-&gt;draw(\/*..*\/);\n}\n\n\/\/ Create a new enemy\nTroll * p_troll = new Troll;\nenemy_container.push_back(p_troll);\n<\/code><\/pre>\n<p>This example is to demonstrate concepts.  The real implementation should use smart pointers, and factory design pattern.  <\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">3<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How do I spawn more enemies? SDL2\/C++ <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] I suggest placing your enemies into a std::vector or std::queue. Each enemy should have it&#8217;s own coordinates (for easy placement). In your update or refresh loop, iterator over the enemy list, processing them as necessary. In another timing loop or thread, you can add enemies to the container. This should not affect the code &#8230; <a title=\"[Solved] How do I spawn more enemies? SDL2\/C++\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/\" aria-label=\"More on [Solved] How do I spawn more enemies? SDL2\/C++\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,2594],"class_list":["post-30135","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-sdl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] How do I spawn more enemies? SDL2\/C++ - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How do I spawn more enemies? SDL2\/C++ - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] I suggest placing your enemies into a std::vector or std::queue. Each enemy should have it&#8217;s own coordinates (for easy placement). In your update or refresh loop, iterator over the enemy list, processing them as necessary. In another timing loop or thread, you can add enemies to the container. This should not affect the code ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-13T05:36:27+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How do I spawn more enemies? SDL2\/C++\",\"datePublished\":\"2023-01-13T05:36:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/\"},\"wordCount\":110,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"sdl\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/\",\"name\":\"[Solved] How do I spawn more enemies? SDL2\/C++ - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2023-01-13T05:36:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How do I spawn more enemies? SDL2\/C++\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How do I spawn more enemies? SDL2\/C++ - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How do I spawn more enemies? SDL2\/C++ - JassWeb","og_description":"[ad_1] I suggest placing your enemies into a std::vector or std::queue. Each enemy should have it&#8217;s own coordinates (for easy placement). In your update or refresh loop, iterator over the enemy list, processing them as necessary. In another timing loop or thread, you can add enemies to the container. This should not affect the code ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/","og_site_name":"JassWeb","article_published_time":"2023-01-13T05:36:27+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How do I spawn more enemies? SDL2\/C++","datePublished":"2023-01-13T05:36:27+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/"},"wordCount":110,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","sdl"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/","url":"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/","name":"[Solved] How do I spawn more enemies? SDL2\/C++ - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2023-01-13T05:36:27+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-do-i-spawn-more-enemies-sdl2-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How do I spawn more enemies? SDL2\/C++"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/30135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=30135"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/30135\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=30135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=30135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=30135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}