Dice Roller App
Main.dart // 1st file
import 'package:flutter/material.dart';
import 'HomePage.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Dice Roller',
debugShowCheckedModeBanner: false,
theme: ThemeData(primarySwatch: Colors.yellow),
home: HomePage(),
);
}
}
HomePage.dart // 2nd file
import 'package:flutter/material.dart';
import 'dart:math';
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
AssetImage one = AssetImage("images/one.png");
AssetImage two = AssetImage("images/two.png");
AssetImage three = AssetImage("images/three.png");
AssetImage four = AssetImage("images/four.png");
AssetImage five = AssetImage("images/five.png");
AssetImage six = AssetImage("images/six.png");
AssetImage diceimage = AssetImage("images/one.png");
@override
void initState() {
super.initState();
setState(() {
diceimage = one;
});
}
void rollDice() {
int rnd = (1 + Random().nextInt(6));
AssetImage newimage = one;
switch (rnd) {
case 1:
newimage = one;
break;
case 2:
newimage = two;
break;
case 3:
newimage = three;
break;
case 4:
newimage = four;
break;
case 5:
newimage = five;
break;
case 6:
newimage = six;
break;
}
setState(() {
diceimage = newimage;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Dice Roller'),
),
body: Container(
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Image(
image: diceimage,
width: 200.0,
height: 200.0,
),
Container(
margin: EdgeInsets.only(top: 100.0),
child: RaisedButton(
color: Colors.yellow,
padding: EdgeInsets.fromLTRB(30.0, 15.0, 30.0, 15.0),
child: Text('Roll'),
onPressed: rollDice,
),
),
],
),
),
),
);
}
}
OUTPUT
Comments
Post a Comment