গল্ফ ওয়ার্স পর্ব প্রথম: দ্য ফ্যান্টম লাইটসবার্স


12

গল্ফ যুদ্ধ এখানে চিত্র বর্ণনা লিখুন পটভূমি থিম

ভূমিকা

ওবি-ওয়ান কেনোবি, কুই-গন জিন এবং দারথ মোল লড়াইয়ের কথা! যাইহোক, তারা সবাই তাদের নিজ নিজ লাইটারবার্স আনতে ভুলে গেছে। কোনও প্রোগ্রাম বা ফাংশন লিখুন যা স্ট্রিংটিকে Jediইনপুট হিসাবে দেওয়া হয় , এই * এর মতো চিত্র তৈরি করে :

এখানে চিত্র বর্ণনা লিখুন

এবং স্ট্রিং দেওয়া Sith, এর অনুরূপ একটি চিত্র উত্পন্ন করে:

এখানে চিত্র বর্ণনা লিখুন

চিত্র বিশেষ উল্লেখ

  • 3 টি লাইটাসবারসের যে কোনওটি ( শেষে গোলাকার প্রান্ত সহ সাদা ব্লেড (লালটির জন্য দুটি গোল প্রান্ত) এবং হ্যান্ডেল সহ ) 900px দীর্ঘ (এটি ব্লেডের চারপাশে রঙের গ্রেডিয়েন্ট অন্তর্ভুক্ত করে না )।

  • ফলকটির শেষে গোলাকার প্রান্তটি ব্লেডের প্রস্থের সমান ব্যাসের সাথে একটি অর্ধবৃত্ত (এটির একটি পৃথক অনুমান, স্পষ্টতই)।

  • ফলকটি (অর্থাত লাইটসাবেরের সাদা অংশ) 12px প্রশস্ত।

  • সবুজ এবং নীল লাইটাসবার্সগুলি 200 পিএক্স (সবুজ ব্লেডের মাঝের রেখা থেকে নীল ব্লেডের মাঝের লাইনে) দ্বারা পৃথক করা হয়।

  • সমস্ত 3 লাইটাসবারের জন্য হ্যান্ডেলটি 180px (মোট দৈর্ঘ্যের 1/5)। সুতরাং বৃত্তাকার প্রান্তটি সহ ব্লেডটি নিজেই নীল এবং সবুজ লাইট্যাশবারগুলির জন্য 720px দীর্ঘ এবং লাল লাইটাসবারের দুটি ব্লেডের জন্য 360px দীর্ঘ।

  • নীল এবং সবুজ লাইটাসবারগুলির জন্য হ্যান্ডেলটি লাইটাসবারের নীচে রয়েছে। লাল লাইটাসবারের জন্য হ্যান্ডেলটি অনুভূমিক কেন্দ্রিক।

  • সাদা ব্লেডের প্রান্ত থেকে সম্পূর্ণ সাদা রঙের গ্রেডিয়েন্টের দৈর্ঘ্য ব্লেডের প্রস্থের 1.5 * প্রস্থ (যেমন লিনিয়ার অংশগুলির জন্য 18px)।

  • সবুজ গ্রেডিয়েন্টটি আরজিবি (0,255,0) থেকে সাদা (255,255,255) এ যায় (বা এটি কার্যকর করা আপনার পক্ষে সহজ যদি স্বচ্ছ হয়)। লাল গ্রেডিয়েন্টটি (255,0,0) থেকে সাদা হয়ে যায় এবং নীল গ্রেডিয়েন্টটি (0,0,255) থেকে সাদা হয়।

  • হ্যান্ডেলের রঙটি আরজিবি (128,128,128)।

  • লাইটাসবার (গুলি) এর চারপাশে সাদা খালি জায়গা থাকতে পারে।

ইনপুট

হয় Sithবা Jediএকটি স্ট্রিং হিসাবে। আপনি এই স্ট্রিংটি একটি ফাংশন আর্গুমেন্ট, কমান্ড লাইন প্যারামিটার বা অনুরূপ কিছু হিসাবে, STDIN থেকে নিতে পারেন। আপনি ধরে নিতে পারেন যে ইনপুটটি সর্বদা হুবহু Sithবা Jediঅন্য কিছু হবে না।

