Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-02-2003, 15:25   #1
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Giochino per voi

EHm...non avevo molto da fare oggi al lavoro

Quanti punti riuscite a fare??
Se interessa posto anche il codice java.

Nuova versione col codice di cionci!
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2003, 17:44   #2
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Ecco il mio record!
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2003, 18:14   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Assasssssinoooo !!! :o Non riesco a smettere di giocarci

Per ora sono arrivato a 39...già lì se te ne tocca uno sul bordo è finita !!!
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2003, 19:39   #4
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Dai che dopo 32 mele mangiate la velocità si blocca (vedi output della console java ) Il record attuale è di 59 fatto da un mio amico
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2003, 19:40   #5
Louder Than Hell
Senior Member
 
L'Avatar di Louder Than Hell
 
Iscritto dal: Nov 2002
Città: Cagliari
Messaggi: 844
eeh..cavolo che invidia voi vi mettete a fare giochi quando non avete niente da fare tanto per..........


__________________
Non ho paura dei computer, ma della loro eventuale mancanza. (Asimov)
Una delle principali cause della caduta dell'Impero Romano fu che, privi dello zero, non avevano un modo per indicare la corretta terminazione dei loro programmi C. (Firth)
Louder Than Hell è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2003, 19:47   #6
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Mi ripago delle 40 ore di straordinario fatte il mese scorso...
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2003, 21:38   #7
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19148
carino dai :-)

dimenticavo, io ho fatto 32 punti ma ci ho giocato solo un paio di volte
se metti il codice java modifico qualcosa e lo rallento un attimo perché diventa veramente troppo veloce poi...
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2003, 22:48   #8
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Si lo scopo era proprio quello di commentare il codice e migliorarlo Anche la mela, non mi piace quadrata! DOmani lo posto.
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 07-02-2003, 09:21   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
C'è un bug...se la mela appare sotto il serpente resta un po' bruttina
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-02-2003, 09:24   #10
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Ecco il codice... la classe java.awt.Graphics2D permetterebbe di usare "effetti" grafici migliori, ma la Microsoft JVM non supporta il jdk 1.2 (Brava Microsoft! :mad)

E' sicuramente migliorabile, possiamo divertirci a farlo se volete!


Codice:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.awt.Graphics;
//import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Event;

public class Snake extends Applet implements Runnable{

	static final int rows = 15;
	static final int columns = 25;
	
	static final Font font = new Font("Arial",Font.BOLD, 12);
  
  boolean gioco = false, mangiato=false, gioco2=false, playing=false;
  int size, hsize=0, speed=200;

  Point[] posizioni = new Point[374];

  int direzione = 0;  // 0 - destra
			                // 1 - sinistra
			                // 2 - su
			                // 3 - giù

  Point mela = new Point(12,7);

  Thread runner;

  public void init() {
  	
  	System.out.println("Init applet -> keyEvent added");
  	
  	KeyListener keyListener = new KeyAdapter() {
     
			public void keyPressed(KeyEvent keyEvent) {
					
			 
			 int key = keyEvent.getKeyCode();
			 //System.out.println("Key Pressed : "+ key);
			         
			 if(key == KeyEvent.VK_RIGHT && posizioni[1].x!=posizioni[0].x+1) { direzione=0; gioco=true; playing=true;  }
			 else if(key == KeyEvent.VK_LEFT && posizioni[1].x!=posizioni[0].x-1) { direzione=1; gioco=true; playing=true;  }
			 else if(key == KeyEvent.VK_UP && posizioni[1].y!=posizioni[0].y-1) { direzione=2; gioco=true; playing=true;  }
			 else if(key == KeyEvent.VK_DOWN && posizioni[1].y!=posizioni[0].y+1) { direzione=3; gioco=true; playing=true;  }
			 else if(key == KeyEvent.VK_ESCAPE) 
			   playing=false;
      
      }
		};
  	
  	addKeyListener(keyListener);
  	
    size=3;

    for(int i=0; i<374; i++)
     posizioni[i] = new Point(0,0);

    posizioni[0].move(3,rows);
    posizioni[1].move(2,rows);
    posizioni[2].move(1,rows);          
  }

  public void start() {
    if(runner==null) {
    	runner = new Thread(this);
      runner.start();
     }
  }

  public void stop() {
    runner = null;
  }

