Autor Zpráva
Remyk Czech
Profil
Zdravím, nasatvuju jednu hru, a potřeboval bych udělat funkci která mi zařídí to že když proměnná
$class bude třeba 2 aby mi z toho vyšlo 3
ale když $class bude 3 aby mi to dalo 2
a když bude $class 1 tak aby mi to dalo 1

Chci se zeptat jeslti taková nějaká funkce neexistuje :)
$class = x
2 3

Takhle to mám na mysli.. prosím neukamenujte mě za to.. učím se a tímhle mi dost pomůžete :) Díky!
Jan Tvrdík
Profil
Remyk Czech:
To asi nechápu, co když $class bude, 4, 5 nebo 6?
Remyk Czech
Profil
Ty hodnoty by neměly existovat.. pohybuju se pouze v číslech 1-3
vysvětlení

Jedna hra 1,2,3 jsou ID tříd postav [classy]
každá třída má svůj attribut hlavní 1,2,3 problém je v tom že třída 2 má stat 3 a třída 3 má stat 2 ..
Potřebuji to nastavit aby se mi to prohazovalo :D hodnotu 4+ to ani znát nebude :) bude to znát pouze proměnnou $class 1,2 nebo 3 :)
Jan Tvrdík
Profil
Ok, tak potom bych asi použil normální pole.

$classes = array(
    1 => 1,
    2 => 3,
    3 => 2,
);
echo $classes[2]; // vypíše 3
juriad
Profil
-3*$class*$class/2 + 13*$class/2 - 4
;-) Zdroj

A teď vážně:
function prevod($class) {
  switch ($class) {
    case 2:
      return 3;
    case 3:
      return 2;
    default: # něco jiného
      return $class;
  }
}
Remyk Czech
Profil
Juriad díky, a jak

juriad:
function prevod($class) {
switch ($class) {
case 2:
return 3;
case 3:
return 2;
default: // něco jiného
return $class;
}
}
jakoby vyvolám tu funkci?
to bude jakože

$classprevod = prevod($class)

A to už mi rovnou vyplivne třeba $classprevod = 3 ?

Takhle? Fakt se omlouvám moc to ještě neumím.. a díky všem ! :)
juriad
Profil
Remyk Czech:
$classprevod = prevod($class)

Ano. Jen ti na konci chybí středník. Každý příkaz musí být zakončen středníkem.
Ale na takovou jednoduchou věc je vhodnější řešení od Jana Tvrdíka.

$classes = array(
    1 => 1,
    2 => 3,
    3 => 2,
);
$classprevod = $classes[$class];
Remyk Czech
Profil
Díky, na konci jsem použil to od Jana Tvrdíka, protože s tou juriadovou verzí mi ta hra nešla :D Díky :)
1Pupik1989
Profil
Mě teda pole napadlo až jako druhé

<?php
$class = ($class === 1 ? 1 : $class ^ 0x1);
?>

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: