Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  15 1061
Jeg er nybegynner innenfor php, og har et spørsmål.
Jeg prøver å lage et slags "spill" i php, teksbasert, som man har penger i.
Problemet mitt er hvordan man kan lage en pengefunksjon hvor man kan få penger. Jeg kan array-funksjonen, men den går bare på bokstaver, ikke tall, så jeg kan ikke øke tallet når du får penger og minske det når man kjøper noe.

Så mitt spørsmål er: Hvordan kan jeg lage en form for array, som jeg kan fremmkalle på forskjellige steder, som også kan økes og trekkes fra etter som ting skjer?

Litt rart forklart, men jeg håper dere forstår.
vil vel anbefalle deg å gå igjennom http://www.google.no/search?hl=no&q=php&meta= og lære det grunnleggende, ellers vil ikke noen forklaring her gi deg noe som helst
ikke noe vits i å få et script som gjør det hvis du ikke skjønner hvordan du kan endre på det..eller ikke skjønner scriptet i det heletatt.
Jeg kan litt php, problemet er at ingen hjelpesider skriver om en slik funksjon, så jeg får aldrig muligheten til å lære den..
Trigonoceps occipita
vidarlo's Avatar
Donor
Huh?
<?php
$pengearray[konto] = 24;
echo $pengearray[konto];
$pengearray[konto]++;
echo $pengearray[konto];
?>

Forøvrig er det du ser etter database, t.d mysql.
Limited edition
Moff's Avatar
La meg gjette:
Du vil lage en kopi av Nordic Mafia.

Først: Du har ikke helt forstått hva et array er. Et array er en variabel som inneholder flere verdier. Eksempelvis, en variabel som heter fisk inneholder verdiene bolle og vann. I PHP kan dette skrives som (eksempel fremdeles) $fisk['0'] = "bolle" og $fisk['1'] = "vann". Variabelen heter fisk, men inneholder to ulike verdier. Som du da sikkert forstår kan du erstatte bolle og vann med hva som helst. Også tall.

Konklusjonen er at dette ikke er noe du har bruk for.

Det du derimot vil ha bruk for er en database som inneholder et recordset (kall det gjerne en fil eller noe annet fancy) som igjen inneholder et brukernavn og en pengesum. Dette bruker du til å se hvilket brukernavn som har hvilken pengesum. Når brukeren gjør noe i spillet bruker du en funksjon for å endre tallet som står i databasen. Jeg vil anbefale at du leser om MySQL-databaser, da dette er den vanligste typen som brukes i forbindelse med PHP og nettsider.

Tutorialer du BØR lese:
PHP basics
MySQL
Disse to skulle gi deg alt du trenger for å lage et lite spill.
Men jeg vil gjerne plusse på litt mer enn 1..
Er det mulig?
______________________________________
EDIT: Jeg har en awardspave database med ftp og myqsl, men er litt usikker på hvordan jeg bruker mysql...
Skal lese den artikkelen.
Sist endret av Blå Gummitenner; 13. august 2007 kl. 20:24.
Limited edition
Moff's Avatar
Sitat av Alcazalamander
Men jeg vil gjerne plusse på litt mer enn 1..
Er det mulig?
Vis hele sitatet...
Bytt ut "$pengearray[konto]++;" med "$pengearray[konto] = $pengearray[konto] + [tall];"

PS: Dette er såpass grunnleggende ting at det er rimelig tydelig at du ikke kan noe særlig om PHP.
Sist endret av Moff; 13. august 2007 kl. 20:23.
Som vidarlo sa leter du antagelig etter en database, og ikke en array.
I databasen kan du lagre dataen over lengre tid, mens arrayen forsvinner når scriptet er ferdig å kjøre. (når du får se det som kommer på skjermen, så eksisterer ikke arrayen lenger)

Kjøp deg en bok om PHP og MySQL.
Sist endret av TanteSpiker; 13. august 2007 kl. 20:26.
Trigonoceps occipita
vidarlo's Avatar
Donor
Sitat av Alcazalamander
Men jeg vil gjerne plusse på litt mer enn 1..
Er det mulig?
______________________________________
EDIT: Jeg har en awardspave database med ftp og myqsl, men er litt usikker på hvordan jeg bruker mysql...
Skal lese den artikkelen.
Vis hele sitatet...
J/K:

Kode

while ($konto <= $nykontoverdi) {
    $konto++;
}
Må sei meg 100% einig med moff: array, behandling av variabler og slikt er det aller aller aller mest elementære i alle programmeringsspråk. Du behersker det ikkje. Du vil aldri få til et spill, før du har lært bruk av slikt, samt kontrollstrukturer.

Gir samme tipset som eg alltid gir: Kjøp deg ei bok, og ikkje ver redd for å lese.
Sist endret av vidarlo; 13. august 2007 kl. 20:27.
Sitat av vidarlo
J/K:

Kode

while ($konto <= $nykontoverdi) {
    $konto++;
}
Vis hele sitatet...
Den kommer uansett til å sette den til 1 over nykontoverdi.
Sikkerhetsklarert
Haha Vidar, det der var en kjip måte å gjøre det på.
Hvis du allerede vet $nykontoverdi kan du like gjerne gjøre slik

$konto = $nykontoverdi
Trigonoceps occipita
vidarlo's Avatar
Donor
Sitat av Pjukern
Haha Vidar, det der var en kjip måte å gjøre det på.
Hvis du allerede vet $nykontoverdi kan du like gjerne gjøre slik

$konto = $nykontoverdi
Vis hele sitatet...
Det er den pinglete måten. Ekte programmerere bruker ikkje innebygde ting som tilordning mellom variabler...
z0p
uʍop ǝpısdn
z0p's Avatar
Pjukern: $konto = $nykontoverdi + 1; uansett er det lite vits i å ha to variabler av samme verdi.

Trådstarter: http://www.sindrem.com/ har litt norskspråklig lesning om elementær php du kan ta en titt på. Forøvrig vil jeg påstå at et tekstbasert spill kan være en morsom og fornufig måte å sete seg inn i php på.
Et nettbasert multiplayerspill er kanskje å sikte litt høyt tho. Selv har jeg prøvd meg på en dopewars clone ( www.prosjektet.net/dopewars/ )for noen år siden. Jeg har aldri orket å gjøre det helt ferdig, og ettersom jeg lærer meg mer php og programmeringsskikk blir jeg mer og mer forferdet over koden

Fiskebollen lever i havet. Fiskebollen er min venn. Dette er det første verset, nå er det bare 100 igjen.
Sist endret av z0p; 13. august 2007 kl. 21:52.
<?php echo 'VIF'; ?>
datagutten's Avatar
Det du konkret trenger å lære deg for å få til akkurat det du spør om er forskjellige typer data, i dette tilfellet integer og string.
Her er eksempler på noen datatyper:
Integer:
$dinvar=1234
String:
$dinvar='test'
Bool:
$dinvar=TRUE
NOOOOOOOOOOOOOOOOOO-
robhol's Avatar
Sitat av vidarlo
Det er den pinglete måten. Ekte programmerere bruker ikkje innebygde ting som tilordning mellom variabler...
Vis hele sitatet...
0/\/\6 |-|3 15 73|-| |-|4><><0|2..
Sist endret av robhol; 14. august 2007 kl. 12:11.