Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / School & Studie / Huiswerkvragen: Exacte vakken
Reageren
 
Topictools Zoek in deze topic
Oud 19-05-2008, 17:13
willemhoofd
willemhoofd is offline
Hallo allemaal,

ik ben sinds kort begonnen met het programmeren van een spel, omdat ik dit voor informatica moet doen. Ik had besloten Yahtzee te maken. Zoals jullie allemaal wel weten gebruik je bij Yahtzee 5 dobbelstenen. Die dobbelstenen heb ik al geprogrammeerd in mijn spel. Telkens als ik de applet opnieuw open zijn de dobbelstenen anders. Nu wil ik de dobbelstenen aan een knop verbinden, zodat de dobbelstenen gaan dobbelen als ik op de knop druk.
Ik heb al het een en het ander geprobeert maar ik ben er nog niet echt aan uit gekomen. In ons java boekje stond ook iets over Math.random, maar niet over random image. In het boekje was de dobbelsteen in letters uitgedrukt maar ik heb in plaats daarvan plaatjes.
Nu is mijn vraag hoe ik het beste die vijf dobbelstenen aan een knop kan verbinden. Ik weet wel dat ik dan bij actionPerformed moet zijn, maar niet echt wat ik daarvoor erbij moet zetten.
Ik hoop dat jullie mij verder kunnen helpen op basis van deze informatie. Als het niet duidelijk is, post ik wel een stuk van de code.
Alvast heel erg bedankt
Met citaat reageren
Advertentie
Oud 19-05-2008, 18:17
ILUsion
Avatar van ILUsion
ILUsion is offline
Je moet met die math.random inderaad gaan werken. Wat je daaruit moet halen is een getal en afhankelijk van dat getal, verander je het plaatje van de dobbelsteen. Iets als een random image zal je niet zo snel vinden, omdat dat echt simpel via zo'n getal gedaan kan worden.

Laat me even het voorbeeld geven (ik heb nu niet gewerkt met Java's random-generator), maar laat ons veronderstellen dat je daarvan een getal van 1 tot en met 6 terugkrijgt, dan verander je het plaatje naar dezelfde waarde. Meestal ga je echter een waarde X tussen 0 en 1 terugkrijgen; hiervan kan je een getal tussen 1 en 6 van maken door Y = math.floor(6*X + 1); te doen op dat getal. Hiermee krijg je een getal tussen 1 en 7 terug, waarvan de 7 zo goed als nooit zal voorvallen. Voor de zekerheid kan je daarna toch nog een check inbouwen: if (Y == 7) Y = 6;

Als het vooral over het rollen van de dobbelstenen gaat (dus visueel iets doen), het rollen zelf animeren daar heb je wat tekentalent voor nodig, maar heel wat dobbelprogramma's laten gewoon een tijdje de dobbelstenen willekeurige waarden weergeven. Hier moet je wel opletten dat je bv. 50ms wacht tussen de verschillende waardes van eenzelfde dobbelsteen.
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Oud 19-05-2008, 19:47
willemhoofd
willemhoofd is offline
Allereerst bedankt voor je reactie
Ik heb met random image de plaatjes al en hij veranderd ook al steeds. Alleen daarvoor moet ik telkens het applet opnieuw openen. Het dobbelen wilde ik anders aanpakken, dat wilde ik met een timer doen. Daar ben ik overgens ook al een eind mee. Dus de dobbelsteen is al geprogrammeert en hij werkt ook. Het enige wat er nog moet gebeuren is dat als ik op een knop druk dat hij dan veranderd, wat je dus normaal met het opnieuw openen van het applet zou doen.
Ik heb voor die knop al iets gemaakt: if(e.getSource() == gooi) { daaronder moet dus iets komen waardoor de dobbelstenen veranderen als je er op klikt.
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 11:40.