Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    6

    Piccolo esercizio in Javascript

    Salve a tutti, recentemente mi è stato chiesto di realizzare il gioco del sette e mezzo con il codice javascript, in particolare devo utilizzare un bottone per l'inizio del gioco e poi caricare le immagini della prima carta e poi chiedere all'utente se vuole procedere con il gioco e nel caso decida di proseguire bisogna fornirgli un'altra carta casuale da mostrare a video, d'altra parte bisogna preparare il banco con valori casuali e dire tramite la funzione alert se l'utente ha vinto.
    Vi chiedo gentilmente di utilizzare un codice piuttosto semplice direi a livello scolastico.
    grazie mille e buon anno a tutti!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ciao e benvenuto, grazie degli auguri.
    - Di norma qui sul forum non si eseguono esercizi scolastici, ma si aiuta l'alunno a capire js.
    - Quello che comunque chiedi è complesso e scrivere il gioco richiederebbe tempo e buona conoscenza di js dubito che qualcuno si prenderà l'impegno.

    Se vuoi proseguire inizia con postare del codice e indicare dove ti blocchi, altrimenti... tanti auguri anche a te
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    6
    Ah ok scusate,
    in pratica il mio problema è come far apparire a video l'immagine di una carta casuale tra 40 ( che ho salvato nella cartella in cui tengo il programma stesso ) ho provato con lo switch ma non funziona quindi sono bloccato.

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Ciao Snillor,
    posta il codice che hai fatto altrimenti non riceverai aiuto
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    6
    function gioco(){
    var mazzo, c,
    c = math.floor(40*math.random())
    switch(c){
    case 1: document.getelementbyid("carta").src+="1cuori.jpg" break; case 2: document.getelementbyid("carta").src+="2cuori.jpg" break; case 3: document.getelementbyid("carta").src+="3cuori.jpg" break; case 4: document.getelementbyid("carta").src+="4cuori.jpg" break; case 5: document.getelementbyid("carta").src+="5cuori.jpg" break; case 6: document.getelementbyid("carta").src+="6cuori.jpg" break; case 7: document.getelementbyid("carta").src+="7cuori.jpg" break; case 8: document.getelementbyid("carta").src+="11cuori.jpg " break; case 9: document.getelementbyid("carta").src+="12cuori.jpg " break; case 10: document.getelementbyid("carta").src+="13cuori.jpg " break; case 11: document.getelementbyid("carta").src+="1fiori.jpg" break; case 12: document.getelementbyid("carta").src+="2fiori.jpg" break; case 13: document.getelementbyid("carta").src+="3fiori.jpg" break; case 14: document.getelementbyid("carta").src+="4fiori.jpg" break; case 15: document.getelementbyid("carta").src+="5fiori.jpg" break; case 16: document.getelementbyid("carta").src+="6fiori.jpg" break; case 17: document.getelementbyid("carta").src+="7fiori.jpg" break; case 18: document.getelementbyid("carta").src+="11fiori.jpg " break; case 19: document.getelementbyid("carta").src+="12fiori.jpg " break; case 20: document.getelementbyid("carta").src+="13fiori.jpg " break; case 21: document.getelementbyid("carta").src+="1picche.jpg " break; case 22: document.getelementbyid("carta").src+="2picche.jpg " break; case 23: document.getelementbyid("carta").src+="3picche.jpg " break; case 24: document.getelementbyid("carta").src+="4picche.jpg " break; case 25: document.getelementbyid("carta").src+="5picche.jpg " break; case 26: document.getelementbyid("carta").src+="6picche.jpg " break; case 27: document.getelementbyid("carta").src+="7picche.jpg " break; case 28: document.getelementbyid("carta").src+="11picche.jp g" break; case 29: document.getelementbyid("carta").src+="12picche.jp g" break; case 30: document.getelementbyid("carta").src+="13picche.jp g" break; case 31: document.getelementbyid("carta").src+="1quadri.jpg " break; case 32: document.getelementbyid("carta").src+="2quadri.jpg " break; case 33: document.getelementbyid("carta").src+="3quadri.jpg " break; case 34: document.getelementbyid("carta").src+="4quadri.jpg " break; case 35: document.getelementbyid("carta").src+="5quadri.jpg " break; case 36: document.getelementbyid("carta").src+="6quadri.jpg " break; case 37: document.getelementbyid("carta").src+="7quadri.jpg " break; case 38: document.getelementbyid("carta").src+="11quadri.jp g" break; case 39: document.getelementbyid("carta").src+="12quadri.jp g" break; case 40: document.getelementbyid("carta").src+="13quadri.jp g" break; }
    Ultima modifica di snillor; 07-01-2017 a 15:08

  6. #6
    La cosa è abbastanza complicata per un neofita. Per cui o non dovresti esserlo (cioè non hai studiato finora) o l'esercizio è sovradimensionato.

    A giudicare dal codice che hai postato spero la prima.

    Il Javascript è un linguaggio case sensitive. Per cui le maiuscole sono importanti.

    document.getElementById
    Math.random()
    Math.floor()

    Questo per far quanto meno girare il tuo codice.
    Poi c'è un errore logico fondamentale:
    Math.floor(40*Math.random()) dà come risultato un range tra 0 e 39, non tra 1 e 40.

    Per il resto ti suggerisco di:
    - creare un ambiente che funzioni (una pagina html dove fai girare il javascript. Quindi aprire la pagina col browser e aprire la console sviluppatori per leggere di eventuali errori). Utilizza Chrome o Firefox per lo sviluppo.
    - creare 40 oggetti che rappresentano le 40 carte ({valore:4, seme:"picche"})
    - - l'immagine puoi pure ricavartela con img = carta.valore+carta.seme+".jpg", quindi non è necessario esplicarlo.
    - creare un array (mazzo) che rappresenta il mazzo di carte che ha i 40 oggetti che rappresentano le carte. Per cui quando ti serve una carta la prendi da lì con mazzo.pop() dopo un bel mazzo.shuffle().
    - definire le posizioni del gioco come un contenitore di carte (array che contengono le carte). In questo modo le carte o sono nel mazzo o sono in una posizione.
    - creare le funzioni che ti servono. inizia(), daiCartaAGiocatore(), giocatoreSta(), calcolaPunteggioGiocatore()
    -- inizia() svuota una eventuale partita precedente (cancelli tutti i valori) e crea le carte nel mazzo
    -- daiCartaAGiocatore() fa un mazzo.pop() e la carta la mette nella posizione del giocatore (posizioneGiocatore.push(mazzo.pop()))
    -- giocatoreSta() --> per ora vuota. Chiamerà la funzione che farà giocare il banco
    -- calcolaPunteggioGiocatore() -> fa la somma dei valori delle carte contenute nell'array posizioneGiocatore e ne restituisce il valore


    comincia con questo, poi si vede il resto.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    6
    Grazie mille,
    avevo dimenticato la maiuscole e anche il più uno alla fine del math random
    comunque come ambiente uso Komodo, ho studiato tanto per informatica, ma diciamo che questo è un esercizio avanzato, più difficile di quelli abituali quindi faccio più fatica.
    Un'altra domanda per dare al banco un valore casuale tra 0 e 7.5 che funzione devo usare?
    Ultima modifica di snillor; 07-01-2017 a 16:30

  8. #8
    Quote Originariamente inviata da snillor Visualizza il messaggio
    Un'altra domanda per dare al banco un valore casuale tra 0 e 7.5 che funzione devo usare?
    A step di 0.5 immagino.

    Math.floor(Math.random()*16)/2

    Ma perché includi lo zero?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    6
    il mio dubbio è da che numero lo devo far partire forse 0.5?
    nel caso come sopra nel codice che uso la get per le immagini devo fare qualche richiamo nel body ? ( ne ho fatto uno tra due tag <p></p> ), perchè il mio programma funziona mi dice chi ha vinto, il punteggio ecc... ma non mi mostra le immagini
    comunque per intanto grazie

  10. #10
    a far bene dovresti far giocare il banco come il giocatore. Quindi dargli le carte del mazzo e calcolarle (se vuoi che non sballi mai, basta che "ignori" la carta che lo fa sballare). Perché se, poniamo per assurdo, il giocatore faccia 6 con tutte e 12 le figure disponibili, il banco non potrà mai fare un punteggio non pieno (perché le figure sono finite). Escluso questo caso particolare, sarebbe più corretto da un punto di vista probabilistico.

    Per visualizzare le immagini dovresti creare l'elemento immagine e appenderlo a un qualche elemento DOM.

    codice:
    var img = new Image();
    img.src = "path/immagini/13picche.jpg";
    document.getElementById("posizione_giocatore").appendChild(img);

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.