Helpdesk
Menschen Wissenschaft Politik Mystery Kriminalfälle Spiritualität Verschwörungen Technologie Ufologie Natur Umfragen Unterhaltung
weitere Rubriken
PhilosophieTräumeOrteEsoterikLiteraturAstronomieHelpdeskGruppenGamingFilmeMusikClashVerbesserungenAllmysteryEnglish
Diskussions-Übersichten
BesuchtTeilgenommenAlleNeueGeschlossenLesenswertSchlüsselwörter
Schiebe oft benutzte Tabs in die Navigationsleiste (zurücksetzen).

Programmieren: Hilfe & Austausch

920 Beiträge ▪ Schlüsselwörter: Programm, Code, Html ▪ Abonnieren: Feed E-Mail

Programmieren: Hilfe & Austausch

12.09.2012 um 20:47
@yaacool

als alternative könntest du die ganze Schleife verzögern indem du sowas einbaust

for(int i=0;i<1000000;i++){}

das heißt, einfach ne leere Schleife und mit dem Wert kannst du die Verzögerung dann finetunen.

Anzeige
melden

Programmieren: Hilfe & Austausch

12.09.2012 um 20:53
@interpreter

sowas ähnliches hab ich auch grad gedacht wie ich so am schreiben war, weil ich dachte, so wie das im mom aussieht is das ne auseinander genommene for schleife


melden

Programmieren: Hilfe & Austausch

12.09.2012 um 20:58
aber bei der for schleife hab ich wieder das prob, dass ich solange die läuft sonst nichts machen kann


melden

Programmieren: Hilfe & Austausch

12.09.2012 um 20:59
@yaacool
In welcher Sprache programmierst du? Kannst du Multithreading?


melden

Programmieren: Hilfe & Austausch

12.09.2012 um 21:00
Die Theorie ist, das die Tastendrücke länger sind und dadurch das Spiel dennoch reagiert...

musst den Grenzwert für die Verzögerungsschleife einfach niedrig genug setzen.


melden

Programmieren: Hilfe & Austausch

12.09.2012 um 21:02
@Repulsor
C++ mit allegro


melden

Programmieren: Hilfe & Austausch

12.09.2012 um 21:05
@yaacool
Machst du das mit einem Eventhandler, die Steuerung, oder willst du das alles selbst implementieren?


melden

Programmieren: Hilfe & Austausch

12.09.2012 um 21:15
@yaacool
Schau mal hier: http://alleg.sourceforge.net/stabledocs/en/alleg006.html (Archiv-Version vom 19.10.2012)
Punkt: int poll_keyboard();

Ich kenne mich mit Allegro leider nicht aus. :)


melden

Programmieren: Hilfe & Austausch

12.09.2012 um 21:17
@Repulsor

ich mach grad alles, oder viel selbst, es ist im mom ja nichts ernstes, sondern ein schlichtes probeprogramm zu versuchs und lernzwecken


melden
AnGSt ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Programmieren: Hilfe & Austausch

12.09.2012 um 23:40
@alliswrong

Ja, ich hole die Daten aus einer DB. Das funktioniert auch prima und ich kann sogar eine Zeile mit Links zu allen Seitenzahlen ausgeben und verwenden, nur tut diese immer _alle_ Seitenzahlen darstellen, ohne " ... " Abkürzung.

@interpreter

Hmmm, könnte ne Lösung sein, danke. Die ersten vier Elemente des Arrays sind wohl statisch _immer_ 1, 2, 3 und 4, soweit ich Dich richtig verstanden habe? Die letzten vier sind abhängig von der Zahl an Seiten. Gibts ne tolle php sort Funktion, die auch gleichzeitig redundante Werte aus dem Array enfernt? So ne art group by?


melden

Programmieren: Hilfe & Austausch

12.09.2012 um 23:43
@AnGSt

Weiß nicht ob es sowas gibt... kenn das bei einigen Sprachen unter "Mengen"-Funktionen oder sowas... aber nicht beides in einem... da musst du schon 2 Funktionen bemühen.

Ne alternative wäre eine Tabelle in die du alle Zahlen reinschmeißt und darauf dann eine SQL abfrage

Select * from bla where Zahl <4 OR Zahl ... also alle Varianten abdecken.


melden
AnGSt ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Programmieren: Hilfe & Austausch

12.09.2012 um 23:45
Ich denke ich bekomme es hin jetzt, mir ist aber noch nicht klar, wie ich effektiv auf eine Lücke testen kann. @interpreter


melden

Programmieren: Hilfe & Austausch

12.09.2012 um 23:47
wenn dein Array geordnet ist

läufst du mit ner Schleife über die indizes...

dann fragst du sowas

if( aktuelle Zahl > letzte Zahl +1){
füge Punkte ein
}

letze Zahl = aktuelle Zahl

dh, wenn zwischen den Zahlen mehr als 1 Zahl liegt werden die Punkte eingebaut.


melden
AnGSt ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Programmieren: Hilfe & Austausch

13.09.2012 um 00:01
Ok, in php nennt sich die Funktion um doppelte Einträge zu streichen "array_unique()", hab ich grad raus gefunden... @interpreter


melden

Programmieren: Hilfe & Austausch

13.09.2012 um 00:03
@AnGSt

ich kann mich erinnern :) ok, viel erfolg damit.


melden
AnGSt ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Programmieren: Hilfe & Austausch

13.09.2012 um 00:46
@interpreter

Es funktioniert, bis auf die Sache mit den einzufügenden Punkten. Es wird ab der ersten " ... " Position alles bis Ende mit weiteren " ... " auf gefüllt:

$range = 5; $arr = array(); $links = array();

for ($i = 1; $i<=$range && $i <= $pages; $i++) $arr[] = $i;
for ($i = $pages; $i>=1 && $i>$pages-$range; $i--) $arr[] = $i;
for ($i = $page-$range; $i<$page+$range; $i++) if ($i>=1 && $i<=$pages) $arr[] = $i;
$arr = array_unique($arr); sort($arr);

$i = 1;

foreach ($arr as $p) {
if ($p > $i+1) {
$links[] = " ... ";
} else if ($p == $page) {
$i = $p;
$links[] = "<strong class='boldy'>$p[/b]";
} else {
$i = $p;
$links[] = "search.php?page=$p ($p)";
}
}
echo implode(" ",$links);


melden

Programmieren: Hilfe & Austausch

13.09.2012 um 00:48
@AnGSt

du musst i in jedem Zweig aktualisieren nicht nur im Else-Zweig.


melden

Programmieren: Hilfe & Austausch

13.09.2012 um 00:50
@AnGSt

Außerdem müssen ja auch in dem Fall wenn die Punkte eingefügt werden, der nächste Link eingebaut werden...

ich würde das garnicht als IF-Else geschichte machen :)


melden
AnGSt ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Programmieren: Hilfe & Austausch

13.09.2012 um 00:51
@interpreter

Nein? Versteh ich nicht. Was sonst?

ps: scheint nun zu klappen ...


melden

Programmieren: Hilfe & Austausch

13.09.2012 um 00:54
@AnGSt
Ich hab das mal umgeschrieben und den redundanten Else-Zweig rausgenommen.

foreach ($arr as $p) { if ($p > $i+1) { $links[] = " ... "; } $links[] = "$p"; $i = $p; }


Anzeige

melden