Advertisement
Guest User

Untitled

a guest
Jun 19th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. function game
  2. clc
  3. % Ask for command.
  4. display('To create profile: "new". To reset: "rst". To quit: "quit".')
  5. user=input('Username (or command): ', 's');
  6. % If they didn't quit...
  7. if strcmpi(user,'quit')==false
  8. A=0;
  9. % Reset:
  10. if strcmpi(user,'rst')==true
  11. gamestr=struct();
  12. gamestr.best=999999999999999;
  13. save('game.mat', 'gamestr');
  14. A=1;
  15. end
  16. load('game.mat');
  17. % New user
  18. if strcmpi(user,'new')==true
  19. user=input('New username: ', 's');
  20. pass=input('New password: ', 's');
  21. gamestr.(user).games=0;
  22. gamestr.(user).guesses=0;
  23. gamestr.(user).best=999999;
  24. gamestr.(user).password=pass;
  25. A=1;
  26. save('game.mat', 'gamestr');
  27. end
  28. % Login system
  29. if A==0
  30. if isfield(gamestr, user)==false
  31. display('Error.')
  32. else
  33. pass=input('Password: ', 's');
  34. % Pass is good, then game.
  35. if pass==gamestr.(user).password
  36. display('Your goal is to guess a number 1-1000.')
  37. answer=round(1000*rand(1,1));
  38. guesses=0;
  39. guess=0;
  40. while guess~=answer
  41. guess=input('Your guess: ');
  42. guesses=guesses+1;
  43. if guess>answer
  44. display('Your guess is too high.')
  45. elseif guess<answer
  46. display('Your guess is too low.')
  47. end
  48. end
  49. display('Congradulations.')
  50. display('You took this many guesses:')
  51. display(guesses)
  52. % Save results to structure
  53. gamestr.(user).games=gamestr.(user).games+1;
  54. gamestr.(user).guesses=gamestr.(user).guesses+guesses;
  55. display('Your average guesses per game is: ')
  56. display(gamestr.(user).guesses./gamestr.(user).games)
  57. % Check for high scores.
  58. if guesses < gamestr.(user).best
  59. display('NEW PERSONAL HIGH SCORE!')
  60. gamestr.(user).best=guesses;
  61. end
  62. if guesses < gamestr.best
  63. display('NEW GLOBAL HIGH SCORE!')
  64. gamestr.best=guesses;
  65. end
  66. % Save all data
  67. save('game.mat', 'gamestr');
  68. end
  69. end
  70. end
  71. end
  72. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement