Hoi mensen,
Ik zit met een probleem ik ben met een Processing project bezig wat ik met commands moet leveren.
Nu weet ik niet zeker of ik het goed gedaan heb.
Mijn vraag is kan er iemand mij helpen.
Alvast bedankt.
Ik zit met een probleem ik ben met een Processing project bezig wat ik met commands moet leveren.
Nu weet ik niet zeker of ik het goed gedaan heb.
Mijn vraag is kan er iemand mij helpen.
Alvast bedankt.
Code:
color col=color(0,56,100);//kleur van de slang + kleur van de tekst
color foodColor = color(100,0,4);//kleur van de voedsel
float speed = 100;//aanmaken van de waarde speed
int a, b;//aanmaken maken van 2 variable
int moveA = 0;//aanmaken variable beweeg
int moveB = 0;//aanmaken variable beweeg
int snakeA = 0;//aanmaken variable snake
int snakeB = 0;//aanmaken variable snake
int foodA = -1;//aanmken variable voedsel
int foodB = -1;//aanmaken variable voedsel
boolean check = true;//Een boolean is een variabele die twee waarden kan hebben, true/false
int []slangA;//aanmaken variable
int []slangB;//aanmaken variable
int snakeSize = 1;//snake maat aan het begin 1px
int windowSize = 200;//canvas afmeting
boolean gameOver = false;////Een boolean is een variabele die twee waarden kan hebben, true/false GAME OVER
PFont Font = createFont("Arial",20, true);//laat font zien Arial 20px maakt font
void setup(){//setup
size(int(windowSize), int(windowSize),P3D);//effectiver omgaan met de hardware. https://processing.org/tutorials/p3d/
speed = 100;//snelheid
speed=speed/frameRate;//het aantal frames wat per seconde wordt aangegeven
slangA = new int[30];//aanmaken variable hoeveel voedsel
slangB = new int[30];//aanmaken variable hoeveel voedsel
a = width/1;//de manier waarop de slang het voedsel op eet verhoog je dit wordt dit minder precies en gaat hij daar d pixel heen
b = height/1;//de manier waarop de slang het voedsel op eet verhoog je dit wordt dit minder precies en gaat hij daar d pixel heen
snakeA = a-5;//laat slang beginnen en maak de pixels goed dat de slang niet over de pixel gaat en dat hij hem niet kan pakken
snakeB = b-5;//laat slang beginnen en maak de pixels goed dat de slang niet over de pixel gaat en dat hij hem niet kan pakken
foodA = -1;//food gaat niet uit het scherm
foodB = -1;//food gaat niet uit het scherm
gameOver = false;//gameover
check = true;//controleer of het klopt
snakeSize =1;//maat van de slang
}
void draw(){
if(speed%8 == 0){//snelheid van de slan 1 is zeer snel 100 heel langzaam
background(120);//achtergrond kleur
runGame();//start spel
}
else {//else statements
}
speed++;//snelheid
}
void runGame(){//run game
if(gameOver== false){//game over
drawfood();//teken food
drawSnake();//teken slang
snakeMove();//beweeg slang
eetFood();//eet voedsel
checkHitSelf();//zelf aanraking
}else{
String modelString = "game over loser";//melding bij game over
textAlign (CENTER);//tekst uitgelijnd in het midden
textFont(Font);//lettertype
text(modelString,100,100,40); //grote en afstand van letters
}
}
void checkHitSelf(){//kijk of je geraakt ben
for(int i = 9; i < snakeSize; i++){
if(snakeA == slangA[i] && snakeB== slangB[i]){//komt voor en achterkant met elkaar in aanraking
gameOver = true; //gameover
}
}
}
void eetFood(){//eet voedsel
if(foodA == snakeA && foodB == snakeB){//als slang voedsel eet lang wordt groter en voedsel verdwijnt
check = true;//kijk of het waar is
snakeSize++; //lang wordt grote bij het eten
}
}
void drawfood(){
fill(foodColor);//food color
while(check){
int x = (int)random(1,windowSize/10);//scherm waar het voedsel zichtbaar is voedsel gaat niet buiten het beeld
int y = (int)random(1,windowSize/10);//scherm waar het voedsel zichtbaar is voedsel gaat niet buiten het beeld
foodA = 5+x*10;//wegzetten van voedsel
foodB = 5+y*10;//wegzetten van voedsel
for(int i = 0; i < snakeSize; i++){
if(x == slangA[i] && y == slangB[i]){
check = true;
i = snakeSize;
}else{
check = false;
}
}
}
rect(foodA-5, foodB-5, 10, 10);
}
void drawSnake(){
fill(col);
for(int i = 0; i < snakeSize; i++) {
int X = slangA[i];
int Y = slangB[i];
rect(X-5,Y-5,10,10);//slang maat in px
}
for(int i = snakeSize; i > 0; i--){
slangA[i] = slangA[i-1];
slangB[i] = slangB[i-1];
}
}
void snakeMove(){
snakeA += moveA;
snakeB += moveB;
if(snakeA > windowSize-2 || snakeA < 2||snakeB > windowSize-2||snakeB < 2){
gameOver = true;
}
slangA[0] = snakeA;
slangB[0] = snakeB;
}
void keyPressed() {//toetsen up down rechts links
if(keyCode == UP) { if(slangB[1] != slangB[0]-10){moveB = -10; moveA = 0;}}//toetsen aanroepen omhoog getallen in voor de smooth heid
if(keyCode == DOWN) { if(slangB[1] != slangB[0]+10){moveB = 10; moveA = 0;}}//toetsen aanroepen omlaag getallen in voor de smooth heid
if(keyCode == LEFT) { if(slangA[1] != slangA[0]-10){moveA = -10; moveB = 0;}}//toetsen aanroepen links getallen in voor de smooth heid
if(keyCode == RIGHT) { if(slangA[1] != slangA[0]+10){moveA = 10; moveB = 0;}}//toetsen aanroepen rechts
}