[Suche] kleines Programm

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [Suche] kleines Programm

      Hallo MMORPG Core Community,
      ich suche einen Scripter, der mir folgendes Programm erstellen kann:

      Das Programm soll zufällige Zahlen von 1-6 generieren können, mit einen eigegeben Intervall.
      Das heißt, wenn ich den Timer auf 5 Sekunden setzte, soll alle 5 Sekunden eine neue Zahl zwischen 1-6 generiert werden. Falls möglich könnte es auch gerne einstellbar sein, von welcher bis welcher Zahl er generiert.

      Die generierte Zahl soll etwas größer in dem Programm erscheinen, das man es auch von etwas weiter weg lesen kann.

      Welche Sprache ist egal, genau so wie das Design oder sonstige Optionen, hauptsache
      - ein einstellbarer Intervall 0,5-10 Sekunden
      - generierte Zahl von 1-6 oder einstellbar von welcher Zahl bis welcher Zahl (groß Gedruckt)
      - die Zahl bleibt dann je nach eigestellt Intervall

      Ich hoffe das ist nicht schwer zu machen, danke im voraus.
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Mach ich schnell. ;D

      EDIT
      AutoIt Source:

      C-Quellcode

      1. #include <GUIConstants.au3>
      2. #include <EditConstants.au3>
      3. $Form = GUICreate("Random", 300, 310)
      4. $Label = GUICtrlCreateLabel(round(Random(1, 6)), 10, 5, 280, 185, $ES_CENTER)
      5. GUICtrlSetFont(-1, 30)
      6. $Slider = GUICtrlCreateSlider(10+50, 200, 180, 25)
      7. GUICtrlSetLimit($Slider, 5, 1)
      8. $LabelN1 = GUICtrlCreateLabel("Number 1:", 10+50, 232.5, 60, 20, $ES_RIGHT)
      9. $LabelN2 = GUICtrlCreateLabel("Number 2:", 10+50, 232.5+25, 60, 20, $ES_RIGHT)
      10. $LabelInterval = GUICtrlCreateLabel("Interval:", 10+50, 232.5+50, 60, 20, $ES_RIGHT)
      11. $InputN1 = GUICtrlCreateInput(1, 80+50, 230, 80, 20, BitOR($ES_CENTER, $ES_NUMBER))
      12. $InputN2 = GUICtrlCreateInput(6, 80+50, 230+25, 80, 20, BitOR($ES_CENTER, $ES_NUMBER))
      13. $InputInterval = GUICtrlCreateInput(5000, 80+50, 230+50, 80, 20, BitOR($ES_CENTER, $ES_NUMBER))
      14. $MS = 5000
      15. GUISetState()
      16. $Timer = TimerInit()
      17. While 1
      18. Switch GUIGetMsg()
      19. Case $GUI_EVENT_CLOSE
      20. ExitLoop
      21. Case $Slider
      22. $Read = GUICtrlRead($Slider)
      23. GUICtrlSetFont($Label, 30*$Read)
      24. EndSwitch
      25. If $MS <> GUICtrlRead($InputInterval) Then
      26. $MS = GUICtrlRead($InputInterval)
      27. EndIf
      28. If TimerDiff($Timer) > $MS And TimerDiff($Timer) > 1000 Then
      29. $Timer = TimerInit()
      30. $Random = Round(Random(GUICtrlRead($InputN1), GUICtrlRead($InputN2)))
      31. GUICtrlSetData($Label, $Random)
      32. EndIf
      33. WEnd
      Alles anzeigen


      Kompiliertes Programm: Download
    • Weils in C viel cooler ist:

      C-Quellcode

      1. #include <gtk/gtk.h>
      2. #include <stdlib.h>
      3. #define NUMBER_SIZE 240
      4. struct config_elements_t {
      5. GtkLabel *view;
      6. GtkEntry *interval;
      7. GtkEntry *min;
      8. GtkEntry *max;
      9. };
      10. struct config_t {
      11. GtkLabel *view;
      12. gint min;
      13. gint max;
      14. };
      15. static gboolean on_new_number(gpointer data) {
      16. struct config_t *config = (struct config_t*)data;
      17. gint32 number = g_random_int_range(config->min, config->max);
      18. gchar *str = g_strdup_printf("<span font_desc=\"%d.0\">%d</span>", NUMBER_SIZE, number);
      19. gtk_label_set_markup(config->view, str);
      20. g_free(str);
      21. }
      22. static void on_destroy_timer(gpointer data) {
      23. g_free((struct config_t*)data);
      24. }
      25. static void on_config_apply(GtkButton *apply, gpointer user_data) {
      26. static guint timer_id = 0;
      27. struct config_elements_t *config_elements = (struct config_elements_t*)user_data;
      28. gint interval = atoi(gtk_entry_get_text(config_elements->interval));
      29. struct config_t *config = g_new(struct config_t, 1);
      30. config->view = config_elements->view;
      31. config->min = atoi(gtk_entry_get_text(config_elements->min));
      32. config->max = atoi(gtk_entry_get_text(config_elements->max));
      33. if (timer_id != 0) {
      34. g_assert(g_source_remove(timer_id));
      35. }
      36. timer_id = g_timeout_add_full(G_PRIORITY_DEFAULT_IDLE, interval,
      37. on_new_number, config, on_destroy_timer);
      38. }
      39. gint main(gint argc, gchar **argv) {
      40. gtk_init(&argc, &argv);
      41. GtkWindow *window = g_object_new(GTK_TYPE_WINDOW, "title", "Numbers", NULL);
      42. g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
      43. struct config_elements_t config;
      44. config.view = g_object_new(GTK_TYPE_LABEL, NULL);
      45. config.interval = g_object_new(GTK_TYPE_ENTRY, "text", "1000", NULL);
      46. config.min = g_object_new(GTK_TYPE_ENTRY, "text", "1", NULL);
      47. config.max = g_object_new(GTK_TYPE_ENTRY, "text", "6", NULL);
      48. GtkButton *apply = GTK_BUTTON(gtk_button_new_from_stock(GTK_STOCK_APPLY));
      49. g_signal_connect(apply, "clicked", G_CALLBACK(on_config_apply), &config);
      50. GtkBox *config_box = g_object_new(GTK_TYPE_BOX,
      51. "orientation", GTK_ORIENTATION_HORIZONTAL,
      52. "spacing", 5,
      53. "homogeneous", FALSE,
      54. NULL);
      55. gtk_box_pack_start(config_box, GTK_WIDGET(config.interval), FALSE, FALSE, 0);
      56. gtk_box_pack_start(config_box, GTK_WIDGET(config.min), FALSE, FALSE, 0);
      57. gtk_box_pack_start(config_box, GTK_WIDGET(config.max), FALSE, FALSE, 0);
      58. gtk_box_pack_start(config_box, GTK_WIDGET(apply), FALSE, FALSE, 0);
      59. GtkBox *box = g_object_new(GTK_TYPE_BOX,
      60. "orientation", GTK_ORIENTATION_VERTICAL,
      61. "spacing", 5,
      62. "homogeneous", FALSE,
      63. NULL);
      64. gtk_box_pack_start(box, GTK_WIDGET(config_box), FALSE, FALSE, 0);
      65. gtk_box_pack_start(box, GTK_WIDGET(config.view), TRUE, TRUE, 0);
      66. gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(box));
      67. gtk_widget_show_all(GTK_WIDGET(window));
      68. gtk_main();
      69. return 0;
      70. }
      Alles anzeigen