  public void run() {
          
    Thread thisThread = Thread.currentThread();
    while (thisThread == runner){
    
     // Il gioco finisce se si sbatte contro il muro oppure ci si morde la coda
     for(int i=5; i<size; i++)
       if(posizioni[0].x == posizioni[i].x && posizioni[0].y == posizioni[i].y)
          gioco2 = true;

     if(( (gioco2) || (direzione==0 && posizioni[0].x==columns) 
     		|| (direzione==1 && posizioni[0].x==1) || (direzione==2 && posizioni[0].y==1) 
     			|| (direzione==3 && posizioni[0].y==rows))) {
            // risetta gli start points
         gioco = false;
         gioco2 = false;
         if(size>hsize) hsize=size;
         size=3;
         posizioni[2].move(1,rows);
         posizioni[1].move(2,rows);
         posizioni[0].move(3,rows);
         mela.move(12,7);
     }

     repaint();
     
          	
     try{
      
     //setta la velocità del serpente.
       	Thread.sleep(speed);      
     }
     catch(InterruptedException e) { }

    }
  }

  public void update(Graphics g) {
  				
  	//Graphics2D g = (Graphics2D)g1;
  	
  	//g.setBackground(Color.black);
  			
  	g.setColor(Color.red);
    g.fill3DRect(mela.x*20-20,mela.y*20-20,19,19,false);
    if(gioco)     {
			g.setColor(Color.blue);
      if(posizioni[0].x==mela.x && posizioni[0].y==mela.y) {
        mangiato=true;
        size++;
        
        g.clearRect(0,0,getSize().width,12);
      }
      // Disegna la nuova posizione e cancella quella vecchia

      g.clearRect(posizioni[size-1].x*20-20,posizioni[size-1].y*20-20,21,21);

      if(posizioni[size-1].x == mela.x && posizioni[size-1].y == mela.y)
       	g.drawRoundRect(mela.x*20-20,mela.y*20-20,19,19,19,19);
              

      if(playing) {
      	for(int i=size; i>0; i--)
        	posizioni[i].move(posizioni[i-1].x, posizioni[i-1].y);

	      switch(direzione) {
	      	case 0: posizioni[0].x = posizioni[0].x+1; break;
	        case 1: posizioni[0].x = posizioni[0].x-1; break;
	        case 2: posizioni[0].y = posizioni[0].y-1; break;
	        case 3: posizioni[0].y = posizioni[0].y+1; break;
	      }
      }

      // Controllo se la mela è stata mangiata
      									
      for(int i=0; i<size; i++)                  				
      	g.fillOval(posizioni[i].x*20-20,posizioni[i].y*20-20,20,20);
              
      if(mangiato) {
      	mangiato = false;
        g.clearRect(mela.x*20-20,mela.y*20-20,21,21);
        mela.x=(int)(Math.random()*24+1);
        mela.y=(int)(Math.random()*14+1);
        //g.drawRoundRect(mela.x*20-20,mela.y*20-20,19,19,19,19);
        g.setColor(Color.red);
        g.fill3DRect(mela.x*20-20,mela.y*20-20,19,19,false);
        if (speed >= 50){
        	speed -=5;
        	System.out.println("curr speed: "+ speed);
        }	
                
      }        
     }
     else {
     	// Pulisci schermo e inizializza gli oggetti
      g.clearRect(0,0,getSize().width,getSize().height);
			
			g.setColor(Color.blue);
      for(int i=0; i<size; i++)
              g.fillOval(posizioni[i].x*20-20,posizioni[i].y*20-20,20,20);
			g.setColor(Color.red);
      //g.drawRect(mela.x*20-20,mela.y*20-20,19,19);
      g.fill3DRect(mela.x*20-20,mela.y*20-20,19,19,false);
      speed = 200;
      
     }
     g.setFont(font);
     g.setColor(Color.magenta);
     g.drawString("Punteggio: "+ (size -3) + (hsize == 0 ? "" : ("           Miglior Punteggio: "+ (hsize-3))) ,10,10);    
          
          
  } 			

}
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 07-02-2003, 09:25   #11
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Quote:
Originally posted by "cionci"

