Ik ben bezich om een spel te code in php, alleen ik loop nu tegen 1 probleem aan:
We hebben om zo maar te zeggen 5 wachtrijen, hier in komen te staan waneer er iets klaar is.
Dit is bvb troepen maken, gebouwen maken, grondstofen versturen. Troepen versturen, gebouwen alliantie. Er staat hier bij allemaal een tijd wanneer dit af is. Deze wil ik allenmaal omstebeurt laten maken. Alleen ik zou echt niet weten hoe ik deze op een goeie manier zou kunnen verwerken. Ik heb zelf een code gemaakt die dit wel zou moeten kunnen alleen ik moet te vaak $$ gebruiken, dit komt vooral omdat ik er voor heb gezorgd dat je makkelijk nieuwe databases kunt toevoegen die hij moet scannen. Je hoeft dan alleen 1 variabele toe te voegen 1 aan te passen.
Zouden jullie misschien kunnen zeggen hoe jullie dit zouden oplossen? Ik heb zelf niet echt veel ervaring met mysql, dan moet ik wel even erbij zeggen. Onder het type bedacht ik me zelf dat ik elke database nog kon laten sorteren op tijd, en dan de bovenste row laten pakken, alleen heb nu even geen tijd om dit aan te passen.
Mijn aanpak voor dit was als volgt: (Dit is niet gecontroleerd, en niet uitgevoerd. Dus het kan best dat hij het niet doet of dat er stommen foute in zitten want ik heb het niet eens nagekeken. Dus fouten hoeven jullie niet op te letten, alleen de aanpak
)
Alvast bedankt!
We hebben om zo maar te zeggen 5 wachtrijen, hier in komen te staan waneer er iets klaar is.
Dit is bvb troepen maken, gebouwen maken, grondstofen versturen. Troepen versturen, gebouwen alliantie. Er staat hier bij allemaal een tijd wanneer dit af is. Deze wil ik allenmaal omstebeurt laten maken. Alleen ik zou echt niet weten hoe ik deze op een goeie manier zou kunnen verwerken. Ik heb zelf een code gemaakt die dit wel zou moeten kunnen alleen ik moet te vaak $$ gebruiken, dit komt vooral omdat ik er voor heb gezorgd dat je makkelijk nieuwe databases kunt toevoegen die hij moet scannen. Je hoeft dan alleen 1 variabele toe te voegen 1 aan te passen.
Zouden jullie misschien kunnen zeggen hoe jullie dit zouden oplossen? Ik heb zelf niet echt veel ervaring met mysql, dan moet ik wel even erbij zeggen. Onder het type bedacht ik me zelf dat ik elke database nog kon laten sorteren op tijd, en dan de bovenste row laten pakken, alleen heb nu even geen tijd om dit aan te passen.
Mijn aanpak voor dit was als volgt: (Dit is niet gecontroleerd, en niet uitgevoerd. Dus het kan best dat hij het niet doet of dat er stommen foute in zitten want ik heb het niet eens nagekeken. Dus fouten hoeven jullie niet op te letten, alleen de aanpak
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
| <? class wachtrij { private $aantalp = 5; private $p1 = "qgebouw"; //db naam van gebouwen private $p2 = "qgebouwa"; //db naam van gebouwen van alliantie private $p3 = "qgsversturen"; //db naam van grondstoffen versturen private $p4 = "qtroep"; //db naam van troepen maken private $p5 = "qtroepstuur"; //db naam van troepen versturen function vergelijk() { for ( $a = 1; $a < $this->aantalp; $a++ ) { //zoekt overal de eerste tijd van op. $variablen1 = "p" . $a; //bvb P1 $variablen2 = $$variablen1 . "tijd"; //voegt tijd toe aan een waarde van bvb p1 $mysqlvar1 = mysql_real_escape_string( $this->$variablen1 ); $mysqltijd = time(); $q = "SELECT * FROM `$mysqlvar1` WHERE `tijd` < \"$mysqltijd\""; $result = mysql_query( $q ); $tijd1 = 0; while ( $row = mysql_fetch_assoc( $result ) ) { //kijkt welke tijd het eerste is, het kan zijn dat de zelfde tijden er in staan, dat maakt niet uit. if ( $tijd1 < $row["eind"] ) { $tijd1 = $row["eind"]; } } $$variablen2 = $tijd1; //Bvb qgebouwtijd } for ( $a = 1; $a < $this->aantalp; $a++ ) { //kijkt welke tijd het hoogste is, als die tijd het hoogste is word die "1" $vergelijking = 0; for ( $b = 1; $b < $this->aantalp; $b++ ) { $variablen1 = "p" . $a . "tijd"; //bvb P1 + tijd $variablen1 = "p" . $b . "tijd"; //bvb P1 + tijd $vergelijking = $vergelijking . " " . $$variablen1 . ">=" . $$variablen2; } if ( $vergelijking ) { $variablen1 = "p" . $a . "hoogste"; //bvb P1 + hoogste $$variablen1 = "1"; } else { $variablen1 = "p" . $a . "hoogste"; //bvb P1 + hoogste $$variablen1 = "0"; } } for ( $a = 1; $a < $this->aantalp; $a++ ) { //priorety vergelijken met welke het hoogste is $variablen1 = "p" . $a . "hoogste"; //bvb P1 + hoogste $variablen2 = "p" . $a; if ($$variablen1) { $voeruit = $$variablen2; //hier moet nog komen te staan hoe hij moet uitvoeren break; } } } } ?> |
Alvast bedankt!
[ Voor 0% gewijzigd door BtM909 op 16-02-2011 16:54 ]