Java-basierte Ausgabe über die grundlegende Kapselung von C # in der Vergangenheit
Unterschiede zwischen Zugriffsmodifikatoren öffentlich und praivate (Es gibt andere, aber diese beiden werden Anfängern empfohlen) Es hängt davon ab, ob Sie es "zugänglich" oder "unzugänglich" machen möchten.
Machen Sie nur die Funktionen sichtbar, die Sie verwenden möchten
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 ist" + player.Hp);
}
}
}
Player.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SampleRPG
{
class Player
{
//Deklarieren Sie eine private Mitgliedsvariable
private string name;
private int hp;
//Im Folgenden definieren wir öffentliche Konstruktoren und Member-Methoden
public Player(string name, int hp)
{
this.name = name;
this.hp = hp;
}
public int Hp
{
set //Verarbeitete Artikel einstellen
{
this.hp = value;
if (this.hp < 0)
{
this.hp = 0;
}
}
get
{
return this.hp; //Holen Sie sich aktuelle PS
}
}
public String Name
{
set //Verarbeitete Artikel einstellen
{
this.name = value;
if (value.Length < 8)
{
this.name = value;
}
}
get
{
return this.name; //Aktuellen Namen abrufen
}
}
/*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 + "Angegriffen");
}
public void Defense()
{
Console.WriteLine(this.name + "Verteidigt");
}
}
}
Ergänzung 1
Obwohl es einfach ist, ist es dasselbe wie Java, und der aktuelle Wert wird vom Getter erfasst (get) und vom Setter (set) zur Verarbeitung erfasst.
Im Gegensatz zu "JAVA" verfügt "C #" über einen Mechanismus namens "Eigenschaften". Getter und Setter können vereinfacht werden.
public int Hp
{
set
{
this.hp = value;
if (this.hp < 0)
{
this.hp = 0;
}
}
get
{
return this.hp;
}
}
Ergänzung 2
statisches Schlüsselwort
Statische Elemente sind Werte, die zu Klassensituationen gehören und nach dem Anhängen nicht mehr referenziert werden können.
Ergänzung 3
Rufen Sie den Konstruktor Ihrer Klasse auf
public Person(string name,int age):this(name)
{
}
Q Erstellen Sie eine Monkey-Klasse und implementieren Sie die folgende Verarbeitung aus der MonkeyApp-Klasse. (Alle Zugänglichkeit kann öffentlich sein) [Ausführungsbeispiel] Entscheide dich für einen merkwürdigen Namen:> Toshi Entscheide dich für das Alter der Neugierigen:> 3 Was soll Curious tun? 1 ... Gruß, 2 ... Takema, 3 ... Aufstehen, 4 ... Ende> 1 Hallo, ich heiße Toshi (3 Jahre alt). Freut mich, dich kennenzulernen! Was soll Curious tun? 1 ... Begrüßung, 2 ... Takema, 3 ... verkehrt herum, 4 ... Ende> 2 Toshi stieg gut auf das Bambuspferd! Was soll Curious tun? 1 ... Begrüßung, 2 ... Takema, 3 ... verkehrt herum, 4 ... Ende> 3 Toshi hat sich auf den Kopf gestellt! Was soll Curious tun? 1 ... Begrüßung, 2 ... Takema, 3 ... verkehrt herum, 4 ... Ende> 4 Beenden Sie die Anwendung.
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("Hallo+" + this.name + "(" + this.name + ")ist. Freut mich, dich kennenzulernen!");
}
public void Take()
{
Console.WriteLine(this.name + "Geschickt auf Takeuma!");
}
public void Defense()
{
Console.WriteLine(this.name + "Ich stand zufällig auf dem Kopf!");
}
public void Lust()
{
Console.WriteLine("Beenden Sie die Anwendung.");
}
}
}
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("Bitte entscheiden Sie den Namen des Neugierigen> ");
monkey1.name = Console.ReadLine();
Console.Write("Wie heißen Sie?: ");
monkey1.age = int.Parse(Console.ReadLine());
Console.Write("Was soll Aosaru tun? 1 ... Begrüßung, 2 ... Takema, 3 ... verkehrt herum, 4 ... Ende>");
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(){}
Ich hätte das viele Male in "Java Beans" sehen und beschreiben sollen ...
Übung 1 (Es ist schwierig, an eine Person in der Vergangenheit zu denken, ohne an eine Verzweigung zu denken, ohne an die Person zu denken, die sie löst.)
Q1 Erstellen Sie eine Human-Klasse und realisieren Sie die folgende Verarbeitung aus der HumanApp-Klasse. (Alle Zugänglichkeit kann öffentlich sein)
[Ausführungsbeispiel 1] was ist dein momentanes Gewicht? :> 70 Was ist Ihr Zielgewicht? :> 50 Wie viele Kilometer laufen Sie heute, um Ihr Ziel zu erreichen? 1… 10 km, 2… 20 km, 3… 30 km, 4… aktuelle Informationen, 5… Ende> 1 Ich habe 1 kg verloren! Lassen Sie uns in diesem Zustand unser Bestes geben! Wie viele Kilometer laufen Sie heute, um Ihr Ziel zu erreichen? 1… 10 km, 2… 20 km, 3… 30 km, 4… aktuelle Informationen, 5… Ende> 2 Ich habe 5 kg verloren! Lassen Sie uns in diesem Zustand unser Bestes geben! Wie viele Kilometer laufen Sie heute, um Ihr Ziel zu erreichen? 1… 10 km, 2… 20 km, 3… 30 km, 4… aktuelle Informationen, 5… Ende> 3 Ich habe 10 kg verloren! Lassen Sie uns in diesem Zustand unser Bestes geben! Wie viele Kilometer laufen Sie heute, um Ihr Ziel zu erreichen? 1… 10 km, 2… 20 km, 3… 30 km, 4… aktuelle Informationen, 5… Ende> 4 Ich bin 16 kg dünn! 4kg übrig! geben wir unser Bestes! Wie viele Kilometer laufen Sie heute, um Ihr Ziel zu erreichen? 1… 10 km, 2… 20 km, 3… 30 km, 4… aktuelle Informationen, 5… Ende> 3 Das Ziel erreicht! Glückwunsch! [Ausführungsbeispiel 2] Wie viele Kilometer laufen Sie heute, um Ihr Ziel zu erreichen? 1… 10 km, 2… 20 km, 3… 30 km, 4… aktuelle Informationen, 5… Ende> 5 Beenden Sie die Anwendung.
Übung 2
Bereiten Sie zwei Kartensätze (insgesamt 54) mit Zahlen von 1 bis 13 und zwei Joker vor. Realisieren Sie den Vorgang des Herausziehens, wenn zwei Spielkartensätze zufällig gezogen werden und für beide dieselbe Zahl gezogen wird. "Bedingungen" 1 Sie können bis zu 5 Mal zeichnen 2 Wenn einer der beiden den Joker zieht, erhöht sich die Zahl, die gezogen werden kann, um 1. 3 Wenn Sie alle Joker ziehen, verlieren Sie und das Spiel endet dort. Die Anzahl der gezogenen Karten nimmt jedoch ab. Beispiel A 3 wurde gezeichnet Zeichne 4 Es tut uns leid
Beispiel B 1 wurde gezeichnet Ich habe einen Joker gezeichnet Die Häufigkeit, mit der ich zeichnen kann, hat sich um eins erhöht
Beispiel C 5 wurde gezeichnet Zeichne 5 Glückwunsch zu deinem Erfolg Beispiel D Zeichnen Sie einen Joker Ich habe einen Joker gezeichnet Sie verlieren das Spiel endet Beispiel E: Wenn Sie nicht fünfmal schließen können Sie verlieren das Spiel endet
Q1
Program.cs
using 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("was ist dein momentanes Gewicht?");
int now = int.Parse(Console.ReadLine());
Console.Write("Was ist Ihr Zielgewicht?");
int goal = int.Parse(Console.ReadLine());
Human h1 = new Human(now,goal,now);
while (true)
{
Console.Write("Wie viele Kilometer laufen Sie heute, um Ihr Ziel zu erreichen? 1 ... 10 km, 2 ... 20 km, 3 ... 30 km, 4 ... aktuelle Informationen, 5 ... Ende>");
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("Zielerreichung Glückwunsch!");
break;
}
}
}
}
}
Human.cs
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("Ich habe 1 kg verloren! Lassen Sie uns in diesem Zustand unser Bestes geben!");
}
}
public void Run20()
{
NowWeight -= 5;
if (GoalWeight < NowWeight)
{
Console.WriteLine("Ich habe 5 kg verloren! Lassen Sie uns in diesem Zustand unser Bestes geben!");
}
}
public void Run30()
{
NowWeight -= 10;
if (GoalWeight < NowWeight)
{
Console.WriteLine("Ich habe 10 kg verloren! Lassen Sie uns in diesem Zustand unser Bestes geben!");
}
}
public void ShowInfo()
{
Console.WriteLine($"{Weight - NowWeight}kg Ich bin dünn! verbleibend{(NowWeight - GoalWeight)}Es ist kg! geben wir unser Bestes!");
}
public void End()
{
Console.WriteLine("Beenden Sie die Anwendung");
}
}
}
Q2
Program.cs
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("Glückwunsch zu deinem Erfolg");
return;
}else if(c1=="Joker" && c2 == "Joker") {
Console.WriteLine("Sie verlieren das Spiel endet");
return;
}
else if(c1=="Joker" || c2 == "Joker") {
Console.WriteLine("Die Häufigkeit, mit der ich zeichnen kann, hat sich um eins erhöht");
i--;
} else {
Console.WriteLine("Es tut uns leid");
}
Console.ReadLine();
}
Console.WriteLine("Sie verlieren das Spiel endet");
}
}
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 + "Wurde gezogen");
Cards.RemoveAt(0);
return card;
}
}
}
Ich muss mein Wissen verbessern