Sortie basée sur Java sur l'encapsulation de base de C # faite dans le passé
Différences entre les modificateurs d'accès public et privé (il y en a d'autres, mais ces deux sont recommandés pour les débutants) Cela dépend si vous voulez le rendre "accessible" ou "inaccessible"
Rendre visibles uniquement les fonctions que vous souhaitez utiliser
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SampleRPG
{
class Program
{
static void Main(string[] args)
{
Player player = new Player("Takashi", 500);
player.Hp -= 2000;
Console.WriteLine("HP est" + player.Hp);
}
}
}
Player.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SampleRPG
{
class Player
{
//Déclarer une variable de membre privé
private string name;
private int hp;
//Ci-dessous, nous définissons les constructeurs publics et les méthodes membres
public Player(string name, int hp)
{
this.name = name;
this.hp = hp;
}
public int Hp
{
set //Définir les éléments traités
{
this.hp = value;
if (this.hp < 0)
{
this.hp = 0;
}
}
get
{
return this.hp; //Obtenez la puissance actuelle
}
}
public String Name
{
set //Définir les éléments traités
{
this.name = value;
if (value.Length < 8)
{
this.name = value;
}
}
get
{
return this.name; //Obtenir le nom actuel
}
}
/*public void SetName(string name)
{
if (name != null)
{
int len = name.Length;
if (len <= 8)
{
this.name = name;
}
}
}
public string GetName()
{
return this.name;
}*/
public void Attack()
{
Console.WriteLine(this.name + "Attaqué");
}
public void Defense()
{
Console.WriteLine(this.name + "Défendu");
}
}
}
Supplément 1
Bien qu'il soit basique, c'est le même que java, et la valeur actuelle est acquise (get) par le getter et acquise par le setter (set) pour traitement.
Contrairement à "JAVA", "C #" a un mécanisme appelé propriétés. Les getters et les setters peuvent être simplifiés.
public int Hp
{
set
{
this.hp = value;
if (this.hp < 0)
{
this.hp = 0;
}
}
get
{
return this.hp;
}
}
Supplément 2
mot-clé statique
Les membres statiques sont des valeurs appartenant à des situations de classe et ne peuvent pas être référencés une fois attachés.
Supplément 3
Appelez le constructeur de votre classe
public Person(string name,int age):this(name)
{
}
Q Créez une classe Monkey et implémentez le traitement suivant à partir de la classe MonkeyApp. (Toute accessibilité peut être publique) [Exemple d'exécution] Choisissez un nom curieux:> Toshi Décidez de l'âge des curieux:> 3 Que voulez-vous que Curious fasse? 1 ... Salutation, 2 ... Takema, 3 ... Debout, 4 ... Fin> 1 Bonjour, je m'appelle Toshi (3 ans). Ravi de vous rencontrer! Que voulez-vous que Curious fasse? 1 ... salutation, 2 ... Takema, 3 ... à l'envers, 4 ... fin> 2 Toshi a bien monté le cheval de bambou! Que voulez-vous que Curious fasse? 1 ... salutation, 2 ... Takema, 3 ... à l'envers, 4 ... fin> 3 Toshi s'est retourné! Que voulez-vous que Curious fasse? 1 ... salutation, 2 ... Takema, 3 ... à l'envers, 4 ... fin> 4 Quittez l'application.
Monkey.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MonkeyApp
{
class Monkey
{
public String name;
public int age;
public Monkey()
{
}
public void Info()
{
Console.WriteLine(this.name);
Console.WriteLine(this.age);
}
public void reverse()
{
Console.WriteLine("Bonjour+" + this.name + "(" + this.name + ")est. Ravi de vous rencontrer!");
}
public void Take()
{
Console.WriteLine(this.name + "Habilement monté sur Takeuma!");
}
public void Defense()
{
Console.WriteLine(this.name + "Je me suis retrouvé à l'envers!");
}
public void Lust()
{
Console.WriteLine("Quittez l'application.");
}
}
}
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MonkeyApp
{
class Program
{
static void Main(string[] args)
{
Monkey monkey1 = new Monkey();
Console.Write("Veuillez décider du nom du curieux> ");
monkey1.name = Console.ReadLine();
Console.Write("Quel est votre nom?: ");
monkey1.age = int.Parse(Console.ReadLine());
Console.Write("Que voulez-vous qu'Aosaru fasse? 1 ... salutation, 2 ... Takema, 3 ... à l'envers, 4 ... fin>");
var select = int.Parse(Console.ReadLine());
switch (select)
{
case 1:
monkey1.reverse();
break;
case 2:
monkey1.Take();
break;
case 3:
monkey1.Defense();
break;
case 4:
monkey1.Lust();
break;
}
}
}
}
//Monkey.cs
Monkey monkey1 = new Monkey();
//Program.cs
public Monkey(){}
J'aurais dû voir et décrire cela dans "Java Beans" plusieurs fois ...
Exercice 1 (Il est difficile de penser à une personne dans le passé sans penser à la ramification sans penser à la personne qui le résout.)
Q1 Créez une classe Human et réalisez le traitement suivant à partir de la classe HumanApp. (Toute accessibilité peut être publique)
[Exemple d'exécution 1] Quel est votre poids actuel? :> 70 Quel est votre poids cible? :> 50 Combien de kilomètres parcourez-vous aujourd'hui pour atteindre votre objectif? 1… 10 km, 2… 20 km, 3… 30 km, 4… informations actuelles, 5… fin> 1 J'ai perdu 1kg! Faisons de notre mieux dans cette condition! Combien de kilomètres parcourez-vous aujourd'hui pour atteindre votre objectif? 1… 10 km, 2… 20 km, 3… 30 km, 4… informations actuelles, 5… fin> 2 J'ai perdu 5 kg! Faisons de notre mieux dans cette condition! Combien de kilomètres parcourez-vous aujourd'hui pour atteindre votre objectif? 1… 10 km, 2… 20 km, 3… 30 km, 4… informations actuelles, 5… fin> 3 J'ai perdu 10 kg! Faisons de notre mieux dans cette condition! Combien de kilomètres parcourez-vous aujourd'hui pour atteindre votre objectif? 1… 10 km, 2… 20 km, 3… 30 km, 4… informations actuelles, 5… fin> 4 Je suis mince de 16 kg! 4kg restants! faisons de notre mieux! Combien de kilomètres parcourez-vous aujourd'hui pour atteindre votre objectif? 1… 10 km, 2… 20 km, 3… 30 km, 4… informations actuelles, 5… fin> 3 Objectif atteint! Félicitations! [Exemple d'exécution 2] Combien de kilomètres parcourez-vous aujourd'hui pour atteindre votre objectif? 1… 10 km, 2… 20 km, 3… 30 km, 4… informations actuelles, 5… fin> 5 Quittez l'application.
Exercice 2
Préparez deux jeux de cartes à jouer (54 au total) contenant des nombres de 1 à 13 et deux jokers. Tirez au hasard deux jeux de cartes à jouer et réalisez le processus de sortie lorsque les deux sont tirés avec le même numéro. "conditions" 1 Vous pouvez dessiner jusqu'à 5 fois 2 Si l'un des deux tire le joker, le nombre qui peut être tiré augmente de 1. 3 Si vous piochez tous les jokers, vous perdez et le jeu s'arrête là. Cependant, le nombre de cartes tirées diminuera. L'exemple A 3 a été dessiné Nul 4 Pardon
L'exemple B 1 a été dessiné J'ai dessiné un joker Le nombre de fois que je peux dessiner a augmenté de un
L'exemple C 5 a été dessiné Nul 5 Félicitations pour votre succès Exemple D Dessiner un joker J'ai dessiné un joker Vous perdez le jeu se termine Exemple E: Si vous ne pouvez pas fermer en 5 fois Vous perdez le jeu se termine
<détails> Q1 Program.cs Human.cs Q2 Program.cs Je dois améliorer mes connaissancesusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sano
{
class Program
{
static void Main(string[] args)
{
Console.Write("Quel est votre poids actuel?");
int now = int.Parse(Console.ReadLine());
Console.Write("Quel est votre poids cible?");
int goal = int.Parse(Console.ReadLine());
Human h1 = new Human(now,goal,now);
while (true)
{
Console.Write("Combien de kilomètres parcourez-vous aujourd'hui pour atteindre votre objectif? 1 ... 10km, 2 ... 20km, 3 ... 30km, 4 ... informations actuelles, 5 ... fin>");
var select = int.Parse(Console.ReadLine());
switch (select)
{
case 1:
h1.Run10();
break;
case 2:
h1.Run20();
break;
case 3:
h1.Run30();
break;
case 4:
h1.ShowInfo();
break;
case 5:
h1.End();
return;
}
if (h1.GoalWeight >= h1.NowWeight)
{
Console.WriteLine("Atteinte de l'objectif Félicitation!");
break;
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sano
{
class Human
{
public int NowWeight { get; set; }
public int GoalWeight { get; set; }
public int Weight { get; set; }
public Human(int weight, int weight2, int weight3)
{
this.NowWeight = weight;
this.GoalWeight = weight2;
this.Weight = weight3;
}
public void Run10()
{
NowWeight--;
if (GoalWeight < NowWeight)
{
Console.WriteLine("J'ai perdu 1kg! Faisons de notre mieux dans cette condition!");
}
}
public void Run20()
{
NowWeight -= 5;
if (GoalWeight < NowWeight)
{
Console.WriteLine("J'ai perdu 5 kg! Faisons de notre mieux dans cette condition!");
}
}
public void Run30()
{
NowWeight -= 10;
if (GoalWeight < NowWeight)
{
Console.WriteLine("J'ai perdu 10 kg! Faisons de notre mieux dans cette condition!");
}
}
public void ShowInfo()
{
Console.WriteLine($"{Weight - NowWeight}kg je suis mince! restant{(NowWeight - GoalWeight)}kg! faisons de notre mieux!");
}
public void End()
{
Console.WriteLine("Quittez l'application");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Nagasawa {
class Program {
const int MAX_TURN = 5;
static void Main(string[] args) {
Deck d1 = new Deck();
Deck d2 = new Deck();
for(int i = 0; i < MAX_TURN; i++) {
string c1 = d1.Draw();
string c2 = d2.Draw();
if (c1 == c2) {
Console.WriteLine("Félicitations pour votre succès");
return;
}else if(c1=="Joker" && c2 == "Joker") {
Console.WriteLine("Vous perdez le jeu se termine");
return;
}
else if(c1=="Joker" || c2 == "Joker") {
Console.WriteLine("Le nombre de fois que je peux dessiner a augmenté de un");
i--;
} else {
Console.WriteLine("Pardon");
}
Console.ReadLine();
}
Console.WriteLine("Vous perdez le jeu se termine");
}
}
public class Deck {
public List<string> Cards { get; set; }
public Deck() {
CreateDeck();
}
public void CreateDeck() {
var temp = new List<string>();
for (int i = 0; i < 54; i++) {
if (i < 52) {
temp.Add( i % 13 + 1 + "");
} else {
temp.Add( "Joker");
}
}
Cards = temp.OrderBy(i => Guid.NewGuid()).ToList();
}
public string Draw() {
var card = Cards[0];
Console.WriteLine(card + "Fut dessiné");
Cards.RemoveAt(0);
return card;
}
}
}