I have created an x-o game with GUI and almost finished it, but I have difficulties declaring the winner, I managed to do it manually but it took alot of code lines and it looks messy, here's what I did:  if((buttons[0].getText()=="X" &amp;&amp; buttons[1].getText()=="X" &amp;&amp; buttons[2].getText()=="X") ||                 (buttons[0].getText()=="X" &amp;&amp; buttons[3].getText()=="X" &amp;&amp; buttons[6].getText()=="X") ||                 (buttons[4].getText()=="X" &amp;&amp; buttons[8].getText()=="X" &amp;&amp; buttons[2].getText()=="X") ||                 (buttons[0].getText()=="O" &amp;&amp; buttons[1].getText()=="O" &amp;&amp; buttons[2].getText()=="O") ||                 (buttons[0].getText()=="O" &amp;&amp; buttons[3].getText()=="O" &amp;&amp; buttons[6].getText()=="O") ||                 (buttons[4].getText()=="O" &amp;&amp; buttons[8].getText()=="O" &amp;&amp; buttons[2].getText()=="O") ||                 (buttons[2].getText()=="X" &amp;&amp; buttons[5].getText()=="X" &amp;&amp; buttons[8].getText()=="X") ||                 (buttons[1].getText()=="X" &amp;&amp; buttons[4].getText()=="X" &amp;&amp; buttons[7].getText()=="X") ||                 (buttons[6].getText()=="X" &amp;&amp; buttons[7].getText()=="X" &amp;&amp; buttons[8].getText()=="X") ||                 (buttons[2].getText()=="O" &amp;&amp; buttons[5].getText()=="O" &amp;&amp; buttons[8].getText()=="O") ||                 (buttons[1].getText()=="O" &amp;&amp; buttons[4].getText()=="O" &amp;&amp; buttons[7].getText()=="O") ||                 (buttons[6].getText()=="O" &amp;&amp; buttons[7].getText()=="O" &amp;&amp; buttons[8].getText()=="O") ||                     (buttons[3].getText()=="X" &amp;&amp; buttons[4].getText()=="X" &amp;&amp; buttons[5].getText()=="X") ||                 (buttons[3].getText()=="O" &amp;&amp; buttons[4].getText()=="O" &amp;&amp; buttons[5].getText()=="O") ||                     (buttons[0].getText()=="X" &amp;&amp; buttons[4].getText()=="X" &amp;&amp; buttons[8].getText()=="X") ||                 (buttons[0].getText()=="O" &amp;&amp; buttons[4].getText()=="O" &amp;&amp; buttons[8].getText()=="O")   )   So I wanted to shorten this and add it in a loop, but it didnt work.          for(int i=0;i&lt;9;i++)     {         if(i%3==0){             y+=50; x=40;         }         buttons[i]=new JButton();         buttons[i].setSize(50, 50);         buttons[i].setLocation(x, y);            int temp=i;         buttons[temp].addActionListener(new ActionListener() {                           public void actionPerformed(ActionEvent e) {             String currentPlayer = turnCount % 2 == 0 ? "X" : "O";             buttons[temp].setText(currentPlayer);             buttons[temp].setFont(new Font("Arial", Font.PLAIN, 30));             buttons[temp].setMargin(new Insets(0, 0, 0, 0));             buttons[temp].setEnabled(false);             turnCount++;              if(buttons[temp].getText()==buttons[temp+1].getText())             {                 System.out.println("GAME OVER!");                 for(int i=0;i&lt;9;i++)                     buttons[i].setEnabled(false);                 turnCount = 0;             }         }         });         myForm.add(buttons[i]);         x+=50;     }   It should print the code inside the if statement whenever 2 following buttons have the same value, but it doesn't work.  This is exactly what needs to be changed somehow  if(buttons[temp].getText()==buttons[temp+1].getText())   Thank you.
93
I've been using the == operator in my program to compare all my strings so far. However, I ran into a bug, changed one of them into .equals() instead, and it fixed the bug.  Is == bad? When should it and should it not be used? What's the difference?
37456
If you are editing a question and decide to close the tab/window/whatever, SO opens up a dialog box asking you if you are sure. The buttons for this dialog are "OK" and "Cancel". However, what these map to is not entirely obvious. It would make more sense to change them to action words describing what they do. For example, it could be "Close this Question" and "Stay Here". This would eliminate the need to explain which button does what in the dialog itself and require less work from the user.
122215
I have created the above formula to accomplish a sum of 20 number value picklists and it came out to 6,233 characters. As you all know, the compile limit is 5000. What can I do to circumvent this?  IF(ISPICKVAL(Contract_Rating_Form__c, ""), 0, VALUE(TEXT(Contract_Rating_Form__c)))+  IF(ISPICKVAL(Contract_Rating_Contract_Language__c, ""), 0, VALUE(TEXT(Contract_Rating_Contract_Language__c)))+  IF(ISPICKVAL(Contract_Rating_License_Grant__c, ""), 0, VALUE(TEXT(Contract_Rating_License_Grant__c)))+  IF(ISPICKVAL(Contract_Rating_Content_Options__c, ""), 0, VALUE(TEXT(Contract_Rating_Content_Options__c)))+  IF(ISPICKVAL(Contract_Rating_Exclusivity__c, ""), 0, VALUE(TEXT(Contract_Rating_Exclusivity__c)))+  IF(ISPICKVAL(Contract_Rating_Term__c, ""), 0, VALUE(TEXT(Contract_Rating_Term__c)))+  IF(ISPICKVAL(Contract_Rating_Termination__c, ""), 0, VALUE(TEXT(Contract_Rating_Termination__c)))+  IF(ISPICKVAL(Contract_Rating_Pricing_for_Multiyear__c, ""), 0, VALUE(TEXT(Contract_Rating_Pricing_for_Multiyear__c)))+  IF(ISPICKVAL(Contract_Rating_Payment_Terms__c, ""), 0, VALUE(TEXT(Contract_Rating_Payment_Terms__c)))+  IF(ISPICKVAL(Contract_Rating_Invoicing__c, ""), 0, VALUE(TEXT(Contract_Rating_Invoicing__c)))+  IF(ISPICKVAL(Contract_Rating_Service_Level_Agreement__c, ""), 0, VALUE(TEXT(Contract_Rating_Service_Level_Agreement__c)))+  IF(ISPICKVAL(Contract_Rating_Rep_Warranty__c, ""), 0, VALUE(TEXT(Contract_Rating_Rep_Warranty__c)))+  IF(ISPICKVAL(Contract_Rating_Limitation_of_Liability__c, ""), 0, VALUE(TEXT(Contract_Rating_Limitation_of_Liability__c)))+  IF(ISPICKVAL(Contract_Rating_Indemnity_Hold_Harmless__c, ""), 0, VALUE(TEXT(Contract_Rating_Indemnity_Hold_Harmless__c)))+  IF(ISPICKVAL(Contract_Rating_Assignment__c, ""), 0, VALUE(TEXT(Contract_Rating_Assignment__c)))+  IF(ISPICKVAL(Contract_Rating_Code_App_Ownership__c, ""), 0, VALUE(TEXT(Contract_Rating_Code_App_Ownership__c)))+  IF(ISPICKVAL(Contract_Rating_Data_Ownership_if_SVU__c, ""), 0, VALUE(TEXT(Contract_Rating_Data_Ownership_if_SVU__c)))+  IF(ISPICKVAL(Contract_Rating_Change_of_Control__c, ""), 0, VALUE(TEXT(Contract_Rating_Change_of_Control__c)))+  IF(ISPICKVAL(Contract_Rating_Choice_of_Law_Venue__c, ""), 0, VALUE(TEXT(Contract_Rating_Choice_of_Law_Venue__c)))+  IF(ISPICKVAL(Contract_Rating_Insurance_Obligations__c, ""), 0, VALUE(TEXT(Contract_Rating_Insurance_Obligations__c)))    Thank you.
77324
Ok, so I have made a .tmx file for my first level, but I am unsure how I would load it into my game. Currently I am iterating through an internal array to set the blocks, but I need to know how to load the .tmx file into the code.  Here is my World.java:  import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import javax.imageio.ImageIO; import java.io.*;  class World {     Image ground;     Block[] blocks = new Block[46];     int map[][] = {             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},             {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},         };     World() {         int enc = -1;         for (int i = 0; i &lt; map.length; i++) {             for (int j = 0; j &lt; map[i].length; j++) {                 if (map[i][j] == 1) {                     enc++;                     blocks[enc] = new Block(j * 32, i * 32, 32, 32, 1);                 } else if (map[i][j] == 2) {                     enc++;                     blocks[enc] = new Block(j * 32, i * 32, 32, 32, 2);                 }             }         }     } }
61828
I am using cryptocode package to make a protocol of 4 players.  \fbox{ \procedure{name}{%  \textbf{Alice}  \&lt; \textbf{Verisign}  \&lt; \textbf{Eve}  \&lt; \textbf{Bob} \\ \sendmessageright{top=\text{hello}} \&lt;\\ \&lt;\sendmessageright{top=\text{hello}} \&lt;\\ \&lt;\&lt;\sendmessageright{top=\text{hello}} \&lt;\\  }  }   I think it is very complex package with no clear documentation. I am writing to ask from experts if it is better to stick to cryptocode or to use TikZ for such diagrams.  And if any one can help me with this example using TikZ i would appreciate it :-)  thanks
113428
is a simple way to script small GUIs.  Can anyone give a nice example with a button and a text widget. When the button is pressed should a shell command be executed and the output piped to the text widget.  If you have other nice and clean examples for useful tasks, please add them too.
106050
Hi I'm pretty new to Stack Overflow so I hope that I'm doing this correctly and that someone out there has the answer I need.  I'm currently coding a program in Java with Eclipse IDE an my question is this:  I need a snippet of code that does the following  It's supposed to get a .TXT file containing text and from that .TXT file  count the number of rows and print it,  count the number of words and print it,  count the number of characters and print it. And finally make a list of the top 10 words used and print that.  Allt the printing is done to system outprintln  I'm pretty new to Java and am having some difficulties.  Anyone out there who can provide me with these lines of code or that knows where i can find them? I want to study the code provided that's how I learn best=)  Thanks to all   Didnt find the edit button sorry...  I Added this to my question:  Hehe it´s an assignment but not a homework assignment ok i see well i could provide what i've done so far, i think im pretty close but it´s not working for me. Is there anything i have missed?  // Class    Tip   import java.io.*; import java.util.*;  class Tip {     public static void main(String [] args) throws Exception     {          String root = System.getProperty("user.dir");            InputStream is = new FileInputStream( root + "\\tip.txt" );         Scanner scan = new Scanner( is );          String tempString = "";         int lines = 0;         int words = 0;         Vector&lt;Integer&gt; wordLength = new Vector&lt;Integer&gt;();         int avarageWordLength = 0;          while(scan.hasNextLine() == true)         {                 tempString = scan.nextLine();                 lines++;         }          is.close();          is = new FileInputStream( root );         scan = new Scanner( is );          while(scan.hasNext() == true)         {                 tempString = scan.next();                 wordLength.add(tempString.length());                 words++;         }          for(Integer i : wordLength)         {                 avarageWordLength += i;         }         avarageWordLength /= wordLength.size();           System.out.println("Lines : " + lines);         System.out.println("Words : " + words);         System.out.println("Words Avarage Length : " + avarageWordLength);          is.close();          } }
62170
How does the code  work with Ctrl + K? I am new to Stack Overflow.   I can't get it with Ctrl + K. I  press space button for 4 times in each line I post.
579
I have defined my own language whose syntax is very close to the one of Pascal. I would like to type the following program for instance. Many people use the packages algorithmicx or algorithm2e to print programs, but it seems that we have to use their specific keywords of its syntax like procedure, end while.  I just want to indent spaces when needed, and bold some words when I want (sorry that I could not bold letters in the following figure). Do I have to use  texttt for each line? Also, with verbatim, I could not bold words...  Also, as the program is not large, I would need to put it on the left side of the page, and leave space for some explanasion text on its right hand side. So I  guss I need to get them all together, and use multicols.  Could anyone help?  program test                                      some text here var   i : integer;                                    ...    b : boolean; begin    i := 1;                                        ...    b := true;    while i &lt; 15 do       i := i  + 1;       b := not b                                  some text here    od end   Edit1: Following @Werner's tabbing solution, I have made the code a minipage:  \begin{minipage}[t]{0.48\linewidth}% \begin{tabbing} Werner's solution \end{tabbing} \end{minipage}\hfill \begin{minipage}[t]{0.48\linewidth} a paragraph \end{minipage}   Actually as the code shows, I want the texts to be another separated minipage on the right hand side of the code. I have then 2 questions:   is it reasonable to make 0.48\linewidth instead of 0.5\linewidth? 0.48\linewidth is a conventional choice? is it possible to make a frame around the code, and use \caption and \label to make it a reference (I prefer figures)?
59865
I'm trying to make a game where the damage you deal is rolled by a dice. It all works. However, it keeps on giving the same values in a row so it isn't entirely random  ini_open("Health.ini"); attack = ini_read_real( "Attacks", "Felix", 0); ini_close(); global.damage=0 repeat(attack){ global.damage=irandom(6) }   if (global.damage ==0){instance_create_depth(300, 400, 0, obj_numbers0)} if (global.damage ==1){instance_create_depth(400, 400, 0, obj_numbers1)} if (global.damage ==2){instance_create_depth(500, 400, 0, obj_numbers2)} if (global.damage ==3){instance_create_depth(600, 400, 0, obj_numbers3)} if (global.damage ==4){instance_create_depth(700, 400, 0, obj_numbers4)} if (global.damage ==5){instance_create_depth(800, 400, 0, obj_numbers5)} if (global.damage ==6){instance_create_depth(900, 400, 0, obj_numbers6)}   The attack value is 1 because it is only one dice that is used for damage for now. The software I am using is Game Maker Studio 2
59535
One feature of SO that pains me every single time is having to manually indent all code four spaces, and usually copy four spaces to the clipboard so Ctrl+V acts as 'Tab'.  Maybe it's on purpose to stop walls of code, but I want to discuss it anyway because everything else seems to go so smoothly and this annoys me and slows me down every day.  ....  And I JUST found the 'code block' feature after many months (having looked through a similar question or two).  I guess then can I rephrase as, 'Please make the CODE BLOCK editor feature/button more obvious' ?
91763
I have have some code which adds new cells to a table and fills them with text boxes.   The way I've coded it so far works fine:          TableCell tCell1 = new TableCell();         TableCell tCell2 = new TableCell();         TableCell tCell3 = new TableCell();         TableCell tCell4 = new TableCell();         TableCell tCell5 = new TableCell();         TableCell tCell6 = new TableCell();         TableCell tCell7 = new TableCell();          TextBox txt1 = new TextBox();         TextBox txt2 = new TextBox();         TextBox txt3 = new TextBox();         TextBox txt4 = new TextBox();         TextBox txt5 = new TextBox();         TextBox txt6 = new TextBox();         TextBox txt7 = new TextBox();          tCell1.Controls.Add(txt1);         tCell2.Controls.Add(txt2);         tCell3.Controls.Add(txt3);         tCell4.Controls.Add(txt4);         tCell5.Controls.Add(txt5);         tCell6.Controls.Add(txt6);         tCell7.Controls.Add(txt7);          tRow.Cells.Add(tCell1);         tRow.Cells.Add(tCell2);         tRow.Cells.Add(tCell3);         tRow.Cells.Add(tCell4);         tRow.Cells.Add(tCell5);         tRow.Cells.Add(tCell6);         tRow.Cells.Add(tCell7);   As you can see there's basically 4 instructions getting repeated 7 times. I'm sure there has to be a way to accomplish this with just 4 lines of code within a FOR loop and having all the names dynamically assigned but I just can't seem to find anything that would point me in the direction of how to do it.  Something like the following is what I'm after:      for (int i = 0; i &lt; 6; i++)     {          TableCell tCell[i] = new TableCell();         TextBox txt[i] = new TextBox();         tCell[i].Controls.Add(txt[i]);         tRow.Cells.Add(tCell[i]);      }    Any help would be much appreciated.
27140
This is a problem I've ran into several times, and I imagine that others have ran across it too.    Basically, I have a complicated equation, and I want the user to type in the values needed to calculate the results.  (For what it's worth, there are good default values for the variables in the equation.)  I've constructed a GUI that shows the user the names of the variables/fields that need to be provided, along with a control (like a numeric up/down, slider, etc.) to enter the values of the field.  Below that, I have an area that shows the output of the equation.  So my question is this.  Should my results area automatically change the calculated results whenever the user makes any changes to any of the input fields, or should they push a "Calculate" button to generate the results?  One other thing that probably applies is that the user is not trying to "get the right answer" out of the results.  They shouldn't be using the output to then go back and modify the input to get a better answer.  Are there any benefits to requiring the button press?  Is the extra click to see the results worth those benefits?
37681
This code works correctly:  \documentclass{article} \usepackage{tikz} \usetikzlibrary{positioning,calc} \begin{document}  \begin{tikzpicture}   \tikzset{     every picture/.prefix style={       execute at begin picture=\shorthandoff{;}     }   }   \def\names{{"1", "2"}}   \foreach \i in {0,1} {%     \ifnum\i=0\relax       \node (\i) [draw] {\pgfmathparse{\names[\i]}\pgfmathresult};     \else       \pgfmathparse{int(\i-1)}       \node (\i) [draw,right= 1cm of \pgfmathresult]             {\pgfmathparse{\names[\i]}\pgfmathresult};       \draw[dotted] ($(\pgfmathresult.south east) !.5! (\i.south west)$)             -- +(0,1cm);   \fi } \end{tikzpicture} \end{document}   But when I add  \usepackage[utf8]{inputenc} \usepackage[german]{babel}   to the preamble, it starts giving an error:  ! Argument of \language@active@arg" has an extra }. &lt;inserted text&gt;                  \par  l.25 }   the same for russian. It is somehow related to the quotes in the array:   \def\names{{"1", "2"}}   I tried the tricks, shown here for the french, but they don't work.
99333
All the code boxes are appearing as 1 line to me. This:  #include &lt;stdio.h&gt;  int main() {     printf("Hello, world!\n");     return 0; }   Appears thus:  #include &lt;stdio.h&gt;  int main() {     printf("Hello, world!\n");     return 0; }   ...which is making the longer code posts harder to read. Someone posted a binary search tree, which was just impossible to read like that.  It appears correct in the preview as I write this.  Firefox 3.6.3, Gentoo Linux 2.6.32  Edit: To clarify: The correct version (with newlines) appears briefly on both Stack Overflow and Meta, but as soon as syntax highlighting is applied (which is almost instantly), then it collapses to 1 line.  This applies to the editor in the "edit question" part, but it seems to be a bit lazier about applying syntax highlighting. (It seems to do it when the box you type in loses focus, so as I'm typing this, it appears correctly, with no syntax highlighting, and when I un-focus the text area, a few moments later, it syntax highlights and collapses to 1 line.)
37170
My little brother is just getting into programming, and for his Science Fair project, he's doing a simulation of a flock of birds in the sky. He's gotten most of his code written, and it works nicely, but the birds need to move every moment.  Tkinter, however, hogs the time for its own event loop, and so his code won't run. Doing root.mainloop() runs, runs, and keeps running, and the only thing it runs is the event handlers.  Is there a way to have his code run alongside the mainloop (without multithreading, it's confusing and this should be kept simple), and if so, what is it?  Right now, he came up with an ugly hack, tying his move() function to &lt;b1-motion&gt;, so that as long as he holds the button down and wiggles the mouse, it works. But there's got to be a better way.
53903
I was thinking about how to implement game states into my game. The main things I want for it are:   Semi-transparent top states-being able to see through a pause menu to the game behind Something OO-I find this easier to use and understand the theory behind, as well as keeping orgranised and adding more to.    I was planning on using a linked list, and treat it as a stack. This means I could access the state below for the semi-transparency.  Plan: Have the state stack be a linked list of pointers to IGameStates. The top state handles its own update and input commands, and then has a member isTransparent to decide whether the state underneath should be drawn.  Then I could do:  states.push_back(new MainMenuState()); states.push_back(new OptionsMenuState()); states.pop_front();   To represent the player loading, then going to options, and then main menu.  Is this a good idea, or...? Should I look at something else?   Thanks.