開発環境
- OS: Windows 10 Pro
- IDE(統合開発環境): Visual Studio Community 2017
Head First C# ―頭とからだで覚えるC#の基本 (Andrew Stellman (著)、Jennifer Greene (著)、佐藤 嘉一 (監修, 監修)、木下 哲也 (翻訳)、オライリージャパン)の3章(オブジェクト指向になる! - わかりやすいコードにする)、エクササイズ(p. 117)を取り組んでみる。
コード
MainPage.xaml
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:App1" x:Class="App1.MainPage"> <StackLayout> <!-- Place new controls here --> <!-- <Label Text="Welcome to Xamarin.Forms!" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" /> --> <Label x:Name="joesCash"/> <Label x:Name="bobsCash" /> <Label x:Name="bankCash" /> <Button x:Name="button1" Text="ジョーに1000円渡す" Clicked="button1_Clicked"/> <Button x:Name="button2" Text="ボブから500円受け取る" Clicked="button2_Clicked"/> <Button x:Name="joeGivesToBob" Text="ジョーがボブに1000円渡す" Clicked="joeGivesToBob_Clicked"/> <Button x:Name="bobGivesToJoe" Text="ボブがジョーに500円渡す" Clicked="bobGivesToJoe_Clicked"/> </StackLayout> </ContentPage>
MainPage.xaml.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; namespace App1 { public partial class MainPage : ContentPage { Guy joe; Guy bob; int bank = 10000; public MainPage() { InitializeComponent(); joe = new Guy() { name = "ジョー", cash = 5000 }; bob = new Guy() { name = "ボブ", cash = 10000 }; UpdatePage(); } public void UpdatePage() { joesCash.Text = joe.name + "の所持金は" + joe.cash + "円"; bobsCash.Text = bob.name + "の所持金は" + bob.cash + "円"; bankCash.Text = "銀行の所持金は" + bank + "円"; } private void button1_Clicked(object sender, EventArgs e) { if (bank >= 1000) { bank -= joe.ReceiveCash(1000); UpdatePage(); } else { DisplayAlert("", "銀行にお金がありません", "OK"); } } private void button2_Clicked(object sender, EventArgs e) { bank += bob.GiveCash(500); UpdatePage(); } private void joeGivesToBob_Clicked(object sender, EventArgs e) { bob.ReceiveCash(joe.GiveCash(1000)); UpdatePage(); } private void bobGivesToJoe_Clicked(object sender, EventArgs e) { joe.ReceiveCash(bob.GiveCash(500)); UpdatePage(); } } }
App.xaml
<?xml version="1.0" encoding="utf-8" ?> <Application xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="App1.App"> <Application.Resources> </Application.Resources> </Application>
App.xaml.cs
using System; using Xamarin.Forms; using Xamarin.Forms.Xaml; [assembly: XamlCompilation (XamlCompilationOptions.Compile)] namespace App1 { public partial class App : Application { public App () { InitializeComponent(); // MainPage = new MainPage(); MainPage = new NavigationPage( new MainPage()) { Title = "ジョーとボブで遊ぼう" }; } protected override void OnStart () { // Handle when your app starts } protected override void OnSleep () { // Handle when your app sleeps } protected override void OnResume () { // Handle when your app resumes } } }
0 コメント:
コメントを投稿