C'è un bug...se la mela appare sotto il serpente resta un po' bruttina
Hai ragione! Chi lo risolve??
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 10-02-2003, 18:43   #12
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19148
io proprio non ho tempo in sti giorni :-(
in ogni caso la mela non dovrebbe proprio comparire sotto il serpente, almeno nello snake dei nokia non è così...
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2003, 00:33   #13
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originally posted by "cn73"



Hai ragione! Chi lo risolve??
Non e' la soluzione + bella del mondo, ma dovrebbe ri-randomizzare il punto della mela se ne viene beccato uno dove c'e' gia' il serpente.
Va' al posto dei 2 random che generano un punto a caso per la nuova mela...il repeat until io l'ho scritto in C, e' uguale in Java che non lo so?

Codice:
do
{
	int flag=0;

	mela.x=(int)(Math.random()*24+1); 
	mela.y=(int)(Math.random()*14+1);

	for (int i=0; i<size; i++)
		if ((mela.x==posizioni[i].x) && (mela.y==posizioni[i].y))
			flag=1;

} while (flag==1);
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 13-02-2003, 10:13   #14
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Oh scusa me l'ero persa!
Si e è la soluzione + semplice, ma secondo me si può fare qualcosa di meglio
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 13-02-2003, 10:31   #15
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originally posted by "cn73"

Si e è la soluzione + semplice, ma secondo me si può fare qualcosa di meglio
In teoria (lo so ceh è contro le leggi della probabilità), con un ciclod el genere potrebbe looppare infinitamente (Murphy docet)...
Quindi è meglio non prendere nuovamente numeri casuali, ma fare la ricerca di una posizione libera...ad esempio spostandosi in diagonale fino a quando non si trova una posizione libera...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-02-2003, 10:47   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Una cosa del genere direi...
Codice:
mela.x=(int)(Math.random()*24+1); 
mela.y=(int)(Math.random()*14+1);
do
{
	int flag = 0;
	for (int i=0; i<size && !flag; i++)
		if ((mela.x==posizioni[i].x) && (mela.y==posizioni[i].y))
			flag=1;

	if(flag)
	{
		mela.x = (mela.x % 24) + 1;
		mela.y = (mela.y % 14) + 1;
	}
} while (flag);
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-02-2003, 10:49   #17
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Se non lo becca al primo colpo va' in loop quel codice...
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 13-02-2003, 11:01   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originally posted by "Cimmo"

Se non lo becca al primo colpo va' in loop quel codice...
Dettagli...avevo tolto "int flag=0" dal ciclo...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-02-2003, 12:06   #19
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Questo è un ottimo metodo...per altro esaustivo...
Codice:
	int startx = mela.x=(int)(Math.random()*24+1); 
	int starty = mela.y=(int)(Math.random()*14+1); 
	const int szx = 24, szy = 14;
	
	do {
		int flag = 0; 
		for (int i=0; i<size && !flag; i++) 
			if ((mela.x==posizioni[i].x) && (mela.y==posizioni[i].y)) 
				flag=1; 
		if(flag)
		{
			mela.x--;
			mela.y++;
			if(mela.x < 1 || mela.y > szy)
			{
				int z = mela.x + mela.y + 1;
				if(z > (szx+szy))
				{
					mela.x = 1;
					mela.y = 1;
				}
				else if(z > szx)
				{
					mela.x = szx;
					mela.y = z - mela.x;
				}
				else
				{
					mela.y = 1;
					mela.x = z - 1;
				}
			}
			if(startx == mela.x && starty == mela.y)
				throw //una eccezione
		}
	}while(flag);
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-02-2003, 12:07   #20
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
HAi ragione coinci...anche se è praticamente impossibile (un po' come vincere al supoerenalotto ogni settimana 2 volte per tutta la vita ) non conviene usare quel codice... Il tuo sistema mi pare il migliore... Ma senti qua: ipotizziamo che nello schermo non esstano celle libere
cn73 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
Cloud sovrano: l'approccio di Broadcom c...
HONOR conferma l'arrivo in Italia di Mag...
La Cina sotto pressione impone maniglie ...
OpenAI integra le app in ChatGPT per tra...
NVIDIA sarebbe pronta a tagliare la prod...
Prezzo minimo storico per iPhone 16 Pro:...
Riot Games scopre una falla nei BIOS che...
Beats in super offerta su Amazon: aurico...
Batterie elettriche, Samsung SDI e Stell...
Clivet presenta Fullness, la pompa di ca...
SpaceX lancerà 167 razzi spaziali...
Yakuza Kiwami 3 e Dark Ties protagonisti...
Privacy a rischio: ecco la VPN che regis...
SpaceX ha annunciato che un satellite St...
ASUSTOR presenta i nuovi NAS Lockerstor ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:43.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v