{"id":15068137,"url":"https://github.com/steliospapamichail/pokemondsl","last_synced_at":"2026-02-03T01:02:43.839Z","repository":{"id":218431119,"uuid":"734284636","full_name":"SteliosPapamichail/PokemonDSL","owner":"SteliosPapamichail","description":"A C++ based DSL used to program and execute pokemon battles.","archived":false,"fork":false,"pushed_at":"2024-01-21T21:44:44.000Z","size":69,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-20T06:55:54.067Z","etag":null,"topics":["cpp","cpp11","dsl","pokemon"],"latest_commit_sha":null,"homepage":"https://www.steliospapamichail.com/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SteliosPapamichail.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-21T09:59:38.000Z","updated_at":"2024-01-22T08:08:05.000Z","dependencies_parsed_at":"2024-01-21T22:58:16.686Z","dependency_job_id":"d24f2d1b-a696-4628-ad14-3d49e414d05c","html_url":"https://github.com/SteliosPapamichail/PokemonDSL","commit_stats":null,"previous_names":["steliospapamichail/pokemondsl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SteliosPapamichail/PokemonDSL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteliosPapamichail%2FPokemonDSL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteliosPapamichail%2FPokemonDSL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteliosPapamichail%2FPokemonDSL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteliosPapamichail%2FPokemonDSL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SteliosPapamichail","download_url":"https://codeload.github.com/SteliosPapamichail/PokemonDSL/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteliosPapamichail%2FPokemonDSL/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261653262,"owners_count":23190424,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","cpp11","dsl","pokemon"],"created_at":"2024-09-25T01:31:17.159Z","updated_at":"2026-02-03T01:02:43.812Z","avatar_url":"https://github.com/SteliosPapamichail.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# C++ based Pokémon DSL\nAuthor: Stelios Papamichail (csd4020) \u003cbr/\u003e\nStd version: 11\n# Compilation \u0026 Execution\n\nIn order to compile the project and create the executable, simply perform the following commands:\n1) `mkdir build`\n2) `cd build`\n3) `cmake ..`\n4) `make`\n\nTo execute the program, simply run `./PokemonLeague_4020` executable.\n\n# Language Elements\n\n## Pokemon Definitions\n\n```\nCREATE POKEMON { \n  NAME: \"name\", \n  TYPE: \"type\", \n  HP: health_points \n} \nCREATE POKEMONS [  \n  POKEMON { \n    NAME: \"name\", \n    TYPE: \"type\", \n    HP: health_points \n  }, \n  POKEMON { \n    NAME: \"name\", \n    TYPE: \"type\", \n    HP: health_points \n  }, \n  ... \n]\n```\n\nExample:\n\n```\nCREATE POKEMON { \n   NAME: \"Pikachu\", \n   TYPE: \"Electric\", \n   HP: 120 \n} \nCREATE POKEMON { \n   NAME: \"Squirtle\", \n   TYPE: \"Water\", \n   HP: 100 \n} \nCREATE POKEMONS [ \n   POKEMON{ \n    NAME: \"Ho Oh\", \n    TYPE: \"Fire\", \n    HP: 120 \n   }, \n   POKEMON{ \n    NAME: \"Bulbasaur\", \n    TYPE: \"Grass\", \n    HP: 85 \n   } \n]\n```\n\n\n## Ability Definition \n```\nCREATE ABILITY { \n NAME: \"ability_name\", \n ACTION: START  \n  ... \n END \n} \nCREATE ABILITIES [  \n ABILITY { \n  NAME: \"ability_name\", \n  ACTION: START  \n   ... \n  END \n }, \n ABILITY { \n  NAME: \"ability_name\", \n  ACTION: START  \n   ... \n  END  \n }, \n... \n]\n```\n\nExample:\n \n ```\nCREATE ABILITY { \n NAME: \"Electric_Shock\", \n ACTION: START \n  IF GET_HP(ATTACKER) \u003c 30 DO \n   HEAL ATTACKER 25 \n  ELSE  \n   HEAL ATTACKER 15 \n  END \n END \n}\n\nCREATE ABILITY { \n NAME: \"Solar_Power\", \n ACTION: START \n  POKEBALL ATTACKER ---α \n  DAMAGE DEFENDER 20 \n END \n}\n\nCREATE ABILITIES [ \n ABILITY { \n  NAME: \"Electric_Shock\", \n  ACTION: START \n   IF GET_HP (ATTACKER) \u003c 30 DO \n    HEAL ATTACKER 25 \n   ELSE  \n    HEAL ATTACKER 15 \n   END \n  END \n }, \n ABILITY { \n  NAME: \"Blaze\", \n  ACTION: START \n   DAMAGE DEFENDER 22  \n  END \n } \n]\n```\n\n  ## Teaching abilities to Pokemon \n\n```\nDEAR \"pokemon name\" LEARN [ \nABILITY_NAME(ability_name) \nABILITY_NAME(ability_name) \n... \n]\n```\n\nExample:\n\n```\nDEAR \"Pikachu\" LEARN [ \nABILITY_NAME(Electric_Shock) \nABILITY_NAME(Lightning_Rod) \n] \nDEAR \"Ho Oh\" LEARN [ \nABILITY_NAME(Solar_Power) \nABILITY_NAME(Blaze) \nABILITY_NAME(Tough_Claws) \nABILITY_NAME(Drought) \n]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteliospapamichail%2Fpokemondsl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteliospapamichail%2Fpokemondsl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteliospapamichail%2Fpokemondsl/lists"}