[Java] Switch statements

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • cagXZ
  • Registratie: September 2013
  • Laatst online: 22-08 23:45
Hallo mede tweakers!

Voor mijn project ben ik als ware een text-based adventure aan het maken, alleen vroeg ik mij één dingetje af, dat is:

Hoe kan ik een switch statement gebruiken, wat een waarde bevat wie keer op keer herhaald moet worden tot dat als ware de HP van de enemy op "0" komt?

Want wanneer ik dat wil coderen, moet dat buiten de scope v/d switch statement(case:1) gebeuren. Als ik vervolgens de waarde enemy HP aanvraag, wordt de var niet gezien omdat dat buiten de scope van de case zit... :|


Vragen of opmerkingen graag! Thanks!

C.C.

Alle reacties


Acties:
  • +1 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Een switch is geen loop. Als je wil herhalen heb je een while of een for nodig.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • cagXZ
  • Registratie: September 2013
  • Laatst online: 22-08 23:45
NMe schreef op vrijdag 2 februari 2018 @ 23:46:
Een switch is geen loop. Als je wil herhalen heb je een while of een for nodig.
Dacht ik al.... Oh well, dat wordt alles opnieuw maken!

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Alles opnieuw maken? Dat zal toch wel meevallen? Wat heb je nu staan voor dat stukje waar je wil loopen? Zal vast niet heel tricky zijn om dat om te schrijven.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • cagXZ
  • Registratie: September 2013
  • Laatst online: 22-08 23:45
Het begint met 3 keuzes,

1. attack
2. heal
3. retreat
default: "make a choice"

vervolgens kan je een keuze maken om 1 v/d 3 te kiezen in de switch statement. Wanneer dat gebeurt, herhaalt de keuze zich met een for loop. Alleen lukt het mij dus niet om een waarde terug te krijgen nadat de speler een keuze heeft gemaakt

Acties:
  • +2 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dat stelt niet zo veel voor, toch? Pseudocode, niet daadwerkelijke java-code:

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while (player.health > 0 && enemy.health > 0) {
    print choices;
    switch (input) {
        case "1":
            this.attack(player, enemy);
            break;
        case "2":
            this.heal(player);
            break;
        case "3":
            this.retreat(player);
            break;
        default:
            print "Foute input."
            break;
    }
}

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • cagXZ
  • Registratie: September 2013
  • Laatst online: 22-08 23:45
Top! Het heeft wat tinkering gevergd, maar inmiddels werkt het!
Pagina: 1