Advertisement
YellowAfterlife

15.ldm

Mar 28th, 2014
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. % Пятнашки. Цель - собрать 1..15 с пустой клеткой в нижнем правом углу.
  2. объявить поле(4)(4)(4) % поле с номерами пятнашек (4х4 4-битных ячеек)
  3. объявить стр(2), стл(2) % строка, столбец
  4. объявить симв(128) % массив символов
  5. объявить а(8), б(8), к(8) % временные переменные
  6. симв = #" 123456789ABCDEF"
  7. % Изначальное состояние поля (для наглядности):
  8. поле(0)(0)=$0; поле(0)(1)=$1; поле(0)(2)=$2; поле(0)(3)=$3;
  9. поле(1)(0)=$4; поле(1)(1)=$5; поле(1)(2)=$6; поле(1)(3)=$7;
  10. поле(2)(0)=$8; поле(2)(1)=$9; поле(2)(2)=$A; поле(2)(3)=$B;
  11. поле(3)(0)=$C; поле(3)(1)=$D; поле(3)(2)=$E; поле(3)(3)=$F;
  12. игра:
  13. % вывод:
  14. печать "\#z╓────╖"
  15. а = 0; б = 0; к = 7
  16. вывод:
  17. если а(1:0) = #00 печать "║"
  18. б(6:3) = поле(а(3:2))(а(1:0))
  19. к(6:3) = б(6:3)
  20. печать симв(к:б):"\b%c" % (код символа)
  21. если а(1:0) = #11 печать "\b║"
  22. а + 1
  23. если а < 16 идти_к вывод
  24. печать "╙────╜"
  25. % ввод
  26. ввести а:"%к" % (код клавиши)
  27. если а <> 37 идти_к ввод1 % влево
  28. если стл == 0 идти_к ввод4
  29. к = стл; стл - 1
  30. поле(стр)(к) <-> поле(стр)(стл)
  31. идти_к ввод4
  32. ввод1: если а <> 39 идти_к ввод2 % вправо
  33. если стл == 3 идти_к ввод4
  34. к = стл; стл + 1
  35. поле(стр)(к) <-> поле(стр)(стл)
  36. идти_к ввод4
  37. ввод2: если а <> 38 идти_к ввод3 % вверх
  38. если стр == 0 идти_к ввод4
  39. к = стр; стр - 1
  40. поле(к)(стл) <-> поле(стр)(стл)
  41. идти_к ввод4
  42. ввод3: если а <> 40 идти_к ввод4 % вниз
  43. если стр == 3 идти_к ввод4
  44. к = стр; стр + 1
  45. поле(к)(стл) <-> поле(стр)(стл)
  46. идти_к ввод4
  47. ввод4:
  48. а = 0; к = 1
  49. проверка:
  50. если поле(а(3:2))(а(1:0)) <> к(3:0) идти_к проверка_
  51. а++; к++
  52. если а < 16 идти_к проверка
  53. проверка_: если а < 16 идти_к игра
  54. печать "Победа!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement