This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pragma solidity ^0.5.5; | |
import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; | |
contract Ethermon is ERC721 { | |
struct Monster { | |
string name; | |
uint level; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Author: Alex Roan | |
pragma solidity ^0.5.5; | |
import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; | |
import "@openzeppelin/contracts/ownership/Ownable.sol"; | |
// TennisPlayer ERC721 Token | |
contract TennisPlayerBase is ERC721, Ownable { | |
// Player information |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Author: Alex Roan | |
pragma solidity ^0.5.5; | |
import "./TennisPlayerBase.sol"; | |
import "@openzeppelin/contracts/math/SafeMath.sol"; | |
import "@openzeppelin/contracts/utils/SafeCast.sol"; | |
contract TrainableTennisPlayer is TennisPlayerBase { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Author: Alex Roan | |
pragma solidity ^0.5.5; | |
import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; | |
import "@openzeppelin/contracts/ownership/Ownable.sol"; | |
import "@openzeppelin/contracts/math/SafeMath.sol"; | |
import "@openzeppelin/contracts/utils/SafeCast.sol"; | |
// TennisPlayer ERC721 Token | |
contract TennisPlayerBase is ERC721, Ownable { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Author: Alex Roan | |
pragma solidity ^0.5.5; | |
import "./TennisPlayerBase.sol"; | |
contract TrainableTennisPlayer is TennisPlayerBase { | |
// TODO - xp costs to change depending on current attribute level? | |
// Training costs |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Author: Alex Roan | |
pragma solidity ^0.5.5; | |
import "./TennisPlayerBase.sol"; | |
import "@openzeppelin/contracts/math/SafeMath.sol"; | |
import "@openzeppelin/contracts/utils/SafeCast.sol"; | |
contract CompetingTennisPlayer is TennisPlayerBase { | |
using SafeMath for uint; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Author: Alex Roan | |
pragma solidity ^0.5.5; | |
import "./CompetingTennisPlayer.sol"; | |
import "./TrainableTennisPlayer.sol"; | |
contract TennisPlayer is CompetingTennisPlayer, TrainableTennisPlayer { | |
function myPlayers() public view returns (uint[] memory) { | |
return _tokensOfOwner(msg.sender); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Author: Alex Roan | |
pragma solidity ^0.5.5; | |
import "./TennisPlayer.sol"; | |
import "@openzeppelin/contracts/ownership/Ownable.sol"; | |
contract Game is Ownable { | |
address public playerTokenAddress; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, {Component} from 'react'; | |
import {connect} from 'react-redux'; | |
import { tennisPlayerSelector, accountLoadedSelector, gameLoadedSelector, tennisPlayerLoadedSelector, accountSelector, ownedPlayersSelector, newPlayerNameSelector, newPlayerAgeSelector, newPlayerHeightSelector, gameSelector } from './redux/selectors'; | |
import { newPlayerNameChange, newPlayerAgeChange, newPlayerHeightChange} from "./redux/actions"; | |
import { createNewPlayer, loadSelectedPlayer } from './redux/interactions'; | |
const playerSelected = (props, id) => { | |
console.log(id); | |
const {dispatch, tennisPlayer} = props; | |
loadSelectedPlayer(dispatch, tennisPlayer, id); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, {Component} from 'react'; | |
import {connect} from 'react-redux'; | |
import { selectedPlayerDetailsSelector } from './redux/selectors'; | |
const getPlayerDetails = (props) => { | |
const {playerDetails} = props; | |
return ( | |
<ul className="list-group list-group-flush"> | |
<li key="xp" className="list-group-item">{playerDetails.xp}</li> | |
<li key="name" className="list-group-item">{playerDetails.name}</li> |