Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #[derive(Debug)]
- pub struct Deck<'a> {
- cards: Vec<&'a str>,
- }
- impl<'a> Deck<'a> {
- pub fn new(cards: Vec<&'a str>) -> Self {
- Deck { cards }
- }
- pub fn pop(&mut self) -> &str {
- self.cards.pop().unwrap()
- }
- }
- #[derive(Debug)]
- pub struct Player<'a> {
- deck: &'a mut Deck<'a>,
- }
- impl<'a> Player<'a> {
- pub fn new(deck: &'a mut Deck<'a>) -> Self {
- Player { deck }
- }
- pub fn draw(&mut self) {
- self.deck.pop();
- }
- }
- fn main() {
- let mut deck = Deck::new(vec![]);
- let mut player = Player::new(&mut deck);
- player.draw();
- println!("{:?}", player);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement