3d10db930a38c14348a67f2218aa429f5ffe6480
upo-rust
Repo per gli esercizi di Rust
Qui si possono trovare tutti gil esercizi assegnati.
In particolare ogni esercizio ha una parte di codice per la soluzione e una parte di test.
Per far partire tutti i test bisogna usare il comando:
$ cargo test --workspace
Questo perchè alcuni test sono in packages interni e quindi non verrebbero fatti partire nel caso in cui si faccia solamente cargo test.
Nel caso si voglia far partire l'unico possibile eseguibile (ovvero il gioco dell'esercizio 3) utilizzare il comando:
$ cargo run -p rogue_lib
Esercizi
- Esercizio 1: Anagrammi
In questo esercizio bisogna controllare se due stringhe sono l'una l'anagramma dell'altra. - Esercizio 2 Razionali
In questo esercizio bisogna creare un'implementazione dei numeri razionali. - Esercizio 3: Rogue
In questo esercizio è stato implementato un gioco ispirato a Rogue. Ho seguito il testo dell'esercizio ma ho anche implementato altre cose utilizzando anche dei Trait in modo da poter controllare i comportamenti delle Entità, l'interfaccia del giocatore ed eventuali effetti che si possono trovare in giro nel piano.
Il gioco si trova in un package interno ed ha un main semplice che lo esegue.
Il lib espone le varie interfacce e implementa una versione del gioco tramite console. - Esercizio 4: Razionali con Trait
In questo esercizio sono stati implementati i trait Add e Mul per i razionali (Esercizio 2) - Esercizio 5: Banca
In questo esercizio è stata implementato un account di una banca con possibili stati in cui si può trovare - Esercizio 6: Lista (con Copy)
In questo esercizio è stata implementata una lista doppiamente linkata che accetta un elemento che implementa il trait Copy - Esercizio 7: Lista Generica
In questo esercizio è stata implementata una lista doppiamente linkata che accetta un qualsiasi elemento - Esercizio 8: Folds
In questo esercizio sono state implementate due funzioni che permettono la conta di quante vocali si trovano in una frase - Esercizio 9: Asta
In questo esercizio è stata implementata un'asta in cui il banditore, data una lista di prodotti e dati dei partecipanti (ognuno avente il proprio thread), coordina la vendita dei prodotti tramite invio di messaggi.
Description
Progetto di Rust per la parte di manipolazione dei dati del corso Sistemi Distribuiti e BigData
https://www.dir.uniupo.it/course/view.php?id=18778
Languages
Rust
100%