Critterworld Controller

(1973852)

Szudzialowo

Zleceniodawca:
Kamil ******** dlaczego ukryte?
Telefon:
********
dlaczego ukryte?
Wspomnij, że zlecenie znalazłeś na Oferia.pl
Możliwość pracy zdalnej: NIE
Do końca: 0 dni
Budżet zlecenia: 200 zł/całość
Liczba zgłoszeń: 4

Zlecę wykonanie zlecenia, opis moze wygladac na dlugi ale nie wszystko co jest tutaj napisane musi zostac zaimplementowane . Zainteresow anych prosze o kontakt i wycene ponizej. 

 

 

Task 

The full Critterworld environment is available to you, as open source, at https://github.com/DaveVoorhis/Critterworld 

There are three possible ways to get onto your own machine, in order from best to less-best. Pick one:

Fork it to your own account on GitHub. Use the “Clone or download” button on GitHub to copy the forked Git project URL, then in Visual Studio use the Clone option under the Team Explorer to clone the forked project.

Use the “Clone or download” button on GitHub to copy the Git project URL, then in Visual Studio use the Clone option under the Team Explorer to clone the project.

Use the “Clone or download” button on GitHub to download a .ZIP file of the project, then unzip the .zip file locally. Note that you must unzip the .zip file. If you try to open the project without unzipping the .zip file, it will not load correctly.

Open the project by double-clicking on the Critterworld2.sln file. Then right-click on the Critterworld subproject and select “Set as StartUp Project”.

The Critterworld subproject contains all the logic required to handle the bodies of Critters, but to run, Critters also need controllers, which are the “brains” of Critters. Without a critter controller or “brain”, a Critter can’t even be loaded. 

Critterworld dynamically loads critter controllers for Critters from dynamic link libraries (DLLs) at run-time and creates a Critter for each controller that it successfully loads.

Your job is to write at least three new Critter controllers. You can base your Critter controllers on the two examples provided in the DemonstrationCritters subproject, but to achieve a minimum pass grade you must:

Create at least three distinct Critter controllers, the requirements for which are described in detail below and in a separate document linked below. You may provide more than three if you wish, but during the competition a maximum of five Critters will be loaded and run. Your controllers may (and almost certainly should) share functionality, but they must also be defined distinctly and make Critters controlled by them behave differently from each other.

Your Critter controllers must be different from the provided examples. Submitting a Critter controller that is merely a copy of one of the demo controllers – even if variable and method names are changed – will result in a failing grade for this assignment.

A Critter controlled by at least one of your Critter controllers must appear in the Critterworld arena (the area on the upper left with the dark background) and identify a name and correct author in the relevant lists. This means you must implement the required classes correctly and the project must emit a .DLL containing your Critter controllers.

Ensure that every Critter controller you create is configurable via its own pop-up form with options specific to each type of Critter controller, and support saving and loading configuration settings to a file, as illustrated by one of the example Critter controllers. If the pop-up form and/or save/load facilities are absent from one or more Critter controllers, your grade will be capped at 40%.

Detailed specifications of the mechanisms you need to provide are provided in the “Specification of Requirements for a Critter Controller” document, which is available at https://github.com/DaveVoorhis/CritterWorld/tree/master/Documentation or can be found (in both .docx and .pdf format) in the Documentation folder of the Critterworld project. You must read this document; you won’t be able to successfully pass this assignment without reading it carefully. Note that warnings about “serious penalties” must be heeded or you will receive a failing grade!

The aim is for your Critter to reach a specified destination (shown with a green circle) or “escape hatch” before the level timer (shown as a green progress bar at the bottom of the Critterworld window) runs out, whilst earning points by collecting prizes which are shown as gift packages in the Critterworld arena. If the timer runs out before your Critter passes through the escape hatch for a given level, you will lose all the points earned on that level, but you keep the points earned on earlier levels.

The top of the leader board will be occupied by the Critter controllers that earn the most points. On early levels, it’s easy to gobble up points and head for the exit. On later levels, it’s not so easy.

To receive more than just a pass grade, Critters controlled by Critter controllers written by you must:

Interact in the arena in a manner defined by you. That doesn’t mean you necessarily have to earn maximum points and head for the escape hatch. Full marks may be awarded for Critters that do interesting things but perhaps don’t earn many (or any) points.

