ग्रेविटी गाइ एक ऐसा खेल है जहाँ एकमात्र उपयोगकर्ता इनपुट एकल कुंजी है जो गुरुत्वाकर्षण की दिशा को प्रवाहित करता है। एक ASCII कला स्तर को देखते हुए, यह निर्धारित करें कि क्या गुरुत्वाकर्षण पुरुष के लिए अंत तक पहुंचना संभव है।
नियम
- गुरुत्वाकर्षण की प्रारंभिक दिशा नीचे है ।
- इनपुट के पहले कॉलम में हमेशा केवल एक ही होगा
#
, जो ग्रेविटी गाय के शीर्ष पर शुरू होता है। - प्रत्येक यात्रा, वह ले जाता है उसकी पर सीधे चरित्र के लिए सही ।
- यदि उसका रास्ता अवरुद्ध है और वह एक में चला जाता है
#
, तो खिलाड़ी हार जाता है । - हिलाने के बाद, खिलाड़ी वैकल्पिक रूप से गुरुत्वाकर्षण को नीचे या ऊपर से नीचे तक स्विच कर सकता है ।
- ग्रेविटी गाइ तब अगले
#
(गुरुत्वाकर्षण की वर्तमान दिशा में) पर गिरती है । - अगर वहाँ
#
पर गिरना नहीं है और वह ग्रिड से गिर जाता है , तो खिलाड़ी हार जाता है । - यदि ग्रेविटी गाई इनपुट ग्रिड के दाईं ओर चलती है , तो खिलाड़ी जीत जाता है ।
उदाहरण
यदि यह इनपुट ग्रिड था:
###
# # #
###
ग्रेविटी गाइ x
प्रत्येक पुनरावृत्ति के बाद इन पदों पर और शुरू होगी । ^
= गुरुत्वाकर्षण को ऊपर v
स्विच करें और = गुरुत्वाकर्षण को नीचे स्विच करें।
v ^ v
-------------------------------------------------------------
### | ### | ### | ### | ### | ###
x | | x | x | x |
# # | #x # | # # | # # | # # | # # x
### # | ### # | ### # | ### # | ### # | ### #
जैसा कि आप देख सकते हैं, इन समय पर गुरुत्वाकर्षण स्विच करने से ग्रेविटी गाइ अंत तक पहुंच जाती है, इसलिए यह इनपुट एक सत्य मान लौटाएगा।
विशेष विवरण
- इनपुट ग्रिड किसी भी उपयुक्त "ग्रिड" प्रारूप में हो सकता है (रिक्त स्थान के साथ बहुस्तरीय स्ट्रिंग पैड, लाइन स्ट्रिंग्स की सरणी, वर्णों के सरणी का सरणी, आदि)।
- यदि खिलाड़ी के लिए स्तर जीतना संभव है, तो एक
truthy
मूल्य का उत्पादन करें । यदि नहीं, तो एक आउटपुट देंfalsey
। - ग्रिड की चौड़ाई और ऊंचाई
50
वर्णों पर होगी । - यह कोड-गोल्फ है , बाइट्स जीतने में सबसे छोटा कोड हो सकता है!
परीक्षण के मामलों
(प्रत्येक मामले से अलग ----------
, रिक्त स्थानों के साथ किसी भी खाली लाइनों को भी गद्देदार किया जाना चाहिए)
सच
######### ######## ###### ######
# # # # # # #
### # # # # # # # # #
# ## # # ## # # # # # ##
# # # # # # # # # #######
# # # # # ### # #
# ## # ## # # # #
# # # # # #
# #################################### #
# #
#############################################
----------
###
----------
#####
####
----------
#####
# # #
# # #
#####
----------
############
###### ######
############
----------
### ###
# #
#### # ####
# #
# #
#
----------
######
#
##
#######
### #
# #
#####
----------
#####
# #
## #
#######
###
#
######
----------
###
# # #
###
----------
### ###
### ##
# #
#####
----------
#
# #
#
# # #
#
#
#
#
----------
##### ####
# # #
# # # ## #
# #
##### #### #
#
#########
----------
###########################
# # # # # # #
# # # # # # # # # #
# # # ######### ###########
# # # # # # # #
# # # ## ##### ### #
## # # # ## ###
# ##### #### ########### #
# # # # # ## #
# # ##### ### # # # # # #
# # # # ##
###########################
असत्य
###
#
####
----------
### ###
----------
#
### ###
#### ###
#
----------
### ###
# # #
#### # # ####
# #
# #
# #
#
----------
#######
# #
## #####
### ######
# #
#######
----------
###########################
# # # # # # # #
# # # # # # # # # #
# # # ######### ###########
# # # # # # # #
# # # ## ##### ### #
## # # # ## ###
# ##### #### ########### #
# # # # # ## #
# # ##### ### # # # # # #
# # # # ##
###########################
column
प्रकार है, तो मुझे लगता है कि उपयोग करना ठीक होगा।
#
पहले कॉलम में पहली पंक्ति में होना संभव है ?