<?xml version="1.0" encoding="utf-8"  ?>
<rss version="2.0">
	<channel>
		<title>Programmazione 2 2009/10 &gt; Altro materiale &gt; MiniTetris</title>
		<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2009Programmazione2&amp;section=122&amp;page=474</link>
		<description></description>
		<lastBuildDate>Fri, 24 Feb 2023 04:28:13 +0100</lastBuildDate>
		<generator>Segue RSS Generator</generator>
		<item>
			<title>MiniTetris</title>
			<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2009Programmazione2&amp;section=122&amp;page=474&amp;story=1056&amp;detail=1056</link>
			<guid isPermaLink="true">http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2009Programmazione2&amp;section=122&amp;page=474&amp;story=1056&amp;detail=1056</guid>
			<pubDate>Wed, 5 May 2010 21:36:00 +0200</pubDate>
			<author>Marco Ronchetti marco.ronchetti@unitn.it</author>
<description>package minitetris;&lt;br /&gt;import javax.swing.*;&lt;br /&gt;import java.awt.*;&lt;br /&gt;public class MiniTetris extends JFrame{&lt;br /&gt;&lt;br /&gt;&amp;nbsp; public static void main(String[ ] a){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; new MiniTetris();&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; public MiniTetris() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setSize(400,400);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.centerInScreen();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // fai in modo che la chiusura della finestra&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // termini l&#039;applicazione&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setLayout(new BorderLayout());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Brick b=new Brick();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MainPanel mp=new MainPanel(b);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.add(mp,BorderLayout.CENTER);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ControlPanel cp= new ControlPanel(b);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.add(cp,BorderLayout.SOUTH);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // rendi la finestra visibile&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.validate();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setVisible(true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Animator a=new Animator(b,mp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; private void centerInScreen() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // trova le dimensioni dello schermo e della finestra&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dimension screenSize =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Toolkit.getDefaultToolkit().getScreenSize();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dimension frameSize = this.getSize();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // assicurati che la finestra non sia pi&amp;ugrave; grande dello schermo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (frameSize.height &amp;gt; screenSize.height)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; frameSize.height = screenSize.height;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (frameSize.width &amp;gt; screenSize.width)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; frameSize.width = screenSize.width;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // centra la finestra nello schermo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setLocation((screenSize.width - frameSize.width) / 2,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; (screenSize.height - frameSize.height) / 2);&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}</description>
		</item>
		<item>
			<title>MainPanel</title>
			<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2009Programmazione2&amp;section=122&amp;page=474&amp;story=1057&amp;detail=1057</link>
			<guid isPermaLink="true">http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2009Programmazione2&amp;section=122&amp;page=474&amp;story=1057&amp;detail=1057</guid>
			<pubDate>Wed, 5 May 2010 21:36:00 +0200</pubDate>
			<author>Marco Ronchetti marco.ronchetti@unitn.it</author>
<description>package minitetris;&lt;br /&gt;&lt;br /&gt;import java.awt.Color;&lt;br /&gt;import java.awt.Graphics;&lt;br /&gt;import javax.swing.JPanel;&lt;br /&gt;&lt;br /&gt;public class MainPanel extends JPanel{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Color bgColor=Color.GRAY;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Brick brick=null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MainPanel(Brick b){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.brick=b;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void paintComponent(Graphics g){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super.paintComponent(g);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setBackground(bgColor);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; brick.draw(g);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}</description>
		</item>
		<item>
			<title>ControlPanel</title>
			<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2009Programmazione2&amp;section=122&amp;page=474&amp;story=1058&amp;detail=1058</link>
			<guid isPermaLink="true">http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2009Programmazione2&amp;section=122&amp;page=474&amp;story=1058&amp;detail=1058</guid>
			<pubDate>Wed, 5 May 2010 21:37:00 +0200</pubDate>
			<author>Marco Ronchetti marco.ronchetti@unitn.it</author>
<description>package minitetris;&lt;br /&gt;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;import java.awt.event.ActionListener;&lt;br /&gt;import javax.swing.JButton;&lt;br /&gt;import javax.swing.JPanel;&lt;br /&gt;&lt;br /&gt;public class ControlPanel extends JPanel implements ActionListener{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Brick brick=null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; final int UP_STEP=-20;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ControlPanel(Brick b){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; brick=b;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JButton jb=new JButton(&amp;quot;UP&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.add(jb);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jb.addActionListener(this);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.validate();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void actionPerformed(ActionEvent e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; brick.verticalMove(UP_STEP);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}</description>
		</item>
		<item>
			<title>Brick</title>
			<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2009Programmazione2&amp;section=122&amp;page=474&amp;story=1059&amp;detail=1059</link>
			<guid isPermaLink="true">http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2009Programmazione2&amp;section=122&amp;page=474&amp;story=1059&amp;detail=1059</guid>
			<pubDate>Wed, 5 May 2010 21:37:00 +0200</pubDate>
			<author>Marco Ronchetti marco.ronchetti@unitn.it</author>
<description>&lt;br /&gt;package minitetris;&lt;br /&gt;import java.awt.Color;&lt;br /&gt;import java.awt.Dimension;&lt;br /&gt;import java.awt.Graphics;&lt;br /&gt;import java.awt.Point;&lt;br /&gt;&lt;br /&gt;public class Brick {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dimension size;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Point position;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Color color=Color.RED;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Graphics g=null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Brick(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; size=new Dimension(50,80);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; position=new Point(100,100);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void verticalMove(int dy){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; position.y+=dy;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void draw(Graphics g){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g.setColor(color);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g.fillRect(position.x, position.y, size.width, size.height);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}</description>
		</item>
		<item>
			<title>Animator</title>
			<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2009Programmazione2&amp;section=122&amp;page=474&amp;story=1060&amp;detail=1060</link>
			<guid isPermaLink="true">http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2009Programmazione2&amp;section=122&amp;page=474&amp;story=1060&amp;detail=1060</guid>
			<pubDate>Wed, 5 May 2010 21:38:00 +0200</pubDate>
			<author>Marco Ronchetti marco.ronchetti@unitn.it</author>
<description>package minitetris;&lt;br /&gt;&lt;br /&gt;import java.awt.Graphics;&lt;br /&gt;public class Animator extends Thread {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Brick brick=null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; final int PAUSE=50;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; final int DY=1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Graphics g=null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MainPanel p=null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Animator(Brick brick,MainPanel p) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.brick=brick;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.p=p;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void run() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (true) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thread.sleep(PAUSE);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (InterruptedException ex) {}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; brick.verticalMove(DY);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p.repaint();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}</description>
		</item>
	</channel>
</rss>