Go significantly beyond what the provided demonstration code does, whilst reducing code duplication and improving readability and usability using sound object-oriented approaches.

Be “good citizens” of their environment, and not unreasonably consume resources, either CPU or memory.

Note that the provided demonstration Critter controller code is, quite simply, awful. It’s not object-oriented, it’s full of duplication, and it doesn’t work very well. You can use it as a starting point, but you must significantly improve on it.

Therefore, to achieve an excellent grade on this assignment, you should:

Create an object-oriented framework for developing Critter controllers that fully hides the currently-exposed complexity (and fragility) of sending and receiving string-based messages to and from the Critter body.

Make appropriate use of object-oriented facilities like inheritance and/or composition to reduce duplication; encapsulation to manage complexity; and perhaps polymorphism to define dynamic instance behaviour, but only if appropriate.

Make a serious attempt to create reliable, robust and interesting (which could include, but isn’t limited to, competitive) Critter controllers using the above framework and embodying the above principles.

The behaviour exhibited by your Critter controllers is entirely up to you. We are looking for imagination and thought applied to how your Critter behaves, and there are marks available for interesting attempts using clever techniques.

However, all behaviour must be implemented via, and only via, the APIs provided in the CritterController subproject. “Hacking” the Critterworld environment – for example by overwriting files or using .NET reflection – is expressly forbidden no matter how cute or clever and any such attempts, either handed-in via the submission point or run in the final-week competition, will result in a failing grade for the submitter.

Propozycje wykonania zlecenia
Proponuję
cenę zł brutto
za
Data zgłoszenia Cena brutto
stworzymy.pl

stworzymy.pl

2019.04.25: STARTUJEMY ZA: 3 > 2 > 1 START! Właśnie ruszamy z kolejną kampanią mailingową dla naszego klienta. Teraz Twoja szansa na rozwój Firmy. Aktywne bazy | Brak spamu | Darmowy szablon eMail | Firmy i indywidualni | DO DYSPOZYCJI AŻ 11 mln rekordów. Dotrzyj do swoich klientów i bądź o krok przed konkurencją! Posiadamy Pakiety dopasowane do Twoich potrzeb: Wysyłka maili do 150 tys użytkowników - 129zł | 700 tys - 320 zł. SPRAWDŹ NA: www.stworzymy.pl/kampanie-mailingowe Dodatkowo oferujemy Tworzenie: stron internetowych, projektów graficznych,materiałów reklamowych. KONTAKT: Tel: 881-708-942 Email: oferia@stworzymy.pl

do
negocjacji

GreyDarkIcoInfo
winCreation Paweł Krzaczkowski

winCreation Paweł Krzaczkowski

2019.04.24: Dzień dobry, jesteśmy chętni do podjęcia się realizacji tego projektu. Zajmujemy się tworzeniem aplikacji webowych, mobilnych. Integrujemy hurtownie z e-commerce, piszemy w 9 językach programowania. Wystawiamy faktury FV. Zapraszamy do kontaktu mailowego w celu omówienia szczegółów i przedstawieniu terminów: biuro@wincreation.pl “__” Tel: +48 791 956 737 “__” Portfolio: https://wincreation.pl
791 956 737

900 zł

za całość

GreyDarkIcoInfo
Easy Solution

Easy Solution

2019.04.22: Dzień dobry, chętnie wykonamy dla Państwa opisane zlecenie. Zachęcamy do zapoznania się z naszą ofertą na www.easy-solution.pl. Proszę o szczegóły zlecenia na email: kontakt@easy-solution.pl, to najszybsza forma kontaktu z nami. Pozdrawiam!

do
negocjacji

GreyDarkIcoInfo
Data zgłoszenia Cena brutto
WEB-ERROR Rafał Wójcik

WEB-ERROR Rafał Wójcik

2019.04.23: Witam serdecznie. Chętnie podejmiemy się realizacji powyższego zlecenia. A chcąc dokonać dla Pana precyzyjnej wyceny proszę o istotne szczegóły dotyczące zlecenia i kontakt: rwojcik@web-error.pl Łączę pozdrowienia Rafał Wójcik Tel.: 600 323 822 www.WEB-ERROR.pl

do
negocjacji

GreyDarkIcoInfo