শেয়ার বাজার জ্ঞানের গতি সম্পর্কে সমস্ত। পূর্ববর্তী চ্যালেঞ্জগুলির বিপরীতে, বর্তমান শেয়ারের দাম এলোমেলো নয়: এটি গেমটি খেলে যারা নির্ধারিত হয়। আপনি যদি অন্য কারও আগে স্বল্পমূল্যের স্টক সনাক্ত করতে পারেন তবে আপনি নিজেরাই অর্থোপার্জন প্রোগ্রাম লিখেছেন।
দাম লোককে কতটা শেয়ারে লেনদেন করছে তা বোঝায় , যখন মানটি গেমের শেষে স্টকটির মূল্য নির্ধারণ করে।
প্রতিটি খেলোয়াড় প্রতিটি স্টকের 1000 এবং 0 আপেক্ষিক নেট মূল্য দিয়ে শুরু হয়। প্রতিটি স্টকের একটি গোপনীয় মান থাকে এবং গেমের শেষে আপনার স্কোর হয়(stockValue for each ownedStock) + netWorth
। আপনার নেট মূল্য নেতিবাচক হতে পারে। এন-প্লেয়ারের একটি খেলায় এন স্টক রয়েছে।
পদক্ষেপ:
গেমটি নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করে:
- আপনাকে একক স্টকের গোপনীয় মূল্য দেওয়া হবে।
- আপনি $ Z এর জন্য এক্স অফ ওয়াই স্টক বিক্রয় করার জন্য অফার দিচ্ছেন
- সমস্ত খেলোয়াড় অফার দেওয়া হয়, এবং প্রত্যেকে গ্রহণ করার জন্য একটি চয়ন করতে পারেন
- সমস্ত খেলোয়াড়কে গৃহীত অফার সম্পর্কে অবহিত করা হয়
- ২ য় ধাপে ফিরে যান
প্রতিটি পদক্ষেপ নীচে বিস্তারিতভাবে দেওয়া হল:
void secretValue(int stockType, int value)
:- আপনি যে মানটি শিখেন তা অন্য কোনও খেলোয়াড়ের কাছে প্রকাশিত হয় না।
- মান
0
এবং এর মধ্যে1000
- নিম্ন মানগুলি উচ্চ মানগুলির চেয়ে বেশি হওয়ার মতো হয় (স্কোয়ার্ড ইউনিফর্ম বিতরণ)
Offer makeOffer(List<Stock> currentStock)
- আপনি
null
কোনও অফার দিতে ফিরে যেতে পারেন ।
- আপনি
Offer acceptOffer(List<Offer> offers)
- আপনি
null
তাদের কোনওটিই গ্রহণ করতে ফিরে যেতে পারেন - যদি কোনও উপলভ্য উপলব্ধ না থাকে তবে এই কল করা হবে না
- আপনি যদি গ্রহণ করেন তবে আপনার নেট মূল্য worth জেড (নেতিবাচক যেতে পারে) নেমে যাবে এবং এক্স ওয়াই স্টক পাবেন। বিপরীতে বিক্রেতার সাথে ঘটে।
- আপনি যদি কোনও প্রস্তাব স্বীকার করেন, এক্সচেঞ্জটি তত্ক্ষণাত্ ঘটবে এবং অফারটি সরানো হবে যাতে অতিরিক্ত খেলোয়াড়রা এটি গ্রহণ করতে পারে না।
- আপনি
void acceptedOffers(List<Offer> offers)
- আপনার গৃহীত অফারগুলিও অন্তর্ভুক্ত করে
স্ট্যাটিক ভেরিয়েবল বা ফাইলগুলিতে লেখার অনুমতি নেই। (গেম থেকে খেলায় কোনও অবিরাম ডেটা নেই) অ-গুরুতর প্রতিযোগী অনুমোদিত।
ইন্টারফেস:
public final class Stock {
public Stock(int stockType, int amount);
public int getType();
public int getAmount();
public Stock minus(Stock other);
public Stock plus(Stock other);
public Stock minus(int amount);
public Stock plus(int amount);
public Stock setAmount(int amount);
}
public class Offer {
public Offer(Stock offer, int payment);
public Stock getOffer();
public int getPayment();
}
জাভাবিহীন জমা:
- সব কল দুই লাইন দ্বারা গঠিত: প্রথম লাইন ফাংশন বলা হচ্ছে:
SecretValue
,MakeOffer
,AcceptOffer
,AcceptedOffers
,SetRandom
, এবং দ্বিতীয় প্রকৃত তথ্য ধারণকারী লাইন। - স্টক একটি বিন্যাসিত হয়
:
বিভেদক:stockType:stockAmount
। - অফারগুলি একটি
@
ডিলিমিটার দিয়ে ফর্ম্যাট করা হয় :offer@price
- তালিকাগুলি একটি
;
ডিলিমিটার দিয়ে ফর্ম্যাট করা হয় SecretValue
একটি:
ডিলিমিটার দিয়ে ফর্ম্যাট করা হয় :stockType:value
RandomSeed
আপনার জমাটি নির্বিচারক করার জন্য ব্যবহৃত হয়। যদি আপনার জমাটি এলোমেলোভাবে ব্যবহার করে, দয়া করে বীজ হিসাবে পাস করা পূর্ণসংখ্যা মানটি ব্যবহার করুন!- সমস্ত ফাংশন কল একটি প্রতিক্রিয়া প্রয়োজন । যদি প্রতিক্রিয়া হয়
null
বাvoid
, একটি খালি স্ট্রিং ফিরে return - দয়া করে এমন একটি অন্তর্ভুক্ত করুন
command.txt
যা আপনার জমা দেওয়ার জন্য কমান্ড লাইনের যুক্তি দেয় gives
স্কোরিং
1000 টার্ন সমন্বিত গেমগুলি একাধিকবার চালানো হবে। খেলোয়াড়দের ইএলও সিস্টেম অনুযায়ী স্কোর করা হবে এবং একই জাতীয় দক্ষতার স্তরের খেলোয়াড়দের সাথে জুড়ি দেওয়া হবে। খেলোয়াড় সর্বোচ্চ চূড়ান্ত ইএলও স্কোর জিতল! (আমি সিস্টেমটি পরিবর্তন করেছি যাতে প্রতিটি গেম, প্রতিটি খেলোয়াড়ের জুটির জন্য ইএলও স্কোর আপডেট হয়)
নিয়ামক, একটি autodownloader অন্তর্ভুক্ত তাই একটি হেডার সঙ্গে আপনার জমা শুরু করুন: Name, Language
। আপনার জমাটি যদি জাভাতে না থাকে তবে প্রতিটি কোড ব্লক ফাইলের নাম দিয়ে শুরু করা উচিত। (কমান্ড ফাইল বাদ দিয়ে, যা আপনার পোস্টের প্রথম ব্লক হওয়া উচিত)
চলমান
এই প্রকল্পটি চালানোর জন্য 2 টি উপায় রয়েছে:
উত্স কোডটি ডাউনলোড করুন, সংকলন করুন এবং চালান। আপনি গিথুবটিতে উত্সটি পেতে পারেন । চালান
git clone --recursive https://github.com/nathanmerrill/StockExchange.git
জার এক্সিকিউটেবল ডাউনলোড করুন। জমাগুলি
/submissions
ফোল্ডারে আপনার বর্তমান কার্যনির্বাহী ডিরেক্টরিতে রাখা উচিত । আপনি কেবল জার , কেবল জমা দেওয়া বা উভয়ই ডাউনলোড করতে পারেন
মধ্যে পাস run
প্রকল্পের (ডিফল্ট বিকল্প) চালান, বা মধ্যে পাস করতে download
এতদূর এই প্রশ্নের থেকে সব জমা ডাউনলোড করুন।
স্কোরবোর্ড
1. 1308.1220497323848 Cheater
2. 1242.0333695640356 InsideTrader
3. 1158.3662658295411 UncleScrooge
4. 1113.8344000358493 BlackMarket
5. 1051.8370015258993 DartMonkey
6. 983.0545446731494 WarGamer
7. 939.457423938002 Spammer
8. 901.4372529538886 DumbBot
9. 859.0519326039137 ShutUpAndTakeMyMoney
10. 852.9448222849587 VincentKasuga
11. 718.2112067329083 Profiteer