Changeset 32
- Timestamp:
- 11/14/06 19:11:07 (5 years ago)
- File:
-
- 1 edited
-
TriviaEngine/TriviaEngine-sqlite.tcl (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
TriviaEngine/TriviaEngine-sqlite.tcl
r31 r32 6 6 7 7 # the channel to play in 8 set trivia_channel "# triviacow"8 set trivia_channel "#molsoft" 9 9 10 10 # the time between hints (sec) … … 55 55 set trivia_last_ts 0 56 56 set trivia_score_time 0 57 set trivia_debug_mode 057 set trivia_debug_mode 1 58 58 set trivia_warned 0 59 59 set trivia_asking_question 0 … … 396 396 putquick "PRIVMSG $trivia_channel :Welcome to our newest player, $trivia_c(purple)$nick$trivia_c(off) :)" 397 397 } 398 putquick "PRIVMSG $trivia_channel :Rankings: [trivia_near_five 2$uid]"398 putquick "PRIVMSG $trivia_channel :Rankings: [trivia_near_five3 $uid]" 399 399 400 400 set leader [trivia_leader] … … 1465 1465 trivia_db_handle eval $sql 1466 1466 1467 set outputlist [list]1467 set outputlist "" 1468 1468 1469 1469 … … 1487 1487 #find our position 1488 1488 #don't need to use last_score here because we must've just scored - making use the most recent point for this score 1489 set sql "SELECT COUNT(*)+1 AS position FROM _score WHERE user_score >$our_score ORDER BY user_score DESC, last_score DESC"1489 set sql "SELECT user_id FROM _score WHERE user_score >= $our_score ORDER BY user_score DESC, last_score DESC" 1490 1490 putlog $sql 1491 set position [trivia_db_handle onecolumn $sql] 1491 set position 1 1492 trivia_db_handle eval $sql { 1493 if {$user_id != $uid} { 1494 incr position 1495 } else { 1496 break 1497 } 1498 } 1492 1499 1493 1500 putlog "our position is $position" … … 1501 1508 } else { 1502 1509 #find some users higher than us 1503 set sql "SELECT * FROM _score WHERE user_score > $user_score ORDER BY user_score DESC, last_score DESC LIMIT 4"1510 set sql "SELECT * FROM _score WHERE user_score > $user_score ORDER BY user_score ASC, last_score ASC LIMIT 4" 1504 1511 putlog $sql 1505 1512 … … 1507 1514 1508 1515 trivia_db_handle eval $sql { 1509 lappend outputlist [list $user_id $user_score] 1516 set outputlist [concat [list [list $user_id $user_score] ] $outputlist] 1517 putlog "outputlist is now $outputlist" 1510 1518 } 1511 1519 … … 1530 1538 1531 1539 if {$position == 1} { 1540 putlog "we're in first" 1532 1541 set pre_size 1 1533 1542 set post_size 4 … … 1535 1544 1536 1545 if {$position == 2} { 1546 putlog "we're in 2nd" 1537 1547 set pre_size 2 1538 1548 set post_size 3 … … 1540 1550 1541 1551 if {[llength $postlist] == 0} { 1552 putlog "no postlist, using only prelist" 1542 1553 set pre_size 5 1543 1554 } 1544 1555 1556 if {[llength $postlist] == 1} { 1557 putlog "one postlist, using most prelist" 1558 set pre_size 4 1559 } 1560 1545 1561 if {$pre_size < [llength $outputlist]} { 1546 set outputlist [lrange $outputlist end-$pre_size end] 1547 } 1562 putlog "pre_size $pre_size < length of prelist, trimming" 1563 set startpos [expr [llength $outputlist] - $pre_size] 1564 set outputlist [lrange $outputlist $startpos end] 1565 } 1566 1567 putlog "outputlist length is [llength $outputlist]" 1548 1568 1549 1569 set post_size [expr 5 - [llength $outputlist]] 1550 1570 1551 if {$post_size > [llength $postlist]} { 1552 set postlist [lrange $postlist 0 $post_size] 1571 if {$post_size < [llength $postlist]} { 1572 putlog "post_size calculated as $post_size and is less than list length" 1573 set postlist [lrange $postlist 0 [expr $post_size - 1]] 1553 1574 } 1554 1575 … … 1557 1578 putlog "post: $postlist" 1558 1579 1559 1580 if {$position > 2} { 1581 set initpos [expr $position - 2] 1582 } else { 1583 set initpos 1 1584 } 1585 1586 putlog "first position on list is $initpos" 1587 1588 foreach place $postlist { 1589 lappend outputlist $place 1590 } 1591 1592 set output "" 1593 1594 foreach place $outputlist { 1595 set entry "" 1596 append entry "$initpos" 1597 append entry [trivia_ordinal $initpos] 1598 append entry ": " 1599 append entry [trivia_get_username [lindex $place 0]] 1600 append entry " (" 1601 append entry [lindex $place 1] 1602 append entry ")" 1603 incr initpos 1604 if {[lindex $place 0] == $uid} { 1605 append output "$trivia_c(purple)$trivia_c(bold) $entry$trivia_c(off)$trivia_c(bold) " 1606 } else { 1607 append output " $entry " 1608 } 1609 } 1610 1611 putlog $output 1560 1612 1561 1613 }
Note: See TracChangeset
for help on using the changeset viewer.
