Dochter loopt vast in schoolopdracht

Status
Niet open voor verdere reacties.

ebril

Nieuwe gebruiker
Lid geworden
19 sep 2010
Berichten
1
Beste mensen,

Onze dochter moet voor informatica een spel (memory game) maken in Javascript. Dit doen ze in Netbeans 8.2.
In het script zit nu een ergens een fout en ze kan het niet gevonden krijgen. Nu heb ik geen programmeer kennis (kan alleen overweg met Wordpress en Joomla) en doe daarom een beroep voor haar op dit forum.

Het probleem zit hem in het feit dat als ze een kaartje "omdraait" en ze een tweede kaartje draait de kaartjes telkens weer random verplaatsen. Dit moet echter niet.
Daarnaast weet ze niet hoe ze binnen het script de kaartjes weer moet laten terug draaien als ze erop klikt.

Kan iemand naar de code kijken en wellicht zien waar de fout in zit en hoe ze verder zou moeten? Enig puntje is dat de code morgenavond om uiterlijk 23:00 uur ingeleverd moet zijn bij de leerkracht....:(

Bekijk bijlage package spel Aniek.docx

Namens dochterlief zou ze het op prijs stellen een reactie te krijgen.

Met groet,

Edwin
 
JavaScript is geen Java! ;)

Maar wat zeggen haar medestudenten?
 
Laatst bewerkt:
Ik vraag me wel af waarom dochter niet zelf post hier op het forum. Kunnen we haar ook rechtstreeks vragen stellen. Is wel zo gemakkelijk en sneller.
 
Ik moet RogerS en PHP4U gelijk geven.
Een paar bedenkingen
Jij spreekt over Java script en je dochter is blijkbaar bezig met java (applet) code.
Applets zijn niet direct meer van deze tijd lijkt mij zo, als dat nog onderwezen wordt ??? (maar wie ben ik)
In bijlage een (werkend) vbtje in java script.
(met een bijhorend plaatje)
Hopelijk is uw dochter geholpen.
Suc6
 

Bijlagen

  • test.zip
    7,3 KB · Weergaven: 54
uw code een beetje aangepast enkele haakjes en imports

nu wat ik eerst zie is dat ze een klasse tegel zou moeten maken en dus twee tegels met elkaar zou moeten vergelijken
stel matrix van 4bij 4 multidimentionale array
LET OP ALS HET VRIJ IS te kiezen van implementatie zal het mogelijks niet goed bevonden worden omdat het verouderde applet is.
maar als het de opdracht is omdat applet nu eenmaal snel te runnen is en relatief gemakkelijk te gebruiken voor beginners.
dus als de keuze vrij was dan zet je best alles om naar JAVAFX iets anders maar beter,nieuw,éénvoudiger maar opnieuw leren(als je al de tijd hebt krijgt).
Code:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package helpmij;

import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Random;

/**
 *
 * @author dont spy me
 */
public class SpelAniek extends Applet implements MouseListener{
    Random plaat;
    int[] afb;
    int[] tel; 
    int[][] beeld;
    Image[] img;
    int x;
    int y;

    public SpelAniek() throws HeadlessException {
    }
    
    public void init(){
            setBackground(Color.LIGHT_GRAY);
            setSize(725,950);
        plaat = new Random();
        afb = new int[36];
        tel = new int[18];
        img = new Image[18];
        beeld = new int[6][6];
        int randomInt;
        addMouseListener(this);
            for(int t=0; t<18; t++){
                tel[t]=0;
                afb[t]=-1; 
            }
            img[0] = getImage(getDocumentBase(),"eend1.jpg");
            img[1] = getImage(getDocumentBase(),"eend2.jpg");
            img[2] = getImage(getDocumentBase(),"eend3.jpg");
            img[3] = getImage(getDocumentBase(),"eend4.jpg");
            img[4] = getImage(getDocumentBase(),"eend5.jpg");
            img[5] = getImage(getDocumentBase(),"eend6.jpg");
            img[6] = getImage(getDocumentBase(),"eend7.jpg");
            img[7] = getImage(getDocumentBase(),"eend8.jpg");
            img[8] = getImage(getDocumentBase(),"eend9.jpg");
            img[9] = getImage(getDocumentBase(),"eend10.jpg");
            img[10] = getImage(getDocumentBase(),"eend11.jpg");
            img[11] = getImage(getDocumentBase(),"eend12.jpg");
            img[12] = getImage(getDocumentBase(),"eend13.jpg");
            img[13] = getImage(getDocumentBase(),"eend14.jpg");
            img[14] = getImage(getDocumentBase(),"eend15.jpg");
            img[15] = getImage(getDocumentBase(),"eend16.jpg");
            img[16] = getImage(getDocumentBase(),"eend17.jpg");
            img[17] = getImage(getDocumentBase(),"eend18.jpg");
          for (int t=0; t<=5; t++){
               for (int s=0; s<=5; s++){
                   beeld[t][s]=0;
               } 
            }
        int teller=0;
        while(teller<36){
            randomInt= plaat.nextInt(18);
            if(tel[randomInt]<2){
                afb[teller]=randomInt;
                tel[randomInt]++;
                teller ++;
                System.out.println(teller);
            }
        }
        System.out.println("test");
    }
    public void paint (Graphics g){
        super.paint(g);//ook deze lijn -----------------------------------------------------------------
        Graphics2D screen2d = (Graphics2D)g;
        screen2d.drawString("HOI HOI HIER BEN IK ,HELLO WORLD", 10, 10);//tot deze lijn--------------------------------------
        g.setColor(Color.DARK_GRAY);
        int tel=0;
        for (int t=0; t<=5; t++){
            for (int s=0; s<=5; s++){
                if (beeld[t][s]==0){
                    g.fillRoundRect(35+s*110, 35+t*110, 90, 90, 10, 10);
                }else {    
                    g.drawImage(img[afb[tel]], 35+s*110, 35+t*110, 90, 90, this);
                tel++;
                }
            }    
        }
    }
    @Override
    public void mouseClicked(MouseEvent e) {
       x = (int)((e.getX()-35)/110);
       y = (int)((e.getY()-35)/110);
        beeld[y][x]=1;
        repaint();
        //System.out.println(x + "  " + y );
     // if(x>xb && x<xb+90 && y>yb && y<yb+90);
    }
    @Override
    public void mousePressed(MouseEvent e) {
    }
    @Override
    public void mouseReleased(MouseEvent e) {
    }
    @Override
    public void mouseEntered(MouseEvent e) {
    }
    @Override
    public void mouseExited(MouseEvent e) {
    }
}


