2016-12-15 1 views
-1

Mon nom est John et je suis en train de faire jeu incrémental de base en C# WFAJeu incrémental C#

J'ai réussi à faire le bouton cliquable qui ajoute de la valeur à mon argent bouton cliquable qui mise à niveau de la valeur, diminuer mon argent par prix et augmenter le prix (Si j'ai assez d'argent) sinon juste afficher messagebox

Je veux ajouter le ralenti comme l'argent par seconde, mais être toujours capable d'utiliser des boutons SO- everysecond x argent sera ajouté et je peux encore utiliser les boutons même quand ce n'est pas nécessaire

Code:

using System; 
    using System.Windows.Forms; 

    namespace WindowsFormsApplication1 
    { 
public partial class Form1 : Form 
{ 
    public void Ref() 
    { 
     lbl_Money.Text = money.ToString(); 
     lbl_PerTap.Text = upgrade.ToString(); 
     lbl_Price.Text = price.ToString(); 
    } 

    int money = 0;    
    int upgrade = 1;   
    int price = 64;    

    public Form1() 
    { 
     InitializeComponent(); 
     Ref(); 
    } 

    private void Tap_Clicked(object sender, EventArgs e) 
    { 
     money += upgrade; 
     Ref(); 
    } 

    private void Upgrade_Clicked(object sender, EventArgs e) 
    { 
     if(money >= price) 
     { //Ano 
      upgrade += 1; 
      money -= price; 
      price += (price/16); 
     } 
     else 
     { //NE 
      MessageBox.Show("Not Enough Money!"); 
     } 
     Ref(); 
    } 


} 

Répondre

1

Une minuterie de base (fixer en fonction de vos besoins):

Ajouter ce dans la classe:

System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer() { Interval = 1000 }; 

et ce dans le constructeur:

timer.Tick += Timer_Tick; 
timer.Start(); 

Et ce aussi dans la classe:

private void Timer_Tick(object sender, EventArgs e) 
{ 
    money += upgrade; 
} 
+0

merci c'était :) – Kenedian