Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Aiuto script per linux

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    8

    Aiuto script per linux

    Per prima cosa ciao a tutti, sono nuovo del forum e anche nel mondo di linux. Scrivo qui per chiedere aiuto a voi eruditi su uno script che devo fare come compito per scuola.
    Vi riporto il testo dell'esercizio: Realizzare lo script "briscola", che implementa il gioco della briscola tra l'utenete e il pc, visualizzando la mano del giocatore, la briscola e il numero di carte rimaste nel mazzo, la carta giocata dall'utene e dal pc. Alla fine della partita vengono visualizzati i punteggi dei giocatori e viene dichiarato il vincitore. Il pc gioca in maniera "intelligente". Implementare l'opzione -l che, seguita da un numero fra 1 e 3, stabilisce la difficoltà del gioco. Senza interfaccia grafica per fortuna...

    Ora...alle lezioni abbiamo fatto un po di comandi basilari come ls ,more ,find, grep, read, echo...e abbiamo visto i vari tipi di costrutti comuni piu o meno a tutti i linguaggi (if, while, case, for). Il fatto è che quello che ho studiato sulle dispense mi aiuta un po poco a risolvere un problema del genere che (per me) risulta difficilissimo...

    Qualcuno puo darmi dei consigli su come strutturare il programma o come suddividerlo o qualsiasi altra cosa anche banale che però io probabilmente ignoro?

    Grazie in anticipo a quelli che risponderanno, Nicola.

  2. #2
    Utente di HTML.it L'avatar di sylvaticus
    Registrato dal
    Aug 2004
    Messaggi
    1,207
    Per prima cosa ciao a tutti, sono nuovo del forum e anche nel mondo di linux. Scrivo qui per chiedere aiuto a voi eruditi su uno script che devo fare come compito per scuola.
    Vi riporto il testo dell'esercizio: Realizzare lo script "briscola", che implementa il gioco della briscola tra l'utenete e il pc, visualizzando la mano del giocatore, la briscola e il numero di carte rimaste nel mazzo, la carta giocata dall'utene e dal pc. Alla fine della partita vengono visualizzati i punteggi dei giocatori e viene dichiarato il vincitore. Il pc gioca in maniera "intelligente". Implementare l'opzione -l che, seguita da un numero fra 1 e 3, stabilisce la difficoltà del gioco. Senza interfaccia grafica per fortuna...
    Come è possibile visualizzare " la mano del giocatore, la briscola e il numero di carte rimaste nel mazzo, la carta giocata dall'utene e dal pc." senza interfaccia grafica ????
    <<contro i gas serra, spero più nelle nuove tecnologie pulite che nelle conferenze internazionali>>
    -- Steven Chu

  3. #3
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    Originariamente inviato da sylvaticus
    Come è possibile visualizzare " la mano del giocatore, la briscola e il numero di carte rimaste nel mazzo, la carta giocata dall'utene e dal pc." senza interfaccia grafica ????
    OVVIAMENTE per mano, si intende una "mano" di briscola... una giocata insomma,
    niente a che vedere con la "nostra" mano...

    @molinas:
    - se i comandi che hai studiato non li hai capiti, questo compito non lo superi
    - studiati i singoli comandi e fatti degli esercizi semplici
    - combina qualche comando per fare cose piu' complesse
    - suddividi il compito assegnato in "blocchi", stadi, idee, concetti e
    lavora singolarmente su di essi.
    - scrivi e riscrivi codice fino alla nausea, quando avrai qualche dubbio,
    posta il codice e se ne discuteremo.

    ps: ma a scuola, vi hanno insegnato a giocare a briscola?
    se non sai le regole, cerca in rete.

    [edit]
    mai sentito parlare di ascii-art?

    una bella mano...
    codice:
                   ____
                .'`  __/_______
            ---'  -'`    ______)
                         _______)
                        _______)
            -----..___________)
    slack? smack!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    8
    ok, grazie delle risposte, ho suddiviso un po il problema, e alla fine mi sembra abbastanza fattibile.
    La difficoltà più grossa che ho trovato finora riguarda il modo di pescare le carte. Come faccio a pescare dal mazzo una carta a caso? Ho visto che c'è una funzione RANDOM che da un numero casuale (compreso fra 0 e 32767) e pensavo di usare quella per estrarre a caso un elemento dell array dei semi e uno dell'array dei numeri (esempio il 3° elemento dell array dei semi è picche, il 4° elemento dell'array dei numeri è il cinque, risultato --> pesco il 5 di picche).

    Il problema è che non so come arrotondare o ridimensionare il numero generato, in modo che soddisfi i miei scopi. Qualcuno che mi può aiutare?

  5. #5
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    Immaginando di avere un mazzo di 40 carte:
    codice:
    $ echo "$RANDOM % 40" | bc 
    1
    $ echo "$RANDOM % 40" | bc 
    28
    $ echo "$RANDOM % 40" | bc 
    7
    $ echo "$RANDOM % 40" | bc 
    35
    $ echo "$RANDOM % 40" | bc 
    22
    $ echo "$RANDOM % 40" | bc 
    11
    ciao
    slack? smack!

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    8
    grazie cacao, ma se io il valore generato lo volessi salvare in una variabile invece di stamparlo e basta?
    ho provato a farlo ma da errore...

  7. #7
    Ma leggersi almeno i rudimenti (vedi "assegnare il valore ad una variabile") di bash prima di porre domande no, eh?
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    8
    me li sono letti i rudimenti, e infatti chiedo scusa...in effetti stavo sbagliado parentesi....mi spiace se posto di frequente, è che sono un po in paranoia perchè ho poco tempo per finire. pardon

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    8
    Questa è la funzione pescacarte, che quando chiamata ritorna una stringa col nome della carta (es. "asso di cuori").

    codice:
    #!/bin/bash
    function pesca() {
    semi="cuori quadri fiori picche"
    numeri="asso 2 3 4 5 6 7 jack donna re"
    seme=($semi)
    numero=($numeri)
    ind_seme=$[$RANDOM % 4]
    ind_num=$[$RANDOM % 10]
    carta="${numero[$ind_num]} di ${seme[$ind_seme]}"
    echo "Hai pescato $carta"
    }
    pesca
    exit 0
    Adesso però dovrei trovare il modo di evitare di "pescare doppioni", perchè di ogni carta ce n'è una sola nel mazzo e in una partita non si possono pescare due assi di cuori. Avevo pensato di fare un array delle carte pescate (inizialmente vuoto) e un ciclo dentro la funzione pesca() che controlla se la carta appena pescata è già dentro l 'array. Se la carta è presente nell'array ne pesca un altra, sennò pesca quella e l'aggiunge all array.
    La cosa brutta è che è una mattinata che ci provo ma non c'è verso di ruiscire a farlo andare...qualcuno di voi ha qualche idea su come farlo?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.