Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Simulazione Gioco "Guardia e Ladri"

    Salve, ho un problema riguardante un progetto di programmazione in linguaggio C:

    Si vuole sviluppare un programma per la simulazione del gioco della guardia e ladro
    in un labirinto.
    La stanza è pavimentata a tasselli quadrati (caselle) ed è dotata di pareti esterne e
    interne. Si sceglie casualmente la posizione della guardia e del
    ladro . Entrambi si muovono di una casella alla volta, scelta tra una delle
    quattro caselle vicine. Il ladro deve uscire dal labirinto e viene guidato dall’utente.
    La guardia compie ad ogni turno un passo in modo tale che conoscendo la posizione
    del ladro può calcolare lo spostamento minimo per avvicinarsi a lui.
    Il ladro conosce posizione della porta e con probabilità del 50% compie ad ogni
    turno un passo nella sua direzione oppure in una posizione casuale.
    La simulazione termina quando il ladro “esce dalla porta” o che la guardia cattura il
    ladro. L’algoritmo deve visualizzare il percorso del ladro e della guardia dopo ogni
    passo, mostrando la stanza e la posizione dei due.
    L’algoritmo usa la function rand() in stdlib per generare numeri casuali: si
    ricorda che, per esempio, se numero_casuale è un int, la chiamata
    numero_casuale=rand()%11; genera un numero casuale intero (distribuzione
    uniforme) nell’insieme (0,1,2,3,4,5,6,7,8,9,10). Usare sempre la srand() per
    rendere automatica la scelta iniziale del seed della sequenza di numeri casuali.
    Effettuare almeno 5 test, variando la posizione iniziale del robot. Effettuare anche 3
    test cambiando ogni volta la disposizione delle pareti nella stanza e cercando di
    trovare disposizioni critiche delle pareti.

    Ho completato il main e la funzione di stampa a video del labirinto. Tuttavia ho difficoltà a capire come "La guardia compie ad ogni turno un passo in modo tale che conoscendo la posizione
    del ladro può calcolare lo spostamento minimo per avvicinarsi a lui" e "Il ladro conosce posizione della porta e con probabilità del 50% compie ad ogni
    turno un passo nella sua direzione oppure in una posizione casuale". Ho capito come far muovere sia il ladro che la guardia sulla pedina (void guardia_NORD, void ladro_SUD, etc), ma non riesco a sviluppare l'algoritmo in base a quei dati (probabilità etc).

    SAPRESTE AIUTARMI?? GRAZIE 1000

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Come indicato nel Regolamento interno in questo forum non si forniscono soluzioni già pronte.

    E' compito del proponente fornire la propria soluzione e, su quella, chiedere lumi, delucidazioni e suggerimenti.

    Ci sono anche altre cosucce che il regolamento indica e che dovresti conoscere prima di postare (come l'indicazione obbligatoria del linguaggio nel titolo, ecc).

    Buon proseguimento.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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 © 2024 vBulletin Solutions, Inc. All rights reserved.