CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java] Casse Brique, léger soucis

CodeurDeNuit
CodeurDeNuit
Niveau 8
17 février 2019 à 13:08:46

Bonjour.

Actuellement en IUT, je fais des petits jeux pour progresser, j'ai donc décidé de m'attaquer au casse brique.

Je précise que je viens à peine de débuter ce projet, donc il n'y a presque rien d'implémenter.

J'ai deux problèmes:

  • Je n'arrive pas à empêcher la création de brique au delà d'un certain seuil max sur les x (qui est égal à la largeur de la fenêtre - la taille d'une brique).
  • Second soucis: j'aimerai, si possible, que lorsqu'une brique est plus grande que le seuil max, la brique soit créé en dessous de la première rangée de brique modulo le dépassement de ma brique par rapport au seuil max, pour faire un peu de diversité au niveau des alignements.

Voici mon code actuel, je précise encore une fois, il s'agit d'un stade assez peu avancé, je taf que depuis 1h30 sur ce projet, dont une bonne demie-heure juste pour la conception sur papier.

package maF;



import processing.core.PApplet;

public class FenetrePrincipale extends PApplet{

	/* *** Zone des variables *** */

	//Définit la taille du joueur
	int tailleJoueur = 80;

	//Position X du joueur
	int x = 360;


	//Définition de la taille de la fenêtre
	public void settings()
	{
		size(800, 600);
	}

	//Définition du nombre d'image par seconde
	public void setup() 
	{
		frameRate(60);

		//Définition du titre de la fenêtre
		surface.setTitle("Jeu de Casse-Brique");
	}

	//Création de la brique du joueur
	public void briqueJoueur()
	{
		//Couleur du joueur
		fill(255,0,0);
		//Position et dimension du joueur
		rect(x, 550, tailleJoueur, 25);
	}

	//Création des différentes briques à détruire
	public void brique()
	{
		//On définit une variable de départ 
		int px = 80;
		int pxM = width - 80;
		int py = 50;

		//Boucle pour la création d'un nombre n de brique
		for(int i = 0; i < 30; i++)
		{
			if(px > pxM)
			{
				//Si les briques sur l'axe X dépasse la zone max, alors les briques descendents d'un cran

				//On fait chuter de n en y les briques
				px = 100;
				py += 25;
			}

			//Couleur des briques
			fill(100, (50 + (10 *i) % 100) % 255, (10 + (i * 37) % 30) % 255);
			//On dessine les briques
			rect(px, py, tailleJoueur, 25);
			//On incrémente de 90 chaque brique
			px += 90;								
		}
	}

	//Methode qui permet de dessiner le jeu
	public void draw()
	{
		//Fond de la fenêtre
		background(255);
		briqueJoueur();
		brique();
	}

	//Methode de déplacement du joueur
	public void keyPressed()
	{
		//Quand j'appuie sur la touche q, le joueur par sur la gauche
		if(key == 'q' || key == 'Q')
			x -= 15;

		//Quand j'appuie sur la touche d, le joueur par sur la droite
		if(key == 'd' || key == 'D')
			x += 15;
	}

	public static void main(String [] args)
	{	
		PApplet.main("maF.FenetrePrincipale");
	}
}

Je travail, pour l'affichage graphique, sur le framework processing, qui me permet de faire des fenêtres rapidement.

Cordialement.

Lapintade
Lapintade
Niveau 30
18 février 2019 à 07:31:11

Hello
Je peux te conseiller d'utiliser des constante pour decrire par exemple la largeur d'une brique. Ici tu utilises parfois 80, et parfois 90 (et quand tu change de ligne, tu commence a 100 alors qu'au depart tu commences a 80). Il n'y a pas de coherence. Si tu utilise par exemple une constante BRIQUELARGEUR a 80, tu pourra avoir un code plus propre. Tu peux aussi utiliser une variable si la largeur de tes briques peut variere d'un niveau a l'autre.
Sinon ton code pour placer tes briques semble correct, il peut juste yavoir des effets de bord (et un probleme pour la premiere ligne qui commence a 80 et les autres qui commence a 100).
Je pense qu'il faut poser sur papier a nouveau la facon dont tu veux generer tes briques et ensuite y aller etape par etape. 1 ligne, 2 lignes, tout l'ecran. Ainsi tu pourra controller chaque soucis de limites sur les X et les Y.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware