Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function game
- clc
- % Ask for command.
- display('To create profile: "new". To reset: "rst". To quit: "quit".')
- user=input('Username (or command): ', 's');
- % If they didn't quit...
- if strcmpi(user,'quit')==false
- A=0;
- % Reset:
- if strcmpi(user,'rst')==true
- gamestr=struct();
- gamestr.best=999999999999999;
- save('game.mat', 'gamestr');
- A=1;
- end
- load('game.mat');
- % New user
- if strcmpi(user,'new')==true
- user=input('New username: ', 's');
- pass=input('New password: ', 's');
- gamestr.(user).games=0;
- gamestr.(user).guesses=0;
- gamestr.(user).best=999999;
- gamestr.(user).password=pass;
- A=1;
- save('game.mat', 'gamestr');
- end
- % Login system
- if A==0
- if isfield(gamestr, user)==false
- display('Error.')
- else
- pass=input('Password: ', 's');
- % Pass is good, then game.
- if pass==gamestr.(user).password
- display('Your goal is to guess a number 1-1000.')
- answer=round(1000*rand(1,1));
- guesses=0;
- guess=0;
- while guess~=answer
- guess=input('Your guess: ');
- guesses=guesses+1;
- if guess>answer
- display('Your guess is too high.')
- elseif guess<answer
- display('Your guess is too low.')
- end
- end
- display('Congradulations.')
- display('You took this many guesses:')
- display(guesses)
- % Save results to structure
- gamestr.(user).games=gamestr.(user).games+1;
- gamestr.(user).guesses=gamestr.(user).guesses+guesses;
- display('Your average guesses per game is: ')
- display(gamestr.(user).guesses./gamestr.(user).games)
- % Check for high scores.
- if guesses < gamestr.(user).best
- display('NEW PERSONAL HIGH SCORE!')
- gamestr.(user).best=guesses;
- end
- if guesses < gamestr.best
- display('NEW GLOBAL HIGH SCORE!')
- gamestr.best=guesses;
- end
- % Save all data
- save('game.mat', 'gamestr');
- end
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement