processing klikspel

Pagina: 1
Acties:
  • 547 views

Vraag


Acties:
  • 0 Henk 'm!

  • Noahxx
  • Registratie: November 2014
  • Laatst online: 30-09 16:13
Hallo Tweakers,

Ik probeer een klikspel te maken in processing.
Het spel zit als volgt in elkaar :
-Speler begint met een score van 25 en zodra hij de 0 raakt reset de game zich
-Bij een even x en y muis coördinaten krijgt de speler +1 punt
-Als een van de 2 coördinaten oneven is blijft de score gelijk
-Als zowel de x en y coördinaten oneven zijn verliest de speler 1 punt

Nu probeer ik een bonusscore toe te voegen aan het spel. De speler krijgt dus een dubbele score als hij 2 keer even klikt, bij 3 keer ontvangt hij 3 punten , bij 4 keer krijgt hij 5 punten en bij 5 keer ontvangt hij 10 punten.

Ik heb een switch methode proberen toe te passen maar begrijp die niet helemaal. Heb op youtube etc gekeken maar het word me niet echt duidelijk hoe ik dit het best kan oplossen.
|:( |:( |:(
float wrect;
float hrect;
float xpos;
float ypos;
int b;
int h;
int mouseXeven;
int mouseYeven;
int startscore = 0;


void settings() {
b=600;
h=b/2;
size(b,h);
}


void draw() {
wrect = width*0.8;
hrect = height*0.20;
xpos = width * 0.10;
ypos = height * 0.40;
mouseXeven = mouseX%2;
mouseYeven = mouseY%2;


if(startscore<=0) startscore=25;
fill(#249ABC);
rect(xpos,ypos,wrect,hrect);
fill(#E0E0DC);
textAlign(CENTER,CENTER);
textSize(hrect/3);
//adding point
text("score: "+(startscore),width*0.5,height*0.50);
}

void mouseClicked(){

//both even numbers = +1 to score
if(mouseXeven==0 && mouseYeven == 0){startscore++;
}

// both odd numbers = -1 to score
if (mouseXeven==1 && mouseYeven==1){startscore = startscore - 1;;

}
println(startscore);
}

[ Voor 7% gewijzigd door Noahxx op 16-02-2018 13:13 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • xFeverr
  • Registratie: Juni 2011
  • Laatst online: 07:37
Taal? Code-tags?

code:
1
2
switch(2 ){
case 1: ...


Dit is bijzonder. Je switcht op 2, dus de case zal altijd 2 zijn. De switch op deze manier gebruiken heeft dus geen zin. Wat wil je nu precies doen met een switch? Want volgens mij snap je niet helemaal de bedoeling ervan.

Acties:
  • 0 Henk 'm!

  • Noahxx
  • Registratie: November 2014
  • Laatst online: 30-09 16:13
dit is wat ik probeer te bereiken...
Nu probeer ik een bonusscore toe te voegen aan het spel. De speler krijgt dus een dubbele score als hij 2 keer even klikt, bij 3 keer ontvangt hij 3 punten , bij 4 keer krijgt hij 5 punten en bij 5 keer ontvangt hij 10 punten.

Het is in processing wat ik aangeef. Nee volgens mij snap ik het ook niet daarom stel ik ook de vraag.

[ Voor 5% gewijzigd door Noahxx op 16-02-2018 12:29 ]


Acties:
  • 0 Henk 'm!

Verwijderd

zoals xFeverr al zei, welke programmeer / script taal?
zoals het er uit ziet gok ik op C taal aangezien de println denk ik aan arduino?
code tags gebruik houd het overzichtelijk en is beter leesbaar.

zoals xFeverr al aangaf, jouw switch zal altijd uitkomen op 2 omdat je switched op het getal 2 en dat gaat dus niet werken.
als de score zou moeten verdubbelen wanneer hij een 'even streak' maakt, dan zou ik denken aan dit.

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int evenStreak = 0;

void mouseClicked() {
    if (mouseXeven == 0 &&
        mouseYeven == 0) {
        startscore++;
        evenStreak++;
        startscore += (evenStreak * 2);
    }

    if (mouseXeven == 1 &&
        mouseYeven == 1) {
        startscore--;
        evenStreak = 0; // streak gebroken, reset streak?
    }
}


een switch zou in dit geval niet nodig zijn voor wat jij waarschijnlijk wilt?
als je een beginnende programmeur bent dan zou ik je aanraden om in ieder geval de documentatie te lezen over de keywords en wat deze voor jou kunnen doen.

succes!

EDIT:

ohhh ja en ik heb het gedeelte eruit gelaten waarbij mouseXeven en mouseYeven beide 0 zijn, want 0 optellen bij een ander getal levert altijd hetzelfde resultaat op. ;)

[ Voor 8% gewijzigd door Verwijderd op 16-02-2018 13:11 ]


Acties:
  • +1 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
@xFeverr @Verwijderd
Processing is de programmeertaal ;)

@rambo21 Je bent in de vorige topics ook op de [code]-tags gewezen. Pas die nou eens toe :P

[ Voor 67% gewijzigd door Room42 op 16-02-2018 13:16 ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

Verwijderd

@Room42 daar was ik dus niet van op de hoogte, ook weer iets erbij geleerd _/-\o_

Acties:
  • 0 Henk 'm!

  • Noahxx
  • Registratie: November 2014
  • Laatst online: 30-09 16:13
in de theorie die we hebben gekregen wordt er gesproken over een switch en cases

Acties:
  • 0 Henk 'm!

Verwijderd

@rambo21 kun je linken aan wat er getoond / verwacht word?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
rambo21 schreef op vrijdag 16 februari 2018 @ 13:14:
in de theorie die we hebben gekregen wordt er gesproken over een switch en cases
Of je beantwoord een keer de vragen die je gesteld worden, past code tags toe en verwacht niet van ons dat we je aan 't handje gaan houden. Kan iemand even...?

Ik vind 't wel welletjes. Nogmaals: code tags en de Quickstart als je nog een nieuw topic wil openen (waarin je o.a. zult lezen dat we graag zien wat je zelf al geprobeerd/gezocht/gevonden hebt, wat er niet werkt etc.; ik zie daar helemaal niets van terug: waar is de switch in je topicstart? Waar zijn de voorbeelden (of doe eens gek: de documentatie) die je gevonden hebt? ...).

[ Voor 19% gewijzigd door RobIII op 16-02-2018 13:23 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.