nu niet onmiddelijk wat je nodig hebt maar het is een aanvulling als je naar een hoger level zou gaan...(skin)

Code:
public class Hunterskin implements Skins{
	   private  Image up[] ;
	   private  int maxup;
	   private  Image down[] ;
	   private  int maxdown;
	   private  Image left[] ;
	   private  int maxleft;
	   private  Image right[] ;
	   private  int maxright;
	   private  Image defaultskin = new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunter.gif")).getImage();
	   private int imgposition;
	   public Hunterskin() {
			up =  getimgup();
			down = getimgdown();
			left = getimgleft();
			right = getimgright();
			maxup = up.length-1;//var for speed (-cal)
			maxdown = down.length-1;
			maxleft = left.length-1;
			maxright = right.length-1;
	   }
		public Image getfaceimage(Direction direction){
			if (imgposition<0||0>checkpos(direction)){
				imgposition = checkpos(direction);
			}
			switch (direction) {
			case UP:
				return up[imgposition];
			case DOWN:
				return down[imgposition];
			case LEFT:
				return left[imgposition];
			case RIGHT:
				return right[imgposition];
			default:
				return defaultskin;
			}
		}
	    private Image[] getimgup(){
	    	return new Image[] {
	    			new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterU1.gif")).getImage(),
	    	        new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterU2.gif")).getImage(),
	    	        new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterU3.gif")).getImage(),
	    	        new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterU4.gif")).getImage(),
			};
	    }
	    private Image[] getimgdown(){
	    	return new Image[] {
	    			new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterD1.gif")).getImage(),
	    	        new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterD2.gif")).getImage(),
	    	        new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterD3.gif")).getImage(),
	    	        new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterD4.gif")).getImage(),
			};
	    }
	    private Image[] getimgleft(){
	    	return new Image[] {
	    			new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterL1.gif")).getImage(),
	    	        new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterL2.gif")).getImage(),
	    	        new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterL3.gif")).getImage(),
	    	        new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterL4.gif")).getImage(),
			};
	    }
	    private Image[] getimgright(){
	    	return new Image[] {
	    			new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterR1.gif")).getImage(),
	    	        new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterR2.gif")).getImage(),
	    	        new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterR3.gif")).getImage(),
	    	        new ImageIcon(Hunterskin.class.getResource("/images/DefaultSkin/Hunterskin/hunterR4.gif")).getImage(),
			};
	    }

		public int checkpos(Direction direction) {
			switch (direction) {
			case UP:
				return maxup;
			case DOWN:
				return maxdown;
			case LEFT:
				return maxleft;
			case RIGHT:
				return maxright;
			default:
				return 0;
			}
		}
		@Override
		public void animate() {
			imgposition--;	
		}


}
 
Laatst bewerkt:
Zoveel moeite om te helpen en wat doet de topicstarter ? Niks, helemaal niks !!!!!!. :confused:
 
Dat is niet netjes maar dat krijg je natuurlijk al snel als mensen gratis hulp vragen; het is ze dan ook meestal niets waard.

Nu is het wel zo dat het uitgebreide antwoord van kenikavanbis de plank misslaat en het gaat hebben over het verbeteren van de code (JavaFX) enzo in plaats van uit te leggen hoe de opdracht moest worden opgelost; en daarom onbegrijpelijk is voor deze vader; het is mij ook niet duidelijk wat hij zou hebben veranderd, maar tegelijkertijd zie ik schoolopdrachten als niet relevant omdat uiteindelijk niemand geholpen is met de code; het is maar een opdracht die wordt weggemieterd nadat hij is ingeleverd.
 
@ Xen(versie DIKKE NUL)
Wat is uw goede voornemen voor het nieuwe jaar?
Nog meer mensen tegen de schenen schoppen???
 
Fijne feestdagen, Xen... topic gesloten.
rolleyes.gif
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan