2018年6月29日金曜日

開発環境

Head First C# ―頭とからだで覚えるC#の基本 (Andrew Stellman (著)、Jennifer Greene (著)、佐藤 嘉一 (監修, 監修)、木下 哲也 (翻訳)、オライリージャパン)の3章(オブジェクト指向になる! - わかりやすいコードにする)、エクササイズ(p. 113)を取り組んでみる。

コード

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"/>
    </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();
            joe.name = "ジョー";
            joe.cash = 5000;
            bob = new Guy();
            bob.name = "ボブ";
            bob.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();
        }
    }
}

0 コメント:

コメントを投稿