![]() |
[IN] programmeren met jcreator
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 |
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. |
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. |
Alle tijden zijn GMT +1. Het is nu 16:01. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.