আউটপুট

আপনাকে অবশ্যই ইনপুট স্ট্রিংয়ের সাথে সম্পর্কিত চিত্রযুক্ত একটি চিত্র ফাইল তৈরি করতে হবে। আপনি যতটা ইমেজ ফর্ম্যাট চান তা চয়ন করতে আপনি তুলনামূলক মুক্ত, যতক্ষণ না এটি সত্য রঙের চিত্র is

স্কোরিং

এটি , তাই বাইটের মধ্যে সংক্ষিপ্ত উত্তর ins বল আপনার সাথে হতে পারে।


* এই পোস্টে চিত্রগুলি পুরো আকার প্রদর্শিত হয় না।


আমাদের কি ফাইলটি ডিস্কে সংরক্ষণ করতে হবে বা আমরা এটি স্টডআউটে লিখতে পারি? এটি কেবল পর্দায় প্রদর্শন করার কী আছে?
মার্টিন এেন্ডার

এটিকে স্ক্রিনে প্রদর্শন করা ভাল, যদি আপনার ভাষা এটি সহজেই করতে পারে। Stdout- এ ফাইল লেখার নিজেই হিসাবে, আমি অনুমান এটা যা যা করতে পারেন ফাইলগুলি সংরক্ষণ ডিস্কে সহজে ভাষার জন্য গ্রহণযোগ্য এর
Fatalize

আমি মনে করি শিরোনাম হওয়া উচিত গলফ যুদ্ধ আমি পর্ব: ফ্যান্টম ডেনিস
mbomb007

উত্তর:


9

এইচটিএমএল / সিএসএস সমাধান, 765 740 541 বাইট

<style>[id]:not(:target){display:none}table{width:900px;height:12px;border-spacing:0}td:last-child{border-radius:0 12px 12px 0}#Sith td:first-child{border-radius:12px 0 0 12px}#Sith td{box-shadow:0 0 18px red}#Jedi{transform:rotate(-90deg);margin:350px 0}#Jedi td{box-shadow:0 0 18px #0f0}*+table{margin:200px 0 0 0}#Jedi *+table td{box-shadow:0 0 18px #00f}td:nth-last-child(2){background:#888;width:180px;box-shadow:none!important}</style><div id=Jedi><table><td><td></table><table><td><td></table></div><table id=Sith><td><td><td></table>

সাম্প্রতিক রিফ্যাক্টরটি জাভাস্ক্রিপ্টের পরিবর্তে :targetসিউডো-ক্লাস ব্যবহার করে <form>

যে কোনও ইনপুট প্রবেশ করতে, এটি URL হিসাবে শেষের দিকে লক্ষ্য হিসাবে যুক্ত করুন, test.html#Jediবাtest.html#Sith

এখানে এটি আবার সাদা স্থান এবং কয়েকটি মন্তব্য সহ:

<style>
  /* hide all but the anchored lightsaber (only lightsabers have ids) */
  [id]:not(:target) { display:none }

  /* tables are lightsabers */
  table { width:900px; height:12px; border-spacing:0 }
  td:last-child { border-radius:0 12px 12px 0 } /* curved tip */
  #Sith td:first-child { border-radius:12px 0 0 12px } /* 2nd curved tip */
  #Sith td { box-shadow:0 0 18px red }
  #Jedi { transform:rotate(-90deg); margin:350px 0 }
  #Jedi td { box-shadow:0 0 18px #0f0 } /* green */
  * + table { margin:200px 0 0 0 } /* gap between Jedi lightsabers */
  #Jedi * + table td { box-shadow:0 0 18px #00f } /* blue */
  /* handles */
  td:nth-last-child(2) {
    background:#888; width:180px; box-shadow:none!important }
</style>
<div id=Jedi>
  <table><td><td></table>
  <table><td><td></table>
</div>
<table id=Sith><td><td><td></table>

লাইটাসাবারগুলি <table>অংশ হিসাবে প্রতি কক্ষ (ব্লেড / হ্যান্ডেল) সহ এমন উপাদান রয়েছে যা তাদের idবৈশিষ্ট্যগুলির মাধ্যমে অদৃশ্য থাকে ।

ব্লেডগুলি সিএসএস box-shadowএর সাথে রঙিন করা হয় এবং জেডি লাইট্যাবার্সের ক transform: rotate()

ছবি বা এটি ঘটেনি (সম্পূর্ণ রেজোলসের জন্য ক্লিক করুন):

যদি আপনি সিএসএসে যোগ td{background:#fff}body{background:#000}করেন তবে আপনি একটি দুর্দান্ত গা dark় দর্শন পাবেন।

ফায়ারফক্স এবং ক্রোমে পরীক্ষিত (লিনাক্সে)। মনে রাখবেন যে এটি মোটেই মানদণ্ডের সাথে সামঞ্জস্যপূর্ণ নয়, কারণ যতটা সম্ভব আকারটি সঙ্কুচিত করার চেষ্টা করছিলাম।

জন্য ধন্যবাদ @manatwork করতে border-spacingএবং :target


1
আপনি :targetছদ্ম-শ্রেণীর ব্যবহার করতে পারেন , যেমন আমি একবার করেছিলামপেস্টবিন.ডব্লিউটিএক্সবিএসএসআর 3 তারপরে এটিকে ফাইল: ///tmp/test.html# জেডি এবং ফাইল: ///tmp/test.html#Sith (বিটিডাব্লু, এইচটিএমএল cellspacing=0→ সিএসএস border-spacing:0পরিবর্তনগুলি আমার ফায়ারফক্সে সঠিক দেখাচ্ছে তবে অ্যাক্সেস করে না অন্যান্য ব্রাউজারগুলিতে চেক করা আছে))
manatwork

ধন্যবাদ, আমি border-spacingদীর্ঘদিন ধরে খুঁজছিলাম (এটি 25 টি অক্ষর সংরক্ষণ করেছে)। :targetপরামর্শ সরানো অনুমোদিত <form>এবং সমস্ত জাতীয়। আমার শেষ সম্পাদনায়, আমি এটিকে আরও আরও শক্ত করে দিয়েছি। এটি ছোট এখনো যদি আমরা ব্যবহার পেতে পারে <hr>সঙ্গে float:leftএবং clear:left, কিন্তু এই কাজ করা উচিত।
অ্যাডাম কাটজ

1
আপনি যদি প্রথম এবং শেষ style>[id]:not(:target){display:none}table{width:900px;height:12px;border-spacing:0}td:last-child{border-radius:0 12px 12px 0}#Sith td:first-child{border-radius:12px 0 0 12px}#Sith td{box-shadow:0 0 18px red}#Jedi{transform:rotate(-90deg);margin:350px 0}#Jedi td{box-shadow:0 0 18px #0f0}*+table{margin:200px 0 0 0}#Jedi *+table td{box-shadow:0 0 18px #00f}td:nth-last-child(2){background:#888;width:180px;box-shadow:none!important}</style><div id=Jedi><table><td><td></table><table><td><td></table></div><table id=Sith><td><td><td></table
অক্ষরটি

1
@ রুডলফএল. জেলেনেক এটি পাগল! আমি সেই শর্টকাটের সাথে স্বাচ্ছন্দ্যবোধ করি না এবং কয়টি ব্রাউজার এটি সমর্থন করে তা সম্পর্কে আমি নিশ্চিত নই, তবে এটি যদি সর্বজনীনভাবে সমর্থিত হয় তবে আপনি কোডের বাইরে দুটি অক্ষর সাফল্যের সাথে কেটে দিয়েছেন। অন্যান্য টুইটগুলি রয়েছে যা একইভাবে এখানে এবং সেখানে কেবলমাত্র ন্যূনতম ভিজ্যুয়াল অবক্ষয়ের সাথে কিছুটা শেভ করবে, যার ক্ষেত্রে <hr>এস এর জায়গায় ব্যবহারের সম্ভাবনা রয়েছে <table>
অ্যাডাম কাটজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.