Coder Social home page Coder Social logo

tenderminttask's Introduction

TendermintTask

Alien​ ​invasion

Mad​ ​aliens​ ​are​ ​about​ ​to​ ​invade​ ​the​ ​earth​ ​and​ ​you​ ​are​ ​tasked​ ​with​ ​simulating​ ​the invasion. You​ ​are​ ​given​ ​a​ ​map​ ​containing​ ​the​ ​names​ ​of​ ​cities​ ​in​ ​the​ ​non-existent​ ​world​ ​of X.​ ​The​ ​map​ ​is​ ​in​ ​a​ ​file,​ ​with​ ​one​ ​city​ ​per​ ​line.​ ​The​ ​city​ ​name​ ​is​ ​first, followed​ ​by​ ​1-4​ ​directions​ ​(north,​ ​south,​ ​east,​ ​or​ ​west).​ ​Each​ ​one​ ​represents​ ​a road​ ​to​ ​another​ ​city​ ​that​ ​lies​ ​in​ ​that​ ​direction. For​ ​example: Foo​ ​north=Bar​ ​west=Baz​ ​south=Qu-ux Bar​ ​south=Foo​ ​west=Bee The​ ​city​ ​and​ ​each​ ​of​ ​the​ ​pairs​ ​are​ ​separated​ ​by​ ​a​ ​single​ ​space,​ ​and​ ​the directions​ ​are​ ​separated​ ​from​ ​their​ ​respective​ ​cities​ ​with​ ​an​ ​equals​ ​(=)​ ​sign. You​ ​should​ ​create​ ​N​ ​aliens,​ ​where​ ​N​ ​is​ ​specified​ ​as​ ​a​ ​command-line​ ​argument. These​ ​aliens​ ​start​ ​out​ ​at​ ​random​ ​places​ ​on​ ​the​ ​map,​ ​and​ ​wander​ ​around​ ​randomly, following​ ​links.​ ​Each​ ​iteration,​ ​the​ ​aliens​ ​can​ ​travel​ ​in​ ​any​ ​of​ ​the​ ​directions leading​ ​out​ ​of​ ​a​ ​city.​ ​In​ ​our​ ​example​ ​above,​ ​an​ ​alien​ ​that​ ​starts​ ​at​ ​Foo​ ​can​ ​go north​ ​to​ ​Bar,​ ​west​ ​to​ ​Baz,​ ​or​ ​south​ ​to​ ​Qu-ux. When​ ​two​ ​aliens​ ​end​ ​up​ ​in​ ​the​ ​same​ ​place,​ ​they​ ​fight,​ ​and​ ​in​ ​the​ ​process​ ​kill each​ ​other​ ​and​ ​destroy​ ​the​ ​city.​ ​When​ ​a​ ​city​ ​is​ ​destroyed,​ ​it​ ​is​ ​removed​ ​from the​ ​map,​ ​and​ ​so​ ​are​ ​any​ ​roads​ ​that​ ​lead​ ​into​ ​or​ ​out​ ​of​ ​it. In​ ​our​ ​example​ ​above,​ ​if​ ​Bar​ ​were​ ​destroyed​ ​the​ ​map​ ​would​ ​now​ ​be​ ​something like: Foo​ ​west=Baz​ ​south=Qu-ux Once​ ​a​ ​city​ ​is​ ​destroyed,​ ​aliens​ ​can​ ​no​ ​longer​ ​travel​ ​to​ ​or​ ​through​ ​it.​ ​This may​ ​lead​ ​to​ ​aliens​ ​getting​ ​"trapped". You​ ​should​ ​create​ ​a​ ​program​ ​that​ ​reads​ ​in​ ​the​ ​world​ ​map,​ ​creates​ ​N​ ​aliens,​ ​and unleashes​ ​them.​ ​The​ ​program​ ​should​ ​run​ ​until​ ​all​ ​the​ ​aliens​ ​have​ ​been destroyed,​ ​or​ ​each​ ​alien​ ​has​ ​moved​ ​at​ ​least​ ​10,000​ ​times.​ ​When​ ​two​ ​aliens fight,​ ​print​ ​out​ ​a​ ​message​ ​like:

Bar​ ​has​ ​been​ ​destroyed​ ​by​ ​alien​ ​10​ ​and​ ​alien​ ​34! (If​ ​you​ ​want​ ​to​ ​give​ ​them​ ​names,​ ​you​ ​may,​ ​but​ ​it​ ​is​ ​not​ ​required.)​ ​Once​ ​the program​ ​has​ ​finished,​ ​it​ ​should​ ​print​ ​out​ ​whatever​ ​is​ ​left​ ​of​ ​the​ ​world​ ​in​ ​the same​ ​format​ ​as​ ​the​ ​input​ ​file. Feel​ ​free​ ​to​ ​make​ ​assumptions​ ​(for​ ​example,​ ​that​ ​the​ ​city​ ​names​ ​will​ ​never contain​ ​numeric​ ​characters),​ ​but​ ​please​ ​add​ ​comments​ ​or​ ​assertions​ ​describing the​ ​assumptions​ ​you​ ​are​ ​making.

tenderminttask's People

Contributors

brianguo avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.