Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. -module(main).
  2. -compile(export_all).
  3. -import(c, [flush/0]).
  4.  
  5. %Otwarta raczka
  6. f(w, Pid, X, Y, A, B, 0)->
  7. get_data(Pid, X, Y + 1, A, B, 0);
  8.  
  9. f(a, Pid, X, Y, A, B, 0)->
  10. get_data(Pid, X -1, Y, A, B, 0);
  11. f(s, Pid, X, Y, A, B, 0)->
  12. get_data(Pid, X, Y - 1, A, B, 0);
  13.  
  14. f(d, Pid, X, Y, A, B, 0)->
  15. get_data(Pid, X+1, Y, A, B, 0);
  16.  
  17. % Zamknieta raczka
  18. f(w, Pid, X, Y, X, Y, 1)->
  19. get_data(Pid, X, Y + 1, X, Y + 1, 1);
  20. f(a, Pid, X, Y, X, Y, 1)->
  21. get_data(Pid, X-1, Y, X - 1, Y, 1);
  22. f(s, Pid, X, Y, X, Y, 1)->
  23. get_data(Pid, X, Y - 1, X, Y - 1, 1);
  24. f(d, Pid, X, Y, X, Y, 1)->
  25. get_data(Pid, X + 1, Y, X + 1, Y, 1);
  26.  
  27. % Zamykanie raczki
  28.  
  29. f(r, Pid, X, Y, A, B, 0)->
  30. get_data(Pid, X, Y, A, B, 1);
  31.  
  32. f(r, Pid, X, Y, A, B, 1)->
  33. get_data(Pid, X, Y, A, B, 0).
  34.  
  35. get_data(Pid, X, Y, A, B, Raczka) ->
  36. io:format("Rączka: ~p", [Raczka]),
  37. io:format("Dzwig ma pozycje (x, y):\n"),
  38. io:format("(~p, ~p)\n",[X, Y]),
  39. io:format("Pudelko ma pozycje (x, y):\n"),
  40. io:format("(~p, ~p)\n", [A, B]),
  41. Pid ! {xd, Pid, X, Y, A, B, ok},
  42. {Res, Term} = io:read("Enter command(wasd + r): "),
  43. f(Term, Pid, X, Y, A, B, Raczka).
  44.  
  45.  
  46. b() ->
  47. receive
  48. {_, Pid, X, Y, A, B, ok} ->
  49. io:format("wyswietlamy\n");
  50. {_, Pid, X, Y, A, B, error} ->
  51. flush()
  52. end,
  53. b().
  54.  
  55. start() ->
  56. My_pid = spawn(main, b, []),
  57. get_data(My_pid, 2, 2, 4, 4, 0).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement