momo3141

deadKat

Jan 5th, 2023
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let map = gets().split('');
  2. let moves = gets().split(' ').map(Number);
  3. let jumps = 0;
  4. let souls = 0;
  5. let food = 0;
  6. let deadLocks = 0 ;
  7. let mapLength = map.length;
  8. let currentPosition = 0;
  9. let deadCat = false;
  10. if(map[0] === 'x'){
  11.     deadCat = true
  12.     console.log(`You are deadlocked, you greedy kitty!\nJumps before deadlock: ${jumps}`);
  13. } else if (map[0] === '@'){
  14.     souls++
  15.     map[0] = '_'
  16. } else if (map[0] === '*'){
  17.     food++
  18.     map[0] = '_'
  19. }
  20. outerLoop:
  21. for ( pos of moves){
  22.  
  23.     currentPosition += pos
  24.  
  25.     if(deadCat){
  26.         break outerLoop;
  27.     }
  28.     if (currentPosition < 0) {
  29.         currentPosition = mapLength - Math.abs(currentPosition % mapLength);
  30.     }
  31.     if (currentPosition >= mapLength) {
  32.         currentPosition = currentPosition % mapLength;
  33.     }
  34.    /**  if(pos >= mapLength){
  35.         pos = pos%mapLength
  36.        
  37.     }
  38.     if ((currentPosition + pos) >= 0 && (currentPosition + pos) < mapLength){
  39.  
  40.         currentPosition += pos ;
  41.         jumps++
  42.  
  43.     } else if (currentPosition + pos < 0){
  44.  
  45.         currentPosition = mapLength + currentPosition + pos
  46.         jumps++
  47.  
  48.     } else if (currentPosition + pos > mapLength){
  49.  
  50.         currentPosition =  (currentPosition + pos) - mapLength
  51.         jumps++
  52.  
  53.     }*/
  54.    
  55.     switch ( map[currentPosition] ){
  56.         case "@" :
  57.             souls ++
  58.             map[currentPosition] = '_';
  59.             jumps++
  60.             break;
  61.         case "*":
  62.             food++
  63.             map[currentPosition] = '_';
  64.             jumps++
  65.             break;
  66.         case "x":
  67.             if(currentPosition%2 === 0){
  68.                 if(souls > 0){
  69.                     souls--
  70.                     deadLocks++
  71.                     map[currentPosition] = '@'
  72.                     jumps++
  73.                 } else {
  74.                     jumps++
  75.                    console.log(`You are deadlocked, you greedy kitty!\nJumps before deadlock: ${jumps}`);
  76.                    deadCat =true;
  77.                    
  78.                    break outerLoop;
  79.                 }
  80.  
  81.  
  82.             } else {
  83.                 if(food >0){
  84.                     food--
  85.                     deadLocks++
  86.                     map[currentPosition] = '*'
  87.                     jumps++
  88.                 } else {
  89.                     jumps++
  90.                     console.log(`You are deadlocked, you greedy kitty!\nJumps before deadlock: ${jumps}`);
  91.                     deadCat = true
  92.                    
  93.                     break outerLoop;
  94.                 }
  95.  
  96.  
  97.             }
  98.  
  99.             break;
  100.         case "_":
  101.             jumps++
  102.  
  103.             break;
  104.            
  105.     }
  106.    
  107. }
  108. if(!deadCat){
  109.     console.log(`Coder souls collected: ${souls}`);
  110.     console.log(`Food collected: ${food}`);
  111.     console.log(`Deadlocks: ${deadLocks}`)
  112. }
Advertisement
Add Comment
Please, Sign